@kernhq/module-hr 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,33 @@ import { type SubjectAppliers } from './services/approvals.js';
3
3
  import { AttendanceService } from './services/attendance.js';
4
4
  import { LedgerService } from './services/ledger.js';
5
5
  import { ResolveService } from './services/resolve.js';
6
+ /**
7
+ * The composed calendar over a range: this calendar's days over the ones it extends.
8
+ *
9
+ * Nearest wins per date and kind, and a day that shadows one from a calendar further down is
10
+ * marked `overrides` so the editor can show what it is replacing — which is what makes "we work
11
+ * through this national holiday" legible rather than looking like a missing holiday.
12
+ *
13
+ * At module scope, because it never needed the router's closure — only a `tx`. That is what lets
14
+ * `hrSubjects` below reach it, so the leave calculation a deadline runs reads the same calendar as
15
+ * the one a person runs.
16
+ */
17
+ export declare function composedDays(tx: Tx, workspaceId: string, calendarId: string, from: string, to: string): Promise<{
18
+ overrides: boolean;
19
+ kind: never;
20
+ source: "pack" | "custom";
21
+ workingFraction: number;
22
+ fromCalendarId: string;
23
+ fromCalendarName: string;
24
+ date: string;
25
+ createdAt: Date;
26
+ id: string;
27
+ workspaceId: string;
28
+ name: string;
29
+ calendarId: string;
30
+ paid: boolean;
31
+ note: string | null;
32
+ }[]>;
6
33
  /**
7
34
  * What a *decided* request does to its subject, and the calculation both halves of that stand on.
8
35
  *
@@ -8463,6 +8490,465 @@ export declare function implement_(kernel: Kernel): {
8463
8490
  };
8464
8491
  }>>, Record<never, never>>;
8465
8492
  };
8493
+ reports: {
8494
+ attendance: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<RequestContext & Record<never, never>, RequestContext & Record<never, never> & Omit<RequestContext & Record<never, never>, keyof RequestContext> & Omit<RequestContext & Record<never, never>, "workspaceId" | "requestId" | "kernel" | "principal" | "ip" | "headers">, RequestContext>, Omit<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<RequestContext, {
8495
+ workspaceId: string;
8496
+ kernel: Kernel;
8497
+ principal: {
8498
+ kind: "service" | "user" | "api_key" | "anonymous";
8499
+ userId: (string & import("zod").$brand<"UserId">) | null;
8500
+ email: string | null;
8501
+ name: string | null;
8502
+ locale: "en" | "fa" | "ar" | "de";
8503
+ instanceAdmin: boolean;
8504
+ service: string | null;
8505
+ memberships: {
8506
+ workspaceId: string & import("zod").$brand<"WorkspaceId">;
8507
+ role: "owner" | "admin" | "member" | "guest";
8508
+ roleIds: string[];
8509
+ groupIds: string[];
8510
+ status: "active" | "invited" | "suspended";
8511
+ }[];
8512
+ permissionVersion: number;
8513
+ };
8514
+ requestId: string;
8515
+ ip: string;
8516
+ headers: Record<string, string | string[] | undefined>;
8517
+ }>, Record<never, never>>, Record<never, never>>, never> & Record<never, never>, import("zod").ZodObject<{
8518
+ workspaceId: import("zod/v4/core").$ZodBranded<import("zod").ZodUUID, "WorkspaceId", "out">;
8519
+ from: import("zod").ZodISODate;
8520
+ to: import("zod").ZodISODate;
8521
+ by: import("zod").ZodDefault<import("zod").ZodEnum<{
8522
+ office: "office";
8523
+ legal_entity: "legal_entity";
8524
+ workspace: "workspace";
8525
+ }>>;
8526
+ sliceId: import("zod").ZodOptional<import("zod").ZodUUID>;
8527
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
8528
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8529
+ header: import("zod").ZodObject<{
8530
+ from: import("zod").ZodISODate;
8531
+ to: import("zod").ZodISODate;
8532
+ slice: import("zod").ZodObject<{
8533
+ by: import("zod").ZodEnum<{
8534
+ office: "office";
8535
+ legal_entity: "legal_entity";
8536
+ workspace: "workspace";
8537
+ }>;
8538
+ id: import("zod").ZodNullable<import("zod").ZodUUID>;
8539
+ name: import("zod").ZodNullable<import("zod").ZodString>;
8540
+ }, import("zod/v4/core").$strip>;
8541
+ scope: import("zod").ZodObject<{
8542
+ permissions: import("zod").ZodArray<import("zod").ZodString>;
8543
+ askedAt: import("zod").ZodLiteral<"workspace">;
8544
+ }, import("zod/v4/core").$strip>;
8545
+ population: import("zod").ZodNumber;
8546
+ counted: import("zod").ZodNumber;
8547
+ attribution: import("zod").ZodEnum<{
8548
+ each_day: "each_day";
8549
+ as_of_date: "as_of_date";
8550
+ not_applicable: "not_applicable";
8551
+ }>;
8552
+ attributionOn: import("zod").ZodNullable<import("zod").ZodISODate>;
8553
+ truncated: import("zod").ZodBoolean;
8554
+ }, import("zod/v4/core").$strip>;
8555
+ finality: import("zod").ZodObject<{
8556
+ lockedDays: import("zod").ZodNumber;
8557
+ openDays: import("zod").ZodNumber;
8558
+ final: import("zod").ZodBoolean;
8559
+ firstOpenDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8560
+ lastLockedDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8561
+ }, import("zod/v4/core").$strip>;
8562
+ totals: import("zod").ZodObject<{
8563
+ scheduledMinutes: import("zod").ZodNumber;
8564
+ workedMinutes: import("zod").ZodNumber;
8565
+ breakMinutes: import("zod").ZodNumber;
8566
+ lateMinutes: import("zod").ZodNumber;
8567
+ earlyLeaveMinutes: import("zod").ZodNumber;
8568
+ days: import("zod").ZodNumber;
8569
+ workedRatio: import("zod").ZodNullable<import("zod").ZodNumber>;
8570
+ noScheduleDays: import("zod").ZodNumber;
8571
+ unknownScheduleDays: import("zod").ZodNumber;
8572
+ }, import("zod/v4/core").$strip>;
8573
+ rows: import("zod").ZodArray<import("zod").ZodObject<{
8574
+ personId: import("zod").ZodUUID;
8575
+ displayName: import("zod").ZodString;
8576
+ days: import("zod").ZodNumber;
8577
+ scheduledMinutes: import("zod").ZodNumber;
8578
+ workedMinutes: import("zod").ZodNumber;
8579
+ breakMinutes: import("zod").ZodNumber;
8580
+ lateMinutes: import("zod").ZodNumber;
8581
+ earlyLeaveMinutes: import("zod").ZodNumber;
8582
+ workedRatio: import("zod").ZodNullable<import("zod").ZodNumber>;
8583
+ noScheduleDays: import("zod").ZodNumber;
8584
+ unknownScheduleDays: import("zod").ZodNumber;
8585
+ }, import("zod/v4/core").$strip>>;
8586
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
8587
+ BAD_REQUEST: {
8588
+ data: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
8589
+ };
8590
+ UNAUTHORIZED: {};
8591
+ FORBIDDEN: {
8592
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8593
+ permission: import("zod").ZodOptional<import("zod").ZodString>;
8594
+ }, import("zod/v4/core").$strip>>;
8595
+ };
8596
+ NOT_FOUND: {};
8597
+ CONFLICT: {
8598
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8599
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
8600
+ }, import("zod/v4/core").$strip>>;
8601
+ };
8602
+ RATE_LIMITED: {};
8603
+ MODULE_DISABLED: {
8604
+ data: import("zod").ZodObject<{
8605
+ module: import("zod").ZodString;
8606
+ }, import("zod/v4/core").$strip>;
8607
+ };
8608
+ }>>, Record<never, never>>;
8609
+ overtime: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<RequestContext & Record<never, never>, RequestContext & Record<never, never> & Omit<RequestContext & Record<never, never>, keyof RequestContext> & Omit<RequestContext & Record<never, never>, "workspaceId" | "requestId" | "kernel" | "principal" | "ip" | "headers">, RequestContext>, Omit<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<RequestContext, {
8610
+ workspaceId: string;
8611
+ kernel: Kernel;
8612
+ principal: {
8613
+ kind: "service" | "user" | "api_key" | "anonymous";
8614
+ userId: (string & import("zod").$brand<"UserId">) | null;
8615
+ email: string | null;
8616
+ name: string | null;
8617
+ locale: "en" | "fa" | "ar" | "de";
8618
+ instanceAdmin: boolean;
8619
+ service: string | null;
8620
+ memberships: {
8621
+ workspaceId: string & import("zod").$brand<"WorkspaceId">;
8622
+ role: "owner" | "admin" | "member" | "guest";
8623
+ roleIds: string[];
8624
+ groupIds: string[];
8625
+ status: "active" | "invited" | "suspended";
8626
+ }[];
8627
+ permissionVersion: number;
8628
+ };
8629
+ requestId: string;
8630
+ ip: string;
8631
+ headers: Record<string, string | string[] | undefined>;
8632
+ }>, Record<never, never>>, Record<never, never>>, never> & Record<never, never>, import("zod").ZodObject<{
8633
+ workspaceId: import("zod/v4/core").$ZodBranded<import("zod").ZodUUID, "WorkspaceId", "out">;
8634
+ from: import("zod").ZodISODate;
8635
+ to: import("zod").ZodISODate;
8636
+ by: import("zod").ZodDefault<import("zod").ZodEnum<{
8637
+ office: "office";
8638
+ legal_entity: "legal_entity";
8639
+ workspace: "workspace";
8640
+ }>>;
8641
+ sliceId: import("zod").ZodOptional<import("zod").ZodUUID>;
8642
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
8643
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8644
+ header: import("zod").ZodObject<{
8645
+ from: import("zod").ZodISODate;
8646
+ to: import("zod").ZodISODate;
8647
+ slice: import("zod").ZodObject<{
8648
+ by: import("zod").ZodEnum<{
8649
+ office: "office";
8650
+ legal_entity: "legal_entity";
8651
+ workspace: "workspace";
8652
+ }>;
8653
+ id: import("zod").ZodNullable<import("zod").ZodUUID>;
8654
+ name: import("zod").ZodNullable<import("zod").ZodString>;
8655
+ }, import("zod/v4/core").$strip>;
8656
+ scope: import("zod").ZodObject<{
8657
+ permissions: import("zod").ZodArray<import("zod").ZodString>;
8658
+ askedAt: import("zod").ZodLiteral<"workspace">;
8659
+ }, import("zod/v4/core").$strip>;
8660
+ population: import("zod").ZodNumber;
8661
+ counted: import("zod").ZodNumber;
8662
+ attribution: import("zod").ZodEnum<{
8663
+ each_day: "each_day";
8664
+ as_of_date: "as_of_date";
8665
+ not_applicable: "not_applicable";
8666
+ }>;
8667
+ attributionOn: import("zod").ZodNullable<import("zod").ZodISODate>;
8668
+ truncated: import("zod").ZodBoolean;
8669
+ }, import("zod/v4/core").$strip>;
8670
+ finality: import("zod").ZodObject<{
8671
+ lockedDays: import("zod").ZodNumber;
8672
+ openDays: import("zod").ZodNumber;
8673
+ final: import("zod").ZodBoolean;
8674
+ firstOpenDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8675
+ lastLockedDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8676
+ }, import("zod/v4/core").$strip>;
8677
+ totals: import("zod").ZodObject<{
8678
+ overtimeMinutes: import("zod").ZodNumber;
8679
+ beyondCapMinutes: import("zod").ZodNullable<import("zod").ZodNumber>;
8680
+ days: import("zod").ZodNumber;
8681
+ cappedDays: import("zod").ZodNumber;
8682
+ uncappedDays: import("zod").ZodNumber;
8683
+ }, import("zod/v4/core").$strip>;
8684
+ rows: import("zod").ZodArray<import("zod").ZodObject<{
8685
+ personId: import("zod").ZodUUID;
8686
+ displayName: import("zod").ZodString;
8687
+ days: import("zod").ZodNumber;
8688
+ overtimeMinutes: import("zod").ZodNumber;
8689
+ beyondCapMinutes: import("zod").ZodNullable<import("zod").ZodNumber>;
8690
+ cappedDays: import("zod").ZodNumber;
8691
+ uncappedDays: import("zod").ZodNumber;
8692
+ }, import("zod/v4/core").$strip>>;
8693
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
8694
+ BAD_REQUEST: {
8695
+ data: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
8696
+ };
8697
+ UNAUTHORIZED: {};
8698
+ FORBIDDEN: {
8699
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8700
+ permission: import("zod").ZodOptional<import("zod").ZodString>;
8701
+ }, import("zod/v4/core").$strip>>;
8702
+ };
8703
+ NOT_FOUND: {};
8704
+ CONFLICT: {
8705
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8706
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
8707
+ }, import("zod/v4/core").$strip>>;
8708
+ };
8709
+ RATE_LIMITED: {};
8710
+ MODULE_DISABLED: {
8711
+ data: import("zod").ZodObject<{
8712
+ module: import("zod").ZodString;
8713
+ }, import("zod/v4/core").$strip>;
8714
+ };
8715
+ }>>, Record<never, never>>;
8716
+ absence: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<RequestContext & Record<never, never>, RequestContext & Record<never, never> & Omit<RequestContext & Record<never, never>, keyof RequestContext> & Omit<RequestContext & Record<never, never>, "workspaceId" | "requestId" | "kernel" | "principal" | "ip" | "headers">, RequestContext>, Omit<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<RequestContext, {
8717
+ workspaceId: string;
8718
+ kernel: Kernel;
8719
+ principal: {
8720
+ kind: "service" | "user" | "api_key" | "anonymous";
8721
+ userId: (string & import("zod").$brand<"UserId">) | null;
8722
+ email: string | null;
8723
+ name: string | null;
8724
+ locale: "en" | "fa" | "ar" | "de";
8725
+ instanceAdmin: boolean;
8726
+ service: string | null;
8727
+ memberships: {
8728
+ workspaceId: string & import("zod").$brand<"WorkspaceId">;
8729
+ role: "owner" | "admin" | "member" | "guest";
8730
+ roleIds: string[];
8731
+ groupIds: string[];
8732
+ status: "active" | "invited" | "suspended";
8733
+ }[];
8734
+ permissionVersion: number;
8735
+ };
8736
+ requestId: string;
8737
+ ip: string;
8738
+ headers: Record<string, string | string[] | undefined>;
8739
+ }>, Record<never, never>>, Record<never, never>>, never> & Record<never, never>, import("zod").ZodObject<{
8740
+ workspaceId: import("zod/v4/core").$ZodBranded<import("zod").ZodUUID, "WorkspaceId", "out">;
8741
+ from: import("zod").ZodISODate;
8742
+ to: import("zod").ZodISODate;
8743
+ by: import("zod").ZodDefault<import("zod").ZodEnum<{
8744
+ office: "office";
8745
+ legal_entity: "legal_entity";
8746
+ workspace: "workspace";
8747
+ }>>;
8748
+ sliceId: import("zod").ZodOptional<import("zod").ZodUUID>;
8749
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
8750
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8751
+ header: import("zod").ZodObject<{
8752
+ from: import("zod").ZodISODate;
8753
+ to: import("zod").ZodISODate;
8754
+ slice: import("zod").ZodObject<{
8755
+ by: import("zod").ZodEnum<{
8756
+ office: "office";
8757
+ legal_entity: "legal_entity";
8758
+ workspace: "workspace";
8759
+ }>;
8760
+ id: import("zod").ZodNullable<import("zod").ZodUUID>;
8761
+ name: import("zod").ZodNullable<import("zod").ZodString>;
8762
+ }, import("zod/v4/core").$strip>;
8763
+ scope: import("zod").ZodObject<{
8764
+ permissions: import("zod").ZodArray<import("zod").ZodString>;
8765
+ askedAt: import("zod").ZodLiteral<"workspace">;
8766
+ }, import("zod/v4/core").$strip>;
8767
+ population: import("zod").ZodNumber;
8768
+ counted: import("zod").ZodNumber;
8769
+ attribution: import("zod").ZodEnum<{
8770
+ each_day: "each_day";
8771
+ as_of_date: "as_of_date";
8772
+ not_applicable: "not_applicable";
8773
+ }>;
8774
+ attributionOn: import("zod").ZodNullable<import("zod").ZodISODate>;
8775
+ truncated: import("zod").ZodBoolean;
8776
+ }, import("zod/v4/core").$strip>;
8777
+ finality: import("zod").ZodObject<{
8778
+ lockedDays: import("zod").ZodNumber;
8779
+ openDays: import("zod").ZodNumber;
8780
+ final: import("zod").ZodBoolean;
8781
+ firstOpenDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8782
+ lastLockedDay: import("zod").ZodNullable<import("zod").ZodISODate>;
8783
+ }, import("zod/v4/core").$strip>;
8784
+ leaveCounted: import("zod").ZodBoolean;
8785
+ totals: import("zod").ZodObject<{
8786
+ measured: import("zod").ZodNumber;
8787
+ expectedDays: import("zod").ZodNumber;
8788
+ workedDays: import("zod").ZodNumber;
8789
+ leaveDays: import("zod").ZodNullable<import("zod").ZodNumber>;
8790
+ absentDays: import("zod").ZodNumber;
8791
+ absenceRate: import("zod").ZodNullable<import("zod").ZodNumber>;
8792
+ }, import("zod/v4/core").$strip>;
8793
+ excluded: import("zod").ZodObject<{
8794
+ noSchedule: import("zod").ZodNumber;
8795
+ noCalendar: import("zod").ZodNumber;
8796
+ }, import("zod/v4/core").$strip>;
8797
+ rows: import("zod").ZodArray<import("zod").ZodObject<{
8798
+ personId: import("zod").ZodUUID;
8799
+ displayName: import("zod").ZodString;
8800
+ basis: import("zod").ZodEnum<{
8801
+ calendar: "calendar";
8802
+ no_calendar: "no_calendar";
8803
+ no_schedule: "no_schedule";
8804
+ }>;
8805
+ expectedDays: import("zod").ZodNullable<import("zod").ZodNumber>;
8806
+ workedDays: import("zod").ZodNullable<import("zod").ZodNumber>;
8807
+ leaveDays: import("zod").ZodNullable<import("zod").ZodNumber>;
8808
+ absentDays: import("zod").ZodNullable<import("zod").ZodNumber>;
8809
+ absenceRate: import("zod").ZodNullable<import("zod").ZodNumber>;
8810
+ }, import("zod/v4/core").$strip>>;
8811
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
8812
+ BAD_REQUEST: {
8813
+ data: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
8814
+ };
8815
+ UNAUTHORIZED: {};
8816
+ FORBIDDEN: {
8817
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8818
+ permission: import("zod").ZodOptional<import("zod").ZodString>;
8819
+ }, import("zod/v4/core").$strip>>;
8820
+ };
8821
+ NOT_FOUND: {};
8822
+ CONFLICT: {
8823
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8824
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
8825
+ }, import("zod/v4/core").$strip>>;
8826
+ };
8827
+ RATE_LIMITED: {};
8828
+ MODULE_DISABLED: {
8829
+ data: import("zod").ZodObject<{
8830
+ module: import("zod").ZodString;
8831
+ }, import("zod/v4/core").$strip>;
8832
+ };
8833
+ }>>, Record<never, never>>;
8834
+ leaveBalance: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<RequestContext & Record<never, never>, RequestContext & Record<never, never> & Omit<RequestContext & Record<never, never>, keyof RequestContext> & Omit<RequestContext & Record<never, never>, "workspaceId" | "requestId" | "kernel" | "principal" | "ip" | "headers">, RequestContext>, Omit<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<import("@orpc/server").MergedCurrentContext<RequestContext, {
8835
+ workspaceId: string;
8836
+ kernel: Kernel;
8837
+ principal: {
8838
+ kind: "service" | "user" | "api_key" | "anonymous";
8839
+ userId: (string & import("zod").$brand<"UserId">) | null;
8840
+ email: string | null;
8841
+ name: string | null;
8842
+ locale: "en" | "fa" | "ar" | "de";
8843
+ instanceAdmin: boolean;
8844
+ service: string | null;
8845
+ memberships: {
8846
+ workspaceId: string & import("zod").$brand<"WorkspaceId">;
8847
+ role: "owner" | "admin" | "member" | "guest";
8848
+ roleIds: string[];
8849
+ groupIds: string[];
8850
+ status: "active" | "invited" | "suspended";
8851
+ }[];
8852
+ permissionVersion: number;
8853
+ };
8854
+ requestId: string;
8855
+ ip: string;
8856
+ headers: Record<string, string | string[] | undefined>;
8857
+ }>, Record<never, never>>, Record<never, never>>, never> & Record<never, never>, import("zod").ZodObject<{
8858
+ workspaceId: import("zod/v4/core").$ZodBranded<import("zod").ZodUUID, "WorkspaceId", "out">;
8859
+ periodYear: import("zod").ZodOptional<import("zod").ZodNumber>;
8860
+ asOf: import("zod").ZodOptional<import("zod").ZodISODate>;
8861
+ by: import("zod").ZodDefault<import("zod").ZodEnum<{
8862
+ office: "office";
8863
+ legal_entity: "legal_entity";
8864
+ workspace: "workspace";
8865
+ }>>;
8866
+ sliceId: import("zod").ZodOptional<import("zod").ZodUUID>;
8867
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
8868
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8869
+ header: import("zod").ZodObject<{
8870
+ from: import("zod").ZodISODate;
8871
+ to: import("zod").ZodISODate;
8872
+ slice: import("zod").ZodObject<{
8873
+ by: import("zod").ZodEnum<{
8874
+ office: "office";
8875
+ legal_entity: "legal_entity";
8876
+ workspace: "workspace";
8877
+ }>;
8878
+ id: import("zod").ZodNullable<import("zod").ZodUUID>;
8879
+ name: import("zod").ZodNullable<import("zod").ZodString>;
8880
+ }, import("zod/v4/core").$strip>;
8881
+ scope: import("zod").ZodObject<{
8882
+ permissions: import("zod").ZodArray<import("zod").ZodString>;
8883
+ askedAt: import("zod").ZodLiteral<"workspace">;
8884
+ }, import("zod/v4/core").$strip>;
8885
+ population: import("zod").ZodNumber;
8886
+ counted: import("zod").ZodNumber;
8887
+ attribution: import("zod").ZodEnum<{
8888
+ each_day: "each_day";
8889
+ as_of_date: "as_of_date";
8890
+ not_applicable: "not_applicable";
8891
+ }>;
8892
+ attributionOn: import("zod").ZodNullable<import("zod").ZodISODate>;
8893
+ truncated: import("zod").ZodBoolean;
8894
+ }, import("zod/v4/core").$strip>;
8895
+ periodYear: import("zod").ZodNumber;
8896
+ dayLengthMinutes: import("zod").ZodNumber;
8897
+ totals: import("zod").ZodArray<import("zod").ZodObject<{
8898
+ leaveTypeId: import("zod").ZodUUID;
8899
+ leaveTypeName: import("zod").ZodString;
8900
+ unit: import("zod").ZodEnum<{
8901
+ half_day: "half_day";
8902
+ day: "day";
8903
+ hour: "hour";
8904
+ }>;
8905
+ people: import("zod").ZodNumber;
8906
+ balanceMinutes: import("zod").ZodNumber;
8907
+ bookedMinutes: import("zod").ZodNumber;
8908
+ pendingMinutes: import("zod").ZodNumber;
8909
+ availableMinutes: import("zod").ZodNumber;
8910
+ }, import("zod/v4/core").$strip>>;
8911
+ rows: import("zod").ZodArray<import("zod").ZodObject<{
8912
+ personId: import("zod").ZodUUID;
8913
+ displayName: import("zod").ZodString;
8914
+ leaveTypeId: import("zod").ZodUUID;
8915
+ leaveTypeName: import("zod").ZodString;
8916
+ unit: import("zod").ZodEnum<{
8917
+ half_day: "half_day";
8918
+ day: "day";
8919
+ hour: "hour";
8920
+ }>;
8921
+ balanceMinutes: import("zod").ZodNumber;
8922
+ bookedMinutes: import("zod").ZodNumber;
8923
+ pendingMinutes: import("zod").ZodNumber;
8924
+ availableMinutes: import("zod").ZodNumber;
8925
+ balance: import("zod").ZodNumber;
8926
+ available: import("zod").ZodNumber;
8927
+ }, import("zod/v4/core").$strip>>;
8928
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, import("@orpc/server").MergedErrorMap<Record<never, never>, {
8929
+ BAD_REQUEST: {
8930
+ data: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
8931
+ };
8932
+ UNAUTHORIZED: {};
8933
+ FORBIDDEN: {
8934
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8935
+ permission: import("zod").ZodOptional<import("zod").ZodString>;
8936
+ }, import("zod/v4/core").$strip>>;
8937
+ };
8938
+ NOT_FOUND: {};
8939
+ CONFLICT: {
8940
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
8941
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
8942
+ }, import("zod/v4/core").$strip>>;
8943
+ };
8944
+ RATE_LIMITED: {};
8945
+ MODULE_DISABLED: {
8946
+ data: import("zod").ZodObject<{
8947
+ module: import("zod").ZodString;
8948
+ }, import("zod/v4/core").$strip>;
8949
+ };
8950
+ }>>, Record<never, never>>;
8951
+ };
8466
8952
  privacy: {
8467
8953
  subjectAccess: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<RequestContext & Record<never, never>, RequestContext & Record<never, never> & Omit<RequestContext & Record<never, never>, keyof RequestContext> & Omit<RequestContext & Record<never, never>, "workspaceId" | "requestId" | "kernel" | "principal" | "ip" | "headers">, RequestContext>, Omit<import("@orpc/server").MergedCurrentContext<RequestContext, {
8468
8954
  workspaceId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,EAEX,KAAK,cAAc,EAGnB,KAAK,EAAE,EAGR,MAAM,gBAAgB,CAAA;AAgEvB,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,EAAE,aAAa,EAA2B,MAAM,sBAAsB,CAAA;AAS7E,OAAO,EAAwB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAsK5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,iBAAiB,CAAA;CAC9B;sBAGgC,EAAE,eAAe,MAAM,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;mBAkBnE,EAAE,eACO,MAAM,YACT,MAAM,SACT;QACL,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QACzC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB;;;;;;;;;;;;kBAE6B,MAAM;qBAAW,MAAM;;;wBAkHtB,EAAE,eAAe,MAAM,kBAAkB,MAAM,WAAW,MAAM,GAAG,IAAI;8BAmEjE,EAAE,eAAe,MAAM,oBAAoB,MAAM;wBAdvD,EAAE,eAAe,MAAM,YAAY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiFxE;;;;;;;;;OASG;2BACoB,MAAM,GAAG,IAAI,KAAG,eAAe;EAOzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAozIxC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,EAEX,KAAK,cAAc,EAGnB,KAAK,EAAE,EAGR,MAAM,gBAAgB,CAAA;AA0EvB,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,EAAE,aAAa,EAA2B,MAAM,sBAAsB,CAAA;AAsB7E,OAAO,EAAwB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAuH5E;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;;UAmsKM,KAAK;YACD,MAAM,GAAG,QAAQ;;;;;;;;;;;;KAjqKtC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,iBAAiB,CAAA;CAC9B;sBAGgC,EAAE,eAAe,MAAM,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;mBAkBnE,EAAE,eACO,MAAM,YACT,MAAM,SACT;QACL,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QACzC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB;;;;;;;;;;;;kBAE6B,MAAM;qBAAW,MAAM;;;wBAkHtB,EAAE,eAAe,MAAM,kBAAkB,MAAM,WAAW,MAAM,GAAG,IAAI;8BAmEjE,EAAE,eAAe,MAAM,oBAAoB,MAAM;wBAdvD,EAAE,eAAe,MAAM,YAAY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiFxE;;;;;;;;;OASG;2BACoB,MAAM,GAAG,IAAI,KAAG,eAAe;EAOzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsyJxC"}