{"version":3,"sources":["../../src/bookings-catalog-search-v1-catalog-search-catalog-search.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const QueryServicesByFiltersRequest = z.object({\n  options: z\n    .object({\n      query: z\n        .intersection(\n          z.object({\n            filter: z\n              .record(z.string(), z.any())\n              .describe(\n                'Filter object in the following format:\\n`\"filter\" : {\\n\"fieldName1\": \"value1\",\\n\"fieldName2\":{\"$operator\":\"value2\"}\\n}`\\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`'\n              )\n              .optional()\n              .nullable(),\n            sort: z\n              .array(\n                z.object({\n                  fieldName: z\n                    .string()\n                    .describe('Name of the field to sort by.')\n                    .max(512)\n                    .optional(),\n                  order: z.enum(['ASC', 'DESC']).optional(),\n                })\n              )\n              .max(5)\n              .optional(),\n          }),\n          z.xor([\n            z.object({ cursorPaging: z.never().optional() }),\n            z.object({\n              cursorPaging: z\n                .object({\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items to return in the results.'\n                    )\n                    .min(0)\n                    .max(50)\n                    .optional()\n                    .nullable(),\n                  cursor: z\n                    .string()\n                    .describe(\n                      \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                    )\n                    .max(16000)\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  'Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.'\n                ),\n            }),\n          ])\n        )\n        .describe(\n          'Query against the service catalog: WQL filter, sort, and cursor paging.\\n\\nDefault: `query.cursorPaging.limit` is `10`.'\n        )\n        .optional(),\n      serviceFilters: z\n        .object({\n          localStartDate: z\n            .string()\n            .describe(\n              'Start of the availability window (ISO local date-time, e.g. \"2024-03-25T09:00:00\").\\nMust be provided together with `localEndDate`, and must be strictly before it.'\n            )\n            .optional()\n            .nullable(),\n          localEndDate: z\n            .string()\n            .describe(\n              'End of the availability window (ISO local date-time, e.g. \"2024-03-25T17:00:00\").\\nMust be provided together with `localStartDate`.\\nA whole-day end may be expressed as the next day\\'s \"00:00:00\" (exclusive) or as any time at or\\nafter \"23:59:00\" on the same day (inclusive); both mean \"through the end of that day\".\\nA window is treated as whole days only when it starts at \"00:00:00\" and ends on a day boundary;\\nany other window is an hour window and is matched as such, even when it crosses midnight\\n(such as \"09:00\" one day to \"09:00\" the next).'\n            )\n            .optional()\n            .nullable(),\n          timeZone: z\n            .string()\n            .describe(\n              'IANA time zone identifier (e.g. \"America/New_York\") used to interpret the availability window.\\nOptional; when omitted, the site\\'s business time zone is used.'\n            )\n            .max(100)\n            .optional()\n            .nullable(),\n          exactMatch: z\n            .boolean()\n            .describe(\n              'Controls how strictly the availability window must be satisfied. Interpreted by window shape:\\n- Sub-day hour window, true: bookable for the exact hour range, matched to the minute.\\n- Sub-day hour window, false (default): at least one bookable slot within the window.\\n- A single full day: bookable that day (any slot).\\n- Multiple days, true: bookable on every day in the range.\\n- Multiple days, false (default): at least one bookable slot anywhere in the range.\\nHour-based and day-based services (those configured with a booking duration range) refine this:\\na single day is matched as a whole (any slot counts), sub-day hour windows still respect `exactMatch`,\\nand an exact multi-day window returns no results for hour-based services.'\n            )\n            .optional()\n            .nullable(),\n          locationIds: z.array(z.string()).max(100).optional(),\n          attributes: z\n            .array(\n              z.intersection(\n                z.object({\n                  attributeId: z\n                    .string()\n                    .describe('ID of the attribute definition to filter by.')\n                    .regex(\n                      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                      'Must be a valid GUID'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    enumValue: z.never().optional(),\n                    numberRangeValue: z.never().optional(),\n                    boolValue: z.never().optional(),\n                    numberValues: z.never().optional(),\n                  }),\n                  z.object({\n                    numberRangeValue: z.never().optional(),\n                    boolValue: z.never().optional(),\n                    numberValues: z.never().optional(),\n                    enumValue: z\n                      .string()\n                      .describe(\n                        \"Exact enum value to match. Must be in the attribute's EnumConfig.allowed_values.\"\n                      )\n                      .max(40),\n                  }),\n                  z.object({\n                    enumValue: z.never().optional(),\n                    boolValue: z.never().optional(),\n                    numberValues: z.never().optional(),\n                    numberRangeValue: z\n                      .object({\n                        min: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum value (inclusive). If absent, no lower bound is applied.'\n                          )\n                          .optional()\n                          .nullable(),\n                        max: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum value (inclusive). If absent, no upper bound is applied.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe(\n                        'Inclusive number range to match. At least one bound must be present; min must not exceed max.\\nTo match an exact number, set min and max to the same value.'\n                      ),\n                  }),\n                  z.object({\n                    enumValue: z.never().optional(),\n                    numberRangeValue: z.never().optional(),\n                    numberValues: z.never().optional(),\n                    boolValue: z\n                      .boolean()\n                      .describe('Exact boolean value to match.'),\n                  }),\n                  z.object({\n                    enumValue: z.never().optional(),\n                    numberRangeValue: z.never().optional(),\n                    boolValue: z.never().optional(),\n                    numberValues: z\n                      .object({\n                        values: z.array(z.number().int()).max(10).optional(),\n                      })\n                      .describe(\n                        'Discrete set of numbers to match. At least one value must be present.\\nA resource matches if its stored number equals any value in the set.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .max(10)\n            .optional(),\n          resourceTypes: z.array(z.string()).max(10).optional(),\n          includeUnavailable: z\n            .boolean()\n            .describe(\n              'When true, unavailable services are included in the response with `available` set to `false`.\\nWhen absent or false, only available services are returned.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Availability and resource constraints applied on top of the service query.\\nWhen absent, no availability check is performed and all pre-filtered services are returned.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const QueryServicesByFiltersResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        service: z\n          .object({\n            _id: z\n              .string()\n              .describe('Service ID.')\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            appId: z\n              .string()\n              .describe(\n                'ID of the app associated with the service. You can\\'t update `appId`.\\nServices are displayed in Wix Bookings only if they are associated with the Wix Bookings appId or have no associated app ID.\\nDefault: `13d21c63-b5ec-5912-8397-c3a5ddb27a97` (Wix Bookings app ID)\\nFor services from Wix apps, the following values apply:\\n- Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n- Wix Services: `\"cc552162-24a4-45e0-9695-230c4931ef40\"`\\n- Wix Meetings: `\"6646a75c-2027-4f49-976c-58f3d713ed0f\"`.<!-- [Scheduling Form Fields](https://dev.wix.com/docs/api-reference/business-solutions/bookings/about-scheduling-form-fields) services also use this app ID. Use `createdByAppId` to distinguish between Wix Meetings and Scheduling Form Fields services.-->\\n[Full list of apps created by Wix](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/platform/about-apps-created-by-wix).\\n<!-- TODO: Uncomment when Platform docs are published - Learn more about [app identity in the Bookings Platform](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings-platform/app-identity-in-the-bookings-platform). -->'\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            createdByAppId: z\n              .string()\n              .describe(\n                \"ID of the app that created the service. This field is used for analytics, auditing, and tracking creation sources.\\nThis read-only field is automatically populated during service creation by checking these sources in order:\\n1. The caller's App ID from the request identity context.\\n2. The service's `appId` field.\\n3. The Wix Bookings App ID (`13d21c63-b5ec-5912-8397-c3a5ddb27a97`) as the final fallback.\\n<!-- TODO: Uncomment when Platform docs are published - Learn more about [app identity in the Bookings Platform](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings-platform/app-identity-in-the-bookings-platform). -->\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['APPOINTMENT', 'CLASS', 'COURSE'])\n              .describe(\n                'Service type.\\nLearn more about [service types](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-types).'\n              )\n              .optional(),\n            sortOrder: z\n              .number()\n              .int()\n              .describe(\n                'Order of the service within a [category](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v1/category-object).'\n              )\n              .optional()\n              .nullable(),\n            name: z\n              .string()\n              .describe('Service name.')\n              .max(400)\n              .min(1)\n              .optional()\n              .nullable(),\n            description: z\n              .string()\n              .describe(\n                'Service description. For example, `High-class hair styling, cuts, straightening and color`.'\n              )\n              .max(7000)\n              .optional()\n              .nullable(),\n            tagLine: z\n              .string()\n              .describe('Short service description, such as `Hair styling`.')\n              .max(6000)\n              .optional()\n              .nullable(),\n            defaultCapacity: z\n              .number()\n              .int()\n              .describe(\n                'Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity.'\n              )\n              .min(1)\n              .max(1000)\n              .optional()\n              .nullable(),\n            media: z\n              .object({\n                items: z\n                  .array(\n                    z.intersection(\n                      z.object({}),\n                      z.xor([\n                        z.object({ image: z.never().optional() }),\n                        z.object({\n                          image: z\n                            .string()\n                            .describe(\n                              'Details of the image associated with the service, such as URL and size.'\n                            ),\n                        }),\n                      ])\n                    )\n                  )\n                  .max(100)\n                  .optional(),\n                mainMedia: z\n                  .intersection(\n                    z.object({}),\n                    z.xor([\n                      z.object({ image: z.never().optional() }),\n                      z.object({\n                        image: z\n                          .string()\n                          .describe(\n                            'Details of the image associated with the service, such as URL and size.'\n                          ),\n                      }),\n                    ])\n                  )\n                  .describe('Primary media associated with the service.')\n                  .optional(),\n                coverMedia: z\n                  .intersection(\n                    z.object({}),\n                    z.xor([\n                      z.object({ image: z.never().optional() }),\n                      z.object({\n                        image: z\n                          .string()\n                          .describe(\n                            'Details of the image associated with the service, such as URL and size.'\n                          ),\n                      }),\n                    ])\n                  )\n                  .describe('Cover media associated with the service.')\n                  .optional(),\n              })\n              .describe('Media associated with the service.')\n              .optional(),\n            hidden: z\n              .boolean()\n              .describe(\n                'Whether the service is hidden from Wix Bookings pages and widgets.'\n              )\n              .optional()\n              .nullable(),\n            category: z\n              .object({\n                _id: z\n                  .string()\n                  .describe('Category ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional(),\n                name: z\n                  .string()\n                  .describe('Category name.')\n                  .max(500)\n                  .optional()\n                  .nullable(),\n                sortOrder: z\n                  .number()\n                  .int()\n                  .describe('Order of a category within a category list.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\n                \"[Category](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v2/introduction)\\nthe service is associated with. Services aren't automatically assigned to a category.\\nWithout an associated category, the service isn't visible on the live site.\"\n              )\n              .optional(),\n            form: z\n              .object({\n                _id: z\n                  .string()\n                  .describe(\n                    'ID of the form associated with the service.\\nThe form information that you submit when booking includes contact details, participants, and other form fields set up for the service.\\nYou can manage the service booking form fields using the Bookings Forms API.'\n                  )\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Form the customer filled out when booking the service.'\n              )\n              .optional(),\n            payment: z\n              .intersection(\n                z.object({\n                  rateType: z\n                    .enum([\n                      'FIXED',\n                      'CUSTOM',\n                      'VARIED',\n                      'NO_FEE',\n                      'SUBSCRIPTION',\n                    ])\n                    .describe(\n                      'The rate the customer is expected to pay for the service.'\n                    )\n                    .optional(),\n                  options: z\n                    .object({\n                      online: z\n                        .boolean()\n                        .describe(\n                          'Customers can pay for the service online.\\nWhen `true`:\\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\\n\\nRequired when: `rateType` is `SUBSCRIPTION`.\\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online).'\n                        )\n                        .optional()\n                        .nullable(),\n                      inPerson: z\n                        .boolean()\n                        .describe(\n                          'Customers can pay for the service in person.'\n                        )\n                        .optional()\n                        .nullable(),\n                      deposit: z\n                        .boolean()\n                        .describe(\n                          'This service requires a deposit to be made online in order to book it.\\nWhen `true`:\\n+ `rateType` must be `VARIED` or `FIXED`.\\n+ A `deposit` must be specified.\\n+ `online` must be `true`.\\n+ `inPerson` must be `false`.'\n                        )\n                        .optional()\n                        .nullable(),\n                      pricingPlan: z\n                        .boolean()\n                        .describe(\n                          'Whether customers can pay for the service using a pricing plan.\\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments).'\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe(\n                      'The payment options a customer can use to pay for the service.'\n                    )\n                    .optional(),\n                  pricingPlanIds: z.array(z.string()).max(75).optional(),\n                  addOnOption: z\n                    .enum(['ONLINE', 'IN_PERSON'])\n                    .describe(\n                      'How customers can pay for add-ons when paying for the related booking with a [pricing plan](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/introduction).\\nIf customers pay for the booking using any method other than a pricing plan, the value of this field is ignored.'\n                    )\n                    .optional(),\n                  discountInfo: z\n                    .object({\n                      discountName: z\n                        .string()\n                        .describe(\n                          'Name of the discount. For example, `Summer Sale - 20% Off`.'\n                        )\n                        .min(1)\n                        .max(50)\n                        .optional(),\n                      priceAfterDiscount: z\n                        .object({\n                          value: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                            )\n                            .optional(),\n                          currency: z\n                            .string()\n                            .describe(\n                              'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                            )\n                            .optional(),\n                          formattedValue: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                            )\n                            .max(50)\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Estimated price after applying the discount. The final price is determined at checkout and may differ when additional discounts are applied or rules are re-evaluated with complete booking information.\\n\\nNot returned when the discount depends on booking or cart context, for example a discount that applies to a service only when booked together with another service, or when the discount requires information only available at checkout.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      \"Estimated discount information for the service based on active [eCommerce discounts](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/discounts/introduction).\\nThe final discount is determined during eCommerce checkout and may differ from the estimate,\\nfor example when discounts depend on cart totals.\\n\\nA discount is considered active when its start time has passed and its end time hasn't.\\nIf multiple active discounts apply, the most recently created one is returned.\\n\\nReturned only when `DISCOUNT_INFO_DETAILS` is requested.\"\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    fixed: z.never().optional(),\n                    custom: z.never().optional(),\n                    varied: z.never().optional(),\n                    subscription: z.never().optional(),\n                  }),\n                  z.object({\n                    custom: z.never().optional(),\n                    varied: z.never().optional(),\n                    subscription: z.never().optional(),\n                    fixed: z\n                      .object({\n                        price: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The fixed price required to book the service.\\n\\nRequired when: `rateType` is `FIXED`'\n                          )\n                          .optional(),\n                        deposit: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The deposit price required to book the service.\\n\\nRequired when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`'\n                          )\n                          .optional(),\n                        fullUpfrontPaymentAllowed: z\n                          .boolean()\n                          .describe(\n                            'Whether customers can choose to pay the full service price upfront instead of only the deposit.\\n\\nUsed only when a `deposit` amount is set.\\n\\nDefault: `false`.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe(\n                        'The details for the fixed price of the service.\\n\\nRequired when: `rateType` is `FIXED`'\n                      ),\n                  }),\n                  z.object({\n                    fixed: z.never().optional(),\n                    varied: z.never().optional(),\n                    subscription: z.never().optional(),\n                    custom: z\n                      .object({\n                        description: z\n                          .string()\n                          .describe(\n                            'A custom description explaining to the customer how to pay for the service.'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe(\n                        'The details for the custom price of the service.\\n\\nRequired when: `rateType` is `CUSTOM`'\n                      ),\n                  }),\n                  z.object({\n                    fixed: z.never().optional(),\n                    custom: z.never().optional(),\n                    subscription: z.never().optional(),\n                    varied: z\n                      .object({\n                        defaultPrice: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The default price for the service without any variants. It will also be used as the default price for any new variant.'\n                          )\n                          .optional(),\n                        deposit: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The deposit price required to book the service.\\n\\nRequired when: `rateType` is `VARIED` and `paymentOptions.deposit` is `true`'\n                          )\n                          .optional(),\n                        minPrice: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The minimal price a customer may pay for this service, based on its variants.'\n                          )\n                          .optional(),\n                        maxPrice: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'The maximum price a customer may pay for this service, based on its variants.'\n                          )\n                          .optional(),\n                        fullUpfrontPaymentAllowed: z\n                          .boolean()\n                          .describe(\n                            'Whether customers can choose to pay the full service price upfront instead of only the deposit.\\n\\nUsed only when a `deposit` amount is set.\\n\\nDefault: `false`.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe(\n                        'The details for the varied pricing of the service.\\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\\n\\nRequired when: `rateType` is `VARIED`'\n                      ),\n                  }),\n                  z.object({\n                    fixed: z.never().optional(),\n                    custom: z.never().optional(),\n                    varied: z.never().optional(),\n                    subscription: z\n                      .object({\n                        amountPerBillingCycle: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe(\n                            'Base price charged per billing cycle before tax and discounts.\\nThe actual amount charged may differ after checkout applies tax and discounts.'\n                          )\n                          .optional(),\n                        frequency: z\n                          .enum(['MONTHLY'])\n                          .describe(\n                            \"Billing frequency for recurring subscription charges.\\nReflected as `billingFrequency` in the booking's subscription info.\\n\\nCurrently supports `MONTHLY` only.\"\n                          )\n                          .optional(),\n                        totalPayments: z\n                          .number()\n                          .int()\n                          .describe(\n                            \"Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\\nReflected as `totalCycles` in the booking's subscription info.\\n\\nRequired when: `rateType` is `SUBSCRIPTION`.\"\n                          )\n                          .min(2)\n                          .optional()\n                          .nullable(),\n                        firstChargeDate: z\n                          .enum(['CHECKOUT', 'SCHEDULED'])\n                          .describe(\n                            'Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule.'\n                          )\n                          .optional(),\n                        recurringStartDate: z\n                          .date()\n                          .describe(\n                            'Date and time when recurring billing starts.\\n\\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\\n\\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\\n\\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\\n\\nRequired when: `rateType` is `SUBSCRIPTION`.'\n                          )\n                          .optional()\n                          .nullable(),\n                        enrollmentFeeAmount: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                              )\n                              .max(50)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Deprecated.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Subscription pricing details for the service. Supported for course services only.\\nThe business charges recurring monthly payments instead of a one-time fee.\\n\\nRequired when: `rateType` is `SUBSCRIPTION`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Payment options for booking the service.\\nLearn more about [service payments](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-payments).'\n              )\n              .optional(),\n            onlineBooking: z\n              .object({\n                enabled: z\n                  .boolean()\n                  .describe(\n                    'Whether the service can be booked online.\\nWhen set to `true`, customers can book the service online. Configure the payment options via the `service.payment` property.\\nWhen set to `false`, customers cannot book the service online, and the service can only be paid for in person.'\n                  )\n                  .optional()\n                  .nullable(),\n                requireManualApproval: z\n                  .boolean()\n                  .describe(\n                    'Booking the service requires approval by the Wix user.'\n                  )\n                  .optional()\n                  .nullable(),\n                allowMultipleRequests: z\n                  .boolean()\n                  .describe(\n                    'Multiple customers can request to book the same time slot. This is relevant when `requireManualApproval` is `true`.'\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Online booking settings.')\n              .optional(),\n            conferencing: z\n              .object({\n                enabled: z\n                  .boolean()\n                  .describe(\n                    \"Whether a conference link is generated for the service's sessions.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Conferencing options for the service.')\n              .optional(),\n            locations: z\n              .array(\n                z.intersection(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Location ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional(),\n                    type: z\n                      .enum(['CUSTOM', 'BUSINESS', 'CUSTOMER'])\n                      .describe('Location type.\\n\\nDefault: `CUSTOM`')\n                      .optional(),\n                    calculatedAddress: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                      })\n                      .describe(\n                        'Location address. Empty for `{\"type\": \"CUSTOMER\"}`.'\n                      )\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      business: z.never().optional(),\n                      custom: z.never().optional(),\n                    }),\n                    z.object({\n                      custom: z.never().optional(),\n                      business: z\n                        .object({\n                          _id: z\n                            .string()\n                            .describe(\n                              'ID of the business [location](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nWhen setting a business location, specify only the location ID. Other location details are overwritten.'\n                            )\n                            .regex(\n                              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                              'Must be a valid GUID'\n                            )\n                            .optional(),\n                          name: z\n                            .string()\n                            .describe('Business location name.')\n                            .max(150)\n                            .optional(),\n                          default: z\n                            .boolean()\n                            .describe(\n                              'Whether this is the default location. There can only be a single default location per site.'\n                            )\n                            .optional()\n                            .nullable(),\n                          address: z\n                            .object({\n                              city: z.string().optional().nullable(),\n                              subdivision: z.string().optional().nullable(),\n                              country: z.string().optional().nullable(),\n                              postalCode: z.string().optional().nullable(),\n                              addressLine1: z.string().optional().nullable(),\n                            })\n                            .describe('Business location address.')\n                            .optional(),\n                          email: z\n                            .string()\n                            .describe('Business location email.')\n                            .email()\n                            .optional()\n                            .nullable(),\n                          phone: z\n                            .string()\n                            .describe('Business location phone.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Information about business locations. Required when `type` is `BUSINESS`.'\n                        ),\n                    }),\n                    z.object({\n                      business: z.never().optional(),\n                      custom: z\n                        .object({\n                          _id: z\n                            .string()\n                            .describe('ID of the custom location.')\n                            .regex(\n                              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                              'Must be a valid GUID'\n                            )\n                            .optional(),\n                          address: z\n                            .object({\n                              city: z.string().optional().nullable(),\n                              subdivision: z.string().optional().nullable(),\n                              country: z.string().optional().nullable(),\n                              postalCode: z.string().optional().nullable(),\n                              addressLine1: z.string().optional().nullable(),\n                            })\n                            .describe('Address of the custom location.')\n                            .optional(),\n                        })\n                        .describe(\n                          'Information about custom locations. Required when `type` is `CUSTOM`.'\n                        ),\n                    }),\n                  ])\n                )\n              )\n              .max(500)\n              .optional(),\n            bookingPolicy: z\n              .object({\n                _id: z\n                  .string()\n                  .describe('The ID to the policy for the booking.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the policy was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe('Date and time the policy was updated.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Name of the policy.')\n                  .max(400)\n                  .optional()\n                  .nullable(),\n                customPolicyDescription: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether the description should be displayed. If `true`, the description is displayed.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    description: z\n                      .string()\n                      .describe(\n                        'The description to display.\\n\\nDefault: Empty\\nMax length: 2500 characters'\n                      )\n                      .max(2500)\n                      .optional(),\n                  })\n                  .describe(\n                    'Custom description for the policy. This policy is displayed to the participant.'\n                  )\n                  .optional(),\n                default: z\n                  .boolean()\n                  .describe(\n                    'Whether the policy is the default for the meta site.'\n                  )\n                  .optional()\n                  .nullable(),\n                limitEarlyBookingPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether there is a limit on how early a customer\\ncan book. When `false`, there is no limit on the earliest\\nbooking time and customers can book in advance, as early as they like.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    earliestBookingInMinutes: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Maximum number of minutes before the start of the session that a booking can be made. This value must be greater\\nthan `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.\\n\\nDefault: 10080 minutes (7 days)\\nMin: 1 minute'\n                      )\n                      .min(1)\n                      .optional(),\n                  })\n                  .describe('Policy for limiting early bookings.')\n                  .optional(),\n                limitLateBookingPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether there is a limit on how late a customer\\ncan book. When `false`, there is no limit on the latest\\nbooking time and customers can book up to the last minute.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    latestBookingInMinutes: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Minimum number of minutes before the start of the session that a booking can be made.\\nFor a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.\\nThis value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.\\n\\nDefault: 1440 minutes (1 day)\\nMin: 1 minute'\n                      )\n                      .min(1)\n                      .optional(),\n                  })\n                  .describe('Policy for limiting late bookings.')\n                  .optional(),\n                bookAfterStartPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether booking is allowed after the start of the schedule. When `true`,\\ncustomers can book after the start of the schedule.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Policy on booking an entity after the start of the schedule.'\n                  )\n                  .optional(),\n                cancellationPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether canceling a booking is allowed. When `true`, customers\\ncan cancel the booking.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    limitLatestCancellation: z\n                      .boolean()\n                      .describe(\n                        'Whether there is a limit on the latest cancellation time. When `true`,\\na time limit is enforced.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    latestCancellationInMinutes: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Minimum number of minutes before the start of the booked session that the booking can be canceled.\\n\\nDefault: 1440 minutes (1 day)\\nMin: 1 minute'\n                      )\n                      .min(1)\n                      .optional(),\n                    allowAnonymous: z\n                      .boolean()\n                      .describe(\n                        \"Whether this cancellation policy allows anonymous cancellations.\\n\\n**Important**: This flag only applies when `enabled` is `true`. If the cancellation\\npolicy itself is disabled (`enabled` = `false`), anonymous users cannot cancel\\nregardless of this flag's value.\\n\\nWhen not set (null), defaults to enabled. Anonymous cancellations are allowed by default\\nso that customers aren't required to be site members to cancel their bookings.\\n\\nDefault: `null` (treated as `true`)\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Policy for canceling a booked entity.')\n                  .optional(),\n                reschedulePolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether rescheduling a booking is allowed. When `true`, customers\\ncan reschedule the booking.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    limitLatestReschedule: z\n                      .boolean()\n                      .describe(\n                        'Whether there is a limit on the latest reschedule time. When `true`,\\na time limit is enforced.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    latestRescheduleInMinutes: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Minimum number of minutes before the start of the booked session that the booking can be rescheduled.\\n\\nDefault: 1440 minutes (1 day)\\nMin: 1 minute'\n                      )\n                      .min(1)\n                      .optional(),\n                    allowAnonymous: z\n                      .boolean()\n                      .describe(\n                        \"Whether this reschedule policy allows anonymous rescheduling.\\n\\n**Important**: This flag only applies when `enabled` is `true`. If the reschedule\\npolicy itself is disabled (`enabled` = `false`), anonymous users cannot reschedule\\nregardless of this flag's value.\\n\\nWhen not set (null), defaults to enabled. Anonymous rescheduling is allowed by default\\nso that customers aren't required to be site members to reschedule their bookings.\\n\\nDefault: `null` (treated as `true`)\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Policy for rescheduling a booked entity.')\n                  .optional(),\n                waitlistPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether the session has a waitlist. If `true`, there is a waitlist.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    capacity: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Number of spots available in the waitlist.\\n\\nDefault: 10 spots\\nMin: 1 spot'\n                      )\n                      .min(1)\n                      .optional(),\n                    reservationTimeInMinutes: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Amount of time a participant is given to book, once notified that a spot is available.\\n\\nDefault: 10 minutes\\nMin: 1 spot'\n                      )\n                      .min(1)\n                      .optional(),\n                  })\n                  .describe('Waitlist policy for the service.')\n                  .optional(),\n                participantsPolicy: z\n                  .object({\n                    maxParticipantsPerBooking: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Maximum number of participants allowed.\\n\\nDefault: 1 participant\\nMin: 1 participant'\n                      )\n                      .min(1)\n                      .optional(),\n                  })\n                  .describe('Policy regarding the participants per booking.')\n                  .optional(),\n                resourcesPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        '`true` if this policy is enabled, `false` otherwise.\\nWhen `false` then the client must always select a resource when booking an appointment.'\n                      )\n                      .optional(),\n                    autoAssignAllowed: z\n                      .boolean()\n                      .describe(\n                        '`true`, if it is allowed to automatically assign a resource when booking an appointment,\\n`false`, if the client must always select a resource.\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                  })\n                  .describe('Policy for allocating resources.')\n                  .optional(),\n                cancellationFeePolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        'Whether canceling a booking will result in a cancellation fee\\n\\nDefault: `false`'\n                      )\n                      .optional(),\n                    cancellationWindows: z\n                      .array(\n                        z.intersection(\n                          z.object({\n                            startInMinutes: z\n                              .number()\n                              .int()\n                              .describe(\n                                'The fee will be applied if the booked session starts within this start time in minutes.'\n                              )\n                              .min(1)\n                              .optional()\n                              .nullable(),\n                          }),\n                          z.xor([\n                            z.object({\n                              amount: z.never().optional(),\n                              percentage: z.never().optional(),\n                            }),\n                            z.object({\n                              percentage: z.never().optional(),\n                              amount: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`.'\n                                    )\n                                    .optional(),\n                                  formattedValue: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount. Decimal string in local format. For example, `1 000,30`.'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe(\n                                  'Amount to be charged as a cancellation fee.'\n                                ),\n                            }),\n                            z.object({\n                              amount: z.never().optional(),\n                              percentage: z\n                                .string()\n                                .describe(\n                                  'Percentage of the original price to be charged as a cancellation fee.'\n                                ),\n                            }),\n                          ])\n                        )\n                      )\n                      .max(2)\n                      .optional(),\n                    autoCollectFeeEnabled: z\n                      .boolean()\n                      .describe(\n                        'Whether the cancellation fee should not be automatically collected when customer cancels the booking.\\n\\nDefault: `true`'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Rules for cancellation fees.')\n                  .optional(),\n                saveCreditCardPolicy: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe('Default: `false`')\n                      .optional(),\n                  })\n                  .describe('Rule for saving credit card.')\n                  .optional(),\n              })\n              .describe(\n                '[Policy](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policies/introduction)\\ndetermining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins.'\n              )\n              .optional(),\n            schedule: z\n              .object({\n                _id: z\n                  .string()\n                  .describe(\n                    \"ID of the [schedule](https://dev.wix.com/docs/api-reference/business-management/calendar/schedules-v3/introduction)\\nto which the service's events belong.\"\n                  )\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                firstSessionStart: z\n                  .date()\n                  .describe(\n                    'Start time of the first session in the schedule. For courses only.'\n                  )\n                  .optional()\n                  .nullable(),\n                lastSessionEnd: z\n                  .date()\n                  .describe(\n                    'End time of the last session in the schedule. For courses only.'\n                  )\n                  .optional()\n                  .nullable(),\n                availabilityConstraints: z\n                  .object({\n                    durations: z\n                      .array(\n                        z.object({\n                          minutes: z\n                            .number()\n                            .int()\n                            .describe('The duration of the service in minutes.')\n                            .min(1)\n                            .max(44639)\n                            .optional(),\n                        })\n                      )\n                      .max(50)\n                      .optional(),\n                    sessionDurations: z\n                      .array(z.number().int())\n                      .max(50)\n                      .optional(),\n                    timeBetweenSessions: z\n                      .number()\n                      .int()\n                      .describe(\n                        'The number of minutes between the end of a session and the start of the next.'\n                      )\n                      .min(0)\n                      .max(720)\n                      .optional(),\n                    durationRange: z\n                      .intersection(\n                        z.object({\n                          unitType: z\n                            .enum(['HOUR', 'DAY'])\n                            .describe(\n                              'The unit type for this duration range. Determines which configuration to use in the `config` union.'\n                            )\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            hourOptions: z.never().optional(),\n                            dayOptions: z.never().optional(),\n                          }),\n                          z.object({\n                            dayOptions: z.never().optional(),\n                            hourOptions: z\n                              .object({\n                                minDurationInMinutes: z\n                                  .number()\n                                  .int()\n                                  .describe(\n                                    \"Minimum bookable duration in minutes. The customer can't book for less than this duration.\"\n                                  )\n                                  .min(30)\n                                  .max(1440)\n                                  .optional(),\n                                maxDurationInMinutes: z\n                                  .number()\n                                  .int()\n                                  .describe(\n                                    \"Maximum bookable duration in minutes. The customer can't book for more than this duration.\\n\\nMust be greater than or equal to `minDurationInMinutes`.\"\n                                  )\n                                  .min(30)\n                                  .max(1440)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Configuration for hourly duration ranges. Set when `unitType` is `HOUR`.'\n                              ),\n                          }),\n                          z.object({\n                            hourOptions: z.never().optional(),\n                            dayOptions: z\n                              .object({\n                                minDurationInDays: z\n                                  .number()\n                                  .int()\n                                  .describe(\n                                    \"Minimum bookable duration in days. The customer can't book for less than this number of days.\"\n                                  )\n                                  .min(1)\n                                  .max(8)\n                                  .optional(),\n                                maxDurationInDays: z\n                                  .number()\n                                  .int()\n                                  .describe(\n                                    \"Maximum bookable duration in days. The customer can't book for more than this number of days.\\n\\nMust be greater than or equal to `minDurationInDays`.\"\n                                  )\n                                  .min(1)\n                                  .max(8)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Configuration for daily duration ranges. Set when `unitType` is `DAY`.'\n                              ),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        \"Duration range for the service. When set, the customer picks a duration\\nwithin the configured min/max range instead of a fixed session duration.\\nMutually exclusive with `sessionDurations`. A service uses one or the other.\\nCan't be combined with `workingHours`.\\n\\nUse `durationRange` for services where the customer chooses how long to book,\\nsuch as equipment or space rentals. The `unitType` determines whether the range\\nis measured in hours or days.\"\n                      )\n                      .optional(),\n                  })\n                  .describe('Limitations affecting the service availability.')\n                  .optional(),\n              })\n              .describe(\n                \"The service's [schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction),\\nwhich can be used to manage the service's [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction).\"\n              )\n              .optional(),\n            staffMemberIds: z.array(z.string()).max(220).optional(),\n            staffMemberDetails: z\n              .object({\n                staffMembers: z\n                  .array(\n                    z.object({\n                      staffMemberId: z\n                        .string()\n                        .describe(\n                          \"ID of the [resource](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction) associated with the staff member providing the service.\\nDespite the field name, this is the resource ID, not the staff member ID.\\nThis value matches the staff member's `resourceId` from the [Staff Members API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/staff-members/staff-members/introduction)\\nand corresponds to the IDs in the service's `staffMemberIds` field.\"\n                        )\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional(),\n                      name: z\n                        .string()\n                        .describe('Name of the staff member')\n                        .max(40)\n                        .optional()\n                        .nullable(),\n                      mainMedia: z\n                        .intersection(\n                          z.object({}),\n                          z.xor([\n                            z.object({ image: z.never().optional() }),\n                            z.object({\n                              image: z\n                                .string()\n                                .describe(\n                                  'Details of the image associated with the staff, such as URL and size.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe('Main media associated with the service.')\n                        .optional(),\n                    })\n                  )\n                  .max(220)\n                  .optional(),\n              })\n              .describe(\n                'Staff members details. Returned only if `STAFF_MEMBER_DETAILS` conditional field was specified.'\n              )\n              .optional(),\n            serviceResources: z\n              .array(\n                z.intersection(\n                  z.object({\n                    resourceType: z\n                      .object({\n                        _id: z\n                          .string()\n                          .describe('The type of the resource.')\n                          .regex(\n                            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                            'Must be a valid GUID'\n                          )\n                          .optional()\n                          .nullable(),\n                        name: z\n                          .string()\n                          .describe('The name of the resource type.')\n                          .max(40)\n                          .min(1)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe(\n                        'Details about the required [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n                      )\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({ resourceIds: z.never().optional() }),\n                    z.object({\n                      resourceIds: z\n                        .object({\n                          values: z.array(z.string()).max(100).optional(),\n                        })\n                        .describe(\n                          'IDs of specific [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction)\\nassigned to this service resource. Each ID must reference a resource within the specified `resourceType`.\\n\\nWhen set, only these resources are considered for availability and booking.\\nWhen not set, all resources of the specified resource type are eligible.'\n                        ),\n                    }),\n                  ])\n                )\n              )\n              .max(3)\n              .optional(),\n            supportedSlugs: z\n              .array(\n                z.object({\n                  name: z\n                    .string()\n                    .describe(\n                      \"The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`.\"\n                    )\n                    .max(500)\n                    .optional(),\n                  custom: z\n                    .boolean()\n                    .describe(\n                      'Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name.'\n                    )\n                    .optional()\n                    .nullable(),\n                  _createdDate: z\n                    .date()\n                    .describe(\n                      'Date and time the slug was created. This is a system field.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n              )\n              .max(100)\n              .optional(),\n            mainSlug: z\n              .object({\n                name: z\n                  .string()\n                  .describe(\n                    \"The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`.\"\n                  )\n                  .max(500)\n                  .optional(),\n                custom: z\n                  .boolean()\n                  .describe(\n                    'Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name.'\n                  )\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe(\n                    'Date and time the slug was created. This is a system field.'\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\n                'Active slug for the service.\\nLearn more about [service slugs](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-slugs).'\n              )\n              .optional(),\n            urls: z\n              .object({\n                servicePage: z\n                  .string()\n                  .describe('The URL for the service page.')\n                  .optional(),\n                bookingPage: z\n                  .string()\n                  .describe(\n                    'The URL for the booking entry point. It can be either to the calendar or to the service page.'\n                  )\n                  .optional(),\n                calendarPage: z\n                  .string()\n                  .describe(\n                    'The URL for the calendar. Can be empty if no calendar exists.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'URLs to various service-related pages, such as the calendar page and the booking page.'\n              )\n              .optional(),\n            extendedFields: z\n              .object({\n                namespaces: z\n                  .record(z.string(), z.record(z.string(), z.any()))\n                  .describe(\n                    'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Extensions enabling users to save custom data related to the service.'\n              )\n              .optional(),\n            seoData: z\n              .object({\n                tags: z\n                  .array(\n                    z.object({\n                      type: z\n                        .string()\n                        .describe(\n                          'SEO tag type.\\n\\n\\nSupported values: `title`, `meta`, `script`, `link`.'\n                        )\n                        .optional(),\n                      props: z\n                        .record(z.string(), z.any())\n                        .describe(\n                          'A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\\nFor example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.'\n                        )\n                        .optional()\n                        .nullable(),\n                      meta: z\n                        .record(z.string(), z.any())\n                        .describe(\n                          'SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`.'\n                        )\n                        .optional()\n                        .nullable(),\n                      children: z\n                        .string()\n                        .describe(\n                          'SEO tag inner content. For example, `<title> inner content </title>`.'\n                        )\n                        .optional(),\n                      custom: z\n                        .boolean()\n                        .describe(\n                          'Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).'\n                        )\n                        .optional(),\n                      disabled: z\n                        .boolean()\n                        .describe(\n                          \"Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines.\"\n                        )\n                        .optional(),\n                    })\n                  )\n                  .optional(),\n                settings: z\n                  .object({\n                    preventAutoRedirect: z\n                      .boolean()\n                      .describe(\n                        'Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\\n\\n\\nDefault: `false` (automatical redirect is enabled).'\n                      )\n                      .optional(),\n                    keywords: z\n                      .array(\n                        z.object({\n                          term: z\n                            .string()\n                            .describe('Keyword value.')\n                            .optional(),\n                          isMain: z\n                            .boolean()\n                            .describe(\n                              'Whether the keyword is the main focus keyword.'\n                            )\n                            .optional(),\n                          origin: z\n                            .string()\n                            .describe(\n                              'The source that added the keyword terms to the SEO settings.'\n                            )\n                            .max(1000)\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .max(5)\n                      .optional(),\n                  })\n                  .describe('SEO general settings.')\n                  .optional(),\n              })\n              .describe('Custom SEO data for the service.')\n              .optional(),\n            _createdDate: z\n              .date()\n              .describe(\n                'Date and time the service was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n              )\n              .optional()\n              .nullable(),\n            _updatedDate: z\n              .date()\n              .describe(\n                'Date and time the service was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n              )\n              .optional()\n              .nullable(),\n            revision: z\n              .string()\n              .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n              .describe(\n                'Revision number, which increments by 1 each time the service is updated. To\\nprevent conflicting changes, the existing revision must be used when updating\\na service.'\n              )\n              .optional()\n              .nullable(),\n            addOnGroups: z\n              .array(\n                z.object({\n                  _id: z\n                    .string()\n                    .describe(\n                      'ID of the add-on group.\\nWix Bookings automatically populates this field when creating or updating an add-on group.'\n                    )\n                    .regex(\n                      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                      'Must be a valid GUID'\n                    )\n                    .optional()\n                    .nullable(),\n                  name: z\n                    .string()\n                    .describe('Name of the add-on group.')\n                    .max(100)\n                    .optional()\n                    .nullable(),\n                  maxNumberOfAddOns: z\n                    .number()\n                    .int()\n                    .describe(\n                      \"Maximum number of different [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) from the group customers can add when booking the service.\\nWhen empty, there's no upper limit.\"\n                    )\n                    .optional()\n                    .nullable(),\n                  addOnIds: z.array(z.string()).max(7).optional(),\n                  prompt: z\n                    .string()\n                    .describe(\n                      \"Description or instructional prompt of the add-on group that's displayed to customers when booking the service.\"\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                })\n              )\n              .max(3)\n              .optional(),\n            addOnDetails: z\n              .array(\n                z.object({\n                  addOnId: z\n                    .string()\n                    .describe('ID of the add-on.')\n                    .regex(\n                      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                      'Must be a valid GUID'\n                    )\n                    .optional()\n                    .nullable(),\n                  durationInMinutes: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Duration in minutes for add-ons that extend service time.\\nEmpty for [quantity-based add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction#terminology).'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n              )\n              .max(50)\n              .optional(),\n            taxableAddress: z\n              .object({\n                taxableAddressType: z\n                  .enum(['BUSINESS', 'BILLING'])\n                  .describe('Taxable address type.')\n                  .optional(),\n              })\n              .describe('Taxable address used to calculate tax')\n              .optional(),\n            primaryResourceType: z\n              .string()\n              .describe(\n                'ID of the [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction)\\nthat serves as the primary resource for this appointment service. The primary resource type\\ndetermines which resources drive slot assignment and availability resolution.\\n\\nFor example, when set to a \"Meeting Rooms\" resource type, availability is calculated\\nbased on the rooms\\' schedules rather than staff schedules.\\n\\nDefault: The staff resource type.'\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('The service entity.')\n          .optional(),\n        available: z\n          .boolean()\n          .describe(\n            'Whether the service has available slots in the requested window.\\nAlways true when no date range was provided.'\n          )\n          .optional(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe(\n      \"Paging metadata. The cursor in `pagingMetadata.cursors.next` is an opaque token owned by CatalogSearch.\\nPass it unchanged in the next request's `query.cursorPaging.cursor`.\\nDo not assume any relationship between this cursor and the internal cursors of services-2 or other upstream services.\"\n    )\n    .optional(),\n});\n"],"mappings":";AAAA,YAAY,OAAO;AAEZ,IAAM,gCAAkC,SAAO;AAAA,EACpD,SACG,SAAO;AAAA,IACN,OACG;AAAA,MACG,SAAO;AAAA,QACP,QACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,MACG;AAAA,UACG,SAAO;AAAA,YACP,WACG,SAAO,EACP,SAAS,+BAA+B,EACxC,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,OAAS,OAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS;AAAA,UAC1C,CAAC;AAAA,QACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO,EAAE,cAAgB,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,QAC7C,SAAO;AAAA,UACP,cACG,SAAO;AAAA,YACN,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,QACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH,EACC;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,gBACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,cACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP;AAAA,QACC;AAAA;AAAA,MACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,YACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,aAAe,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,MACnD,YACG;AAAA,QACG;AAAA,UACE,SAAO;AAAA,YACP,aACG,SAAO,EACP,SAAS,8CAA8C,EACvD;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,cAAgB,QAAM,EAAE,SAAS;AAAA,YACnC,CAAC;AAAA,YACC,SAAO;AAAA,cACP,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,WACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,EAAE;AAAA,YACX,CAAC;AAAA,YACC,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,kBACG,SAAO;AAAA,gBACN,KACG,SAAO,EACP,IAAI,EACJ;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,KACG,SAAO,EACP,IAAI,EACJ;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,WACG,UAAQ,EACR,SAAS,+BAA+B;AAAA,YAC7C,CAAC;AAAA,YACC,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,cACG,SAAO;AAAA,gBACN,QAAU,QAAQ,SAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,cACrD,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,EACC,IAAI,EAAE,EACN,SAAS;AAAA,MACZ,eAAiB,QAAQ,SAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,MACpD,oBACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,iCAAmC,SAAO;AAAA,EACrD,SACG;AAAA,IACG,SAAO;AAAA,MACP,SACG,SAAO;AAAA,QACN,KACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,OACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,gBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,MACG,OAAK,CAAC,eAAe,SAAS,QAAQ,CAAC,EACvC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,WACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAG,EACP,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,QACZ,aACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,SACG,SAAO,EACP,SAAS,oDAAoD,EAC7D,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,iBACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,OACG;AAAA,YACG;AAAA,cACE,SAAO,CAAC,CAAC;AAAA,cACT,MAAI;AAAA,gBACF,SAAO,EAAE,OAAS,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,gBACtC,SAAO;AAAA,kBACP,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF;AAAA,gBACJ,CAAC;AAAA,cACH,CAAC;AAAA,YACH;AAAA,UACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,WACG;AAAA,YACG,SAAO,CAAC,CAAC;AAAA,YACT,MAAI;AAAA,cACF,SAAO,EAAE,OAAS,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,cACtC,SAAO;AAAA,gBACP,OACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH,EACC,SAAS,4CAA4C,EACrD,SAAS;AAAA,UACZ,YACG;AAAA,YACG,SAAO,CAAC,CAAC;AAAA,YACT,MAAI;AAAA,cACF,SAAO,EAAE,OAAS,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,cACtC,SAAO;AAAA,gBACP,OACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH,EACC,SAAS,0CAA0C,EACnD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,QACZ,QACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,KACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,MACG,SAAO,EACP,SAAS,gBAAgB,EACzB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,MACG,SAAO;AAAA,UACN,KACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG;AAAA,UACG,SAAO;AAAA,YACP,UACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,SACG,SAAO;AAAA,cACN,QACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,UACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,SACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,aACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,gBAAkB,QAAQ,SAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,YACrD,aACG,OAAK,CAAC,UAAU,WAAW,CAAC,EAC5B;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,cACG,SAAO;AAAA,cACN,cACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,cACZ,oBACG,SAAO;AAAA,gBACN,OACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,gBACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,YACnC,CAAC;AAAA,YACC,SAAO;AAAA,cACP,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,OACG,SAAO;AAAA,gBACN,OACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,SACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,2BACG,UAAQ,EACR;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,QACG,SAAO;AAAA,gBACN,aACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,QACG,SAAO;AAAA,gBACN,cACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,SACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,UACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,UACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,2BACG,UAAQ,EACR;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cACG,SAAO;AAAA,gBACN,uBACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,WACG,OAAK,CAAC,SAAS,CAAC,EAChB;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,gBACZ,iBACG,OAAK,CAAC,YAAY,WAAW,CAAC,EAC9B;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,oBACG,OAAK,EACL;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,qBACG,SAAO;AAAA,kBACN,OACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,gBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,aAAa,EACtB,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,UACH,CAAC;AAAA,QACH,EACC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,uBACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,uBACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,0BAA0B,EACnC,SAAS;AAAA,QACZ,cACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,uCAAuC,EAChD,SAAS;AAAA,QACZ,WACG;AAAA,UACG;AAAA,YACE,SAAO;AAAA,cACP,KACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,gBACC;AAAA,gBACA;AAAA,cACF,EACC,SAAS;AAAA,cACZ,MACG,OAAK,CAAC,UAAU,YAAY,UAAU,CAAC,EACvC,SAAS,qCAAqC,EAC9C,SAAS;AAAA,cACZ,mBACG,SAAO;AAAA,gBACN,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cAC/C,CAAC,EACA;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC;AAAA,YACC,MAAI;AAAA,cACF,SAAO;AAAA,gBACP,UAAY,QAAM,EAAE,SAAS;AAAA,gBAC7B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC7B,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,QAAU,QAAM,EAAE,SAAS;AAAA,gBAC3B,UACG,SAAO;AAAA,kBACN,KACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC;AAAA,oBACC;AAAA,oBACA;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,MACG,SAAO,EACP,SAAS,yBAAyB,EAClC,IAAI,GAAG,EACP,SAAS;AAAA,kBACZ,SACG,UAAQ,EACR;AAAA,oBACC;AAAA,kBACF,EACC,SAAS,EACT,SAAS;AAAA,kBACZ,SACG,SAAO;AAAA,oBACN,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC/C,CAAC,EACA,SAAS,4BAA4B,EACrC,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,SAAS,0BAA0B,EACnC,MAAM,EACN,SAAS,EACT,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,SAAS,0BAA0B,EACnC,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,UAAY,QAAM,EAAE,SAAS;AAAA,gBAC7B,QACG,SAAO;AAAA,kBACN,KACG,SAAO,EACP,SAAS,4BAA4B,EACrC;AAAA,oBACC;AAAA,oBACA;AAAA,kBACF,EACC,SAAS;AAAA,kBACZ,SACG,SAAO;AAAA,oBACN,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,oBAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC/C,CAAC,EACA,SAAS,iCAAiC,EAC1C,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,KACG,SAAO,EACP,SAAS,uCAAuC,EAChD;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,uCAAuC,EAChD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,uCAAuC,EAChD,SAAS,EACT,SAAS;AAAA,UACZ,MACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,yBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,aACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,IAAI,EACR,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,yBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,0BACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,UACZ,wBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,wBACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,UACZ,sBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,oBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,yBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,6BACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,uCAAuC,EAChD,SAAS;AAAA,UACZ,kBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,uBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,2BACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,0BACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA,SAAS,kCAAkC,EAC3C,SAAS;AAAA,UACZ,oBACG,SAAO;AAAA,YACN,2BACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA,SAAS,gDAAgD,EACzD,SAAS;AAAA,UACZ,iBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,mBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA,SAAS,kCAAkC,EAC3C,SAAS;AAAA,UACZ,uBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,qBACG;AAAA,cACG;AAAA,gBACE,SAAO;AAAA,kBACP,gBACG,SAAO,EACP,IAAI,EACJ;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,gBACd,CAAC;AAAA,gBACC,MAAI;AAAA,kBACF,SAAO;AAAA,oBACP,QAAU,QAAM,EAAE,SAAS;AAAA,oBAC3B,YAAc,QAAM,EAAE,SAAS;AAAA,kBACjC,CAAC;AAAA,kBACC,SAAO;AAAA,oBACP,YAAc,QAAM,EAAE,SAAS;AAAA,oBAC/B,QACG,SAAO;AAAA,sBACN,OACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,SAAS;AAAA,sBACZ,UACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,SAAS;AAAA,sBACZ,gBACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,oBACd,CAAC,EACA;AAAA,sBACC;AAAA,oBACF;AAAA,kBACJ,CAAC;AAAA,kBACC,SAAO;AAAA,oBACP,QAAU,QAAM,EAAE,SAAS;AAAA,oBAC3B,YACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF;AAAA,kBACJ,CAAC;AAAA,gBACH,CAAC;AAAA,cACH;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,uBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,8BAA8B,EACvC,SAAS;AAAA,UACZ,sBACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR,SAAS,kBAAkB,EAC3B,SAAS;AAAA,UACd,CAAC,EACA,SAAS,8BAA8B,EACvC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,KACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,mBACG,OAAK,EACL;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,OAAK,EACL;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,yBACG,SAAO;AAAA,YACN,WACG;AAAA,cACG,SAAO;AAAA,gBACP,SACG,SAAO,EACP,IAAI,EACJ,SAAS,yCAAyC,EAClD,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,YACZ,kBACG,QAAQ,SAAO,EAAE,IAAI,CAAC,EACtB,IAAI,EAAE,EACN,SAAS;AAAA,YACZ,qBACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,eACG;AAAA,cACG,SAAO;AAAA,gBACP,UACG,OAAK,CAAC,QAAQ,KAAK,CAAC,EACpB;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,cACd,CAAC;AAAA,cACC,MAAI;AAAA,gBACF,SAAO;AAAA,kBACP,aAAe,QAAM,EAAE,SAAS;AAAA,kBAChC,YAAc,QAAM,EAAE,SAAS;AAAA,gBACjC,CAAC;AAAA,gBACC,SAAO;AAAA,kBACP,YAAc,QAAM,EAAE,SAAS;AAAA,kBAC/B,aACG,SAAO;AAAA,oBACN,sBACG,SAAO,EACP,IAAI,EACJ;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,EAAE,EACN,IAAI,IAAI,EACR,SAAS;AAAA,oBACZ,sBACG,SAAO,EACP,IAAI,EACJ;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,EAAE,EACN,IAAI,IAAI,EACR,SAAS;AAAA,kBACd,CAAC,EACA;AAAA,oBACC;AAAA,kBACF;AAAA,gBACJ,CAAC;AAAA,gBACC,SAAO;AAAA,kBACP,aAAe,QAAM,EAAE,SAAS;AAAA,kBAChC,YACG,SAAO;AAAA,oBACN,mBACG,SAAO,EACP,IAAI,EACJ;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,SAAS;AAAA,oBACZ,mBACG,SAAO,EACP,IAAI,EACJ;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,SAAS;AAAA,kBACd,CAAC,EACA;AAAA,oBACC;AAAA,kBACF;AAAA,gBACJ,CAAC;AAAA,cACH,CAAC;AAAA,YACH,EACC;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA,SAAS,iDAAiD,EAC1D,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,gBAAkB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,QACtD,oBACG,SAAO;AAAA,UACN,cACG;AAAA,YACG,SAAO;AAAA,cACP,eACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC;AAAA,gBACC;AAAA,gBACA;AAAA,cACF,EACC,SAAS;AAAA,cACZ,MACG,SAAO,EACP,SAAS,0BAA0B,EACnC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACZ,WACG;AAAA,gBACG,SAAO,CAAC,CAAC;AAAA,gBACT,MAAI;AAAA,kBACF,SAAO,EAAE,OAAS,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,kBACtC,SAAO;AAAA,oBACP,OACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF;AAAA,kBACJ,CAAC;AAAA,gBACH,CAAC;AAAA,cACH,EACC,SAAS,yCAAyC,EAClD,SAAS;AAAA,YACd,CAAC;AAAA,UACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,kBACG;AAAA,UACG;AAAA,YACE,SAAO;AAAA,cACP,cACG,SAAO;AAAA,gBACN,KACG,SAAO,EACP,SAAS,2BAA2B,EACpC;AAAA,kBACC;AAAA,kBACA;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,MACG,SAAO,EACP,SAAS,gCAAgC,EACzC,IAAI,EAAE,EACN,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC;AAAA,YACC,MAAI;AAAA,cACF,SAAO,EAAE,aAAe,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,cAC5C,SAAO;AAAA,gBACP,aACG,SAAO;AAAA,kBACN,QAAU,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,gBAChD,CAAC,EACA;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,QACZ,gBACG;AAAA,UACG,SAAO;AAAA,YACP,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,QACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,cACG,OAAK,EACL;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,MACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,QACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,MACG,SAAO;AAAA,UACN,aACG,SAAO,EACP,SAAS,+BAA+B,EACxC,SAAS;AAAA,UACZ,aACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,cACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,SAAO;AAAA,UACN,MACG;AAAA,YACG,SAAO;AAAA,cACP,MACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,cACZ,OACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,UACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,cACZ,QACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,cACZ,UACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC;AAAA,UACH,EACC,SAAS;AAAA,UACZ,UACG,SAAO;AAAA,YACN,qBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG;AAAA,cACG,SAAO;AAAA,gBACP,MACG,SAAO,EACP,SAAS,gBAAgB,EACzB,SAAS;AAAA,gBACZ,QACG,UAAQ,EACR;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,QACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,kCAAkC,EAC3C,SAAS;AAAA,QACZ,cACG,OAAK,EACL;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,aACG;AAAA,UACG,SAAO;AAAA,YACP,KACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,MACG,SAAO,EACP,SAAS,2BAA2B,EACpC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,mBACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,UAAY,QAAQ,SAAO,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,YAC9C,QACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,QACZ,cACG;AAAA,UACG,SAAO;AAAA,YACP,SACG,SAAO,EACP,SAAS,mBAAmB,EAC5B;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,mBACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,oBACG,OAAK,CAAC,YAAY,SAAS,CAAC,EAC5B,SAAS,uBAAuB,EAChC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,uCAAuC,EAChD,SAAS;AAAA,QACZ,qBACG,SAAO,EACP;AAAA,UACC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA,SAAS,qBAAqB,EAC9B,SAAS;AAAA,MACZ,WACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,SAAS;AAAA,EACZ,gBACG,SAAO;AAAA,IACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,2CAA2C,EACpD,SAAS,EACT,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,SACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,EACd,CAAC,EACA;AAAA,IACC;AAAA,EACF,EACC,SAAS;AACd,CAAC;","names":[]}