@customafk/lunas-api-sdk 0.0.99 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +203 -20
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +203 -20
- package/dist/index.d.mts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -2525,17 +2525,17 @@ declare const _createClient: () => {
|
|
|
2525
2525
|
}[];
|
|
2526
2526
|
orderTimelines: {
|
|
2527
2527
|
uuid: string;
|
|
2528
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
2528
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
2529
2529
|
createdAt: Date;
|
|
2530
2530
|
updatedAt: Date;
|
|
2531
2531
|
completedAt: Date | null;
|
|
2532
2532
|
actorUuid: string | null;
|
|
2533
2533
|
title: string;
|
|
2534
2534
|
content: string | null;
|
|
2535
|
+
startedAt: Date;
|
|
2535
2536
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
2536
2537
|
manifestUuid: string | null;
|
|
2537
2538
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
2538
|
-
startedAt: Date;
|
|
2539
2539
|
isPublic: boolean;
|
|
2540
2540
|
metadata: unknown;
|
|
2541
2541
|
}[];
|
|
@@ -2678,17 +2678,17 @@ declare const _createClient: () => {
|
|
|
2678
2678
|
}[];
|
|
2679
2679
|
orderTimelines: {
|
|
2680
2680
|
uuid: string;
|
|
2681
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
2681
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
2682
2682
|
createdAt: Date;
|
|
2683
2683
|
updatedAt: Date;
|
|
2684
2684
|
completedAt: Date | null;
|
|
2685
2685
|
actorUuid: string | null;
|
|
2686
2686
|
title: string;
|
|
2687
2687
|
content: string | null;
|
|
2688
|
+
startedAt: Date;
|
|
2688
2689
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
2689
2690
|
manifestUuid: string | null;
|
|
2690
2691
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
2691
|
-
startedAt: Date;
|
|
2692
2692
|
isPublic: boolean;
|
|
2693
2693
|
metadata: unknown;
|
|
2694
2694
|
}[];
|
|
@@ -3153,17 +3153,17 @@ declare const _createClient: () => {
|
|
|
3153
3153
|
}[];
|
|
3154
3154
|
orderTimelines: {
|
|
3155
3155
|
uuid: string;
|
|
3156
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
3156
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
3157
3157
|
createdAt: Date;
|
|
3158
3158
|
updatedAt: Date;
|
|
3159
3159
|
completedAt: Date | null;
|
|
3160
3160
|
actorUuid: string | null;
|
|
3161
3161
|
title: string;
|
|
3162
3162
|
content: string | null;
|
|
3163
|
+
startedAt: Date;
|
|
3163
3164
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
3164
3165
|
manifestUuid: string | null;
|
|
3165
3166
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
3166
|
-
startedAt: Date;
|
|
3167
3167
|
isPublic: boolean;
|
|
3168
3168
|
metadata: unknown;
|
|
3169
3169
|
}[];
|
|
@@ -3306,17 +3306,17 @@ declare const _createClient: () => {
|
|
|
3306
3306
|
}[];
|
|
3307
3307
|
orderTimelines: {
|
|
3308
3308
|
uuid: string;
|
|
3309
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
3309
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
3310
3310
|
createdAt: Date;
|
|
3311
3311
|
updatedAt: Date;
|
|
3312
3312
|
completedAt: Date | null;
|
|
3313
3313
|
actorUuid: string | null;
|
|
3314
3314
|
title: string;
|
|
3315
3315
|
content: string | null;
|
|
3316
|
+
startedAt: Date;
|
|
3316
3317
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
3317
3318
|
manifestUuid: string | null;
|
|
3318
3319
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
3319
|
-
startedAt: Date;
|
|
3320
3320
|
isPublic: boolean;
|
|
3321
3321
|
metadata: unknown;
|
|
3322
3322
|
}[];
|
|
@@ -5961,6 +5961,189 @@ declare const _createClient: () => {
|
|
|
5961
5961
|
} & {
|
|
5962
5962
|
'~path': string;
|
|
5963
5963
|
};
|
|
5964
|
+
"database-backups": ((params: {
|
|
5965
|
+
backupUuid: string | number;
|
|
5966
|
+
}) => {
|
|
5967
|
+
download: {
|
|
5968
|
+
get: ((options?: {
|
|
5969
|
+
fetch?: RequestInit | undefined;
|
|
5970
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
5971
|
+
headers?: {} | undefined;
|
|
5972
|
+
query?: {} | undefined;
|
|
5973
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
5974
|
+
200: {
|
|
5975
|
+
success: false;
|
|
5976
|
+
statusCode: number;
|
|
5977
|
+
data: null;
|
|
5978
|
+
message: string;
|
|
5979
|
+
error: TResponseError;
|
|
5980
|
+
meta: TResponseMeta;
|
|
5981
|
+
} | {
|
|
5982
|
+
success: true;
|
|
5983
|
+
statusCode: number;
|
|
5984
|
+
data: {
|
|
5985
|
+
downloadUrl: string;
|
|
5986
|
+
manifestUrl: string | undefined;
|
|
5987
|
+
fileName: string;
|
|
5988
|
+
sizeBytes: number | null;
|
|
5989
|
+
};
|
|
5990
|
+
message: null;
|
|
5991
|
+
error: null;
|
|
5992
|
+
meta: TResponseMeta;
|
|
5993
|
+
};
|
|
5994
|
+
422: {
|
|
5995
|
+
type: "validation";
|
|
5996
|
+
on: string;
|
|
5997
|
+
summary?: string;
|
|
5998
|
+
message?: string;
|
|
5999
|
+
found?: unknown;
|
|
6000
|
+
property?: string;
|
|
6001
|
+
expected?: string;
|
|
6002
|
+
};
|
|
6003
|
+
}>>) & {
|
|
6004
|
+
'~path': string;
|
|
6005
|
+
};
|
|
6006
|
+
} & {
|
|
6007
|
+
'~path': string;
|
|
6008
|
+
};
|
|
6009
|
+
'~path': string;
|
|
6010
|
+
} & {
|
|
6011
|
+
download: {
|
|
6012
|
+
get: ((options?: {
|
|
6013
|
+
fetch?: RequestInit | undefined;
|
|
6014
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6015
|
+
headers?: {} | undefined;
|
|
6016
|
+
query?: {} | undefined;
|
|
6017
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6018
|
+
200: {
|
|
6019
|
+
success: false;
|
|
6020
|
+
statusCode: number;
|
|
6021
|
+
data: null;
|
|
6022
|
+
message: string;
|
|
6023
|
+
error: TResponseError;
|
|
6024
|
+
meta: TResponseMeta;
|
|
6025
|
+
} | {
|
|
6026
|
+
success: true;
|
|
6027
|
+
statusCode: number;
|
|
6028
|
+
data: {
|
|
6029
|
+
downloadUrl: string;
|
|
6030
|
+
manifestUrl: string | undefined;
|
|
6031
|
+
fileName: string;
|
|
6032
|
+
sizeBytes: number | null;
|
|
6033
|
+
};
|
|
6034
|
+
message: null;
|
|
6035
|
+
error: null;
|
|
6036
|
+
meta: TResponseMeta;
|
|
6037
|
+
};
|
|
6038
|
+
422: {
|
|
6039
|
+
type: "validation";
|
|
6040
|
+
on: string;
|
|
6041
|
+
summary?: string;
|
|
6042
|
+
message?: string;
|
|
6043
|
+
found?: unknown;
|
|
6044
|
+
property?: string;
|
|
6045
|
+
expected?: string;
|
|
6046
|
+
};
|
|
6047
|
+
}>>) & {
|
|
6048
|
+
'~path': string;
|
|
6049
|
+
};
|
|
6050
|
+
} & {
|
|
6051
|
+
'~path': string;
|
|
6052
|
+
};
|
|
6053
|
+
}) & {
|
|
6054
|
+
get: ((options?: {
|
|
6055
|
+
fetch?: RequestInit | undefined;
|
|
6056
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6057
|
+
headers?: {} | undefined;
|
|
6058
|
+
query?: {
|
|
6059
|
+
page?: number | undefined;
|
|
6060
|
+
limit?: number | undefined;
|
|
6061
|
+
status?: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED" | undefined;
|
|
6062
|
+
} | undefined;
|
|
6063
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6064
|
+
200: {
|
|
6065
|
+
success: false;
|
|
6066
|
+
statusCode: number;
|
|
6067
|
+
data: null;
|
|
6068
|
+
message: string;
|
|
6069
|
+
error: TResponseError;
|
|
6070
|
+
meta: TResponseMeta;
|
|
6071
|
+
} | {
|
|
6072
|
+
success: true;
|
|
6073
|
+
statusCode: number;
|
|
6074
|
+
data: {
|
|
6075
|
+
data: {
|
|
6076
|
+
type: "MANUAL" | "PRE_RESTORE_SNAPSHOT";
|
|
6077
|
+
uuid: string;
|
|
6078
|
+
status: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED";
|
|
6079
|
+
createdAt: Date;
|
|
6080
|
+
completedAt: Date | null;
|
|
6081
|
+
tableCount: number;
|
|
6082
|
+
totalRowCount: number;
|
|
6083
|
+
sizeBytes: number | null;
|
|
6084
|
+
errorMessage: string | null;
|
|
6085
|
+
startedAt: Date;
|
|
6086
|
+
createdBy: {
|
|
6087
|
+
uuid: string;
|
|
6088
|
+
email: string;
|
|
6089
|
+
username: string;
|
|
6090
|
+
} | null;
|
|
6091
|
+
}[];
|
|
6092
|
+
pagination: {
|
|
6093
|
+
page: number;
|
|
6094
|
+
limit: number;
|
|
6095
|
+
total: number;
|
|
6096
|
+
totalPages: number;
|
|
6097
|
+
hasNextPage: boolean;
|
|
6098
|
+
hasPreviousPage: boolean;
|
|
6099
|
+
};
|
|
6100
|
+
};
|
|
6101
|
+
message: null;
|
|
6102
|
+
error: null;
|
|
6103
|
+
meta: TResponseMeta;
|
|
6104
|
+
};
|
|
6105
|
+
422: {
|
|
6106
|
+
type: "validation";
|
|
6107
|
+
on: string;
|
|
6108
|
+
summary?: string;
|
|
6109
|
+
message?: string;
|
|
6110
|
+
found?: unknown;
|
|
6111
|
+
property?: string;
|
|
6112
|
+
expected?: string;
|
|
6113
|
+
};
|
|
6114
|
+
}>>) & {
|
|
6115
|
+
'~path': string;
|
|
6116
|
+
};
|
|
6117
|
+
post: ((body?: {} | undefined, options?: {
|
|
6118
|
+
fetch?: RequestInit | undefined;
|
|
6119
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6120
|
+
headers?: {} | undefined;
|
|
6121
|
+
query?: {} | undefined;
|
|
6122
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6123
|
+
200: {
|
|
6124
|
+
success: false;
|
|
6125
|
+
statusCode: number;
|
|
6126
|
+
data: null;
|
|
6127
|
+
message: string;
|
|
6128
|
+
error: TResponseError;
|
|
6129
|
+
meta: TResponseMeta;
|
|
6130
|
+
} | {
|
|
6131
|
+
success: true;
|
|
6132
|
+
statusCode: number;
|
|
6133
|
+
data: {
|
|
6134
|
+
uuid: string;
|
|
6135
|
+
status: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED";
|
|
6136
|
+
};
|
|
6137
|
+
message: null;
|
|
6138
|
+
error: null;
|
|
6139
|
+
meta: TResponseMeta;
|
|
6140
|
+
};
|
|
6141
|
+
}>>) & {
|
|
6142
|
+
'~path': string;
|
|
6143
|
+
};
|
|
6144
|
+
} & {
|
|
6145
|
+
'~path': string;
|
|
6146
|
+
};
|
|
5964
6147
|
deposits: ((params: {
|
|
5965
6148
|
depositId: string | number;
|
|
5966
6149
|
}) => {
|
|
@@ -10858,17 +11041,17 @@ declare const _createClient: () => {
|
|
|
10858
11041
|
}[];
|
|
10859
11042
|
orderTimelines: {
|
|
10860
11043
|
uuid: string;
|
|
10861
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
11044
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
10862
11045
|
createdAt: Date;
|
|
10863
11046
|
updatedAt: Date;
|
|
10864
11047
|
completedAt: Date | null;
|
|
10865
11048
|
actorUuid: string | null;
|
|
10866
11049
|
title: string;
|
|
10867
11050
|
content: string | null;
|
|
11051
|
+
startedAt: Date;
|
|
10868
11052
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
10869
11053
|
manifestUuid: string | null;
|
|
10870
11054
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
10871
|
-
startedAt: Date;
|
|
10872
11055
|
isPublic: boolean;
|
|
10873
11056
|
metadata: unknown;
|
|
10874
11057
|
}[];
|
|
@@ -11675,17 +11858,17 @@ declare const _createClient: () => {
|
|
|
11675
11858
|
statusCode: number;
|
|
11676
11859
|
data: {
|
|
11677
11860
|
uuid: string;
|
|
11678
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
11861
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
11679
11862
|
createdAt: Date;
|
|
11680
11863
|
updatedAt: Date;
|
|
11681
11864
|
completedAt: Date | null;
|
|
11682
11865
|
actorUuid: string | null;
|
|
11683
11866
|
title: string;
|
|
11684
11867
|
content: string | null;
|
|
11868
|
+
startedAt: Date;
|
|
11685
11869
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
11686
11870
|
manifestUuid: string | null;
|
|
11687
11871
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
11688
|
-
startedAt: Date;
|
|
11689
11872
|
isPublic: boolean;
|
|
11690
11873
|
}[];
|
|
11691
11874
|
message: null;
|
|
@@ -12018,17 +12201,17 @@ declare const _createClient: () => {
|
|
|
12018
12201
|
}[];
|
|
12019
12202
|
orderTimelines: {
|
|
12020
12203
|
uuid: string;
|
|
12021
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
12204
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
12022
12205
|
createdAt: Date;
|
|
12023
12206
|
updatedAt: Date;
|
|
12024
12207
|
completedAt: Date | null;
|
|
12025
12208
|
actorUuid: string | null;
|
|
12026
12209
|
title: string;
|
|
12027
12210
|
content: string | null;
|
|
12211
|
+
startedAt: Date;
|
|
12028
12212
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
12029
12213
|
manifestUuid: string | null;
|
|
12030
12214
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
12031
|
-
startedAt: Date;
|
|
12032
12215
|
isPublic: boolean;
|
|
12033
12216
|
metadata: unknown;
|
|
12034
12217
|
}[];
|
|
@@ -12835,17 +13018,17 @@ declare const _createClient: () => {
|
|
|
12835
13018
|
statusCode: number;
|
|
12836
13019
|
data: {
|
|
12837
13020
|
uuid: string;
|
|
12838
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
13021
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
12839
13022
|
createdAt: Date;
|
|
12840
13023
|
updatedAt: Date;
|
|
12841
13024
|
completedAt: Date | null;
|
|
12842
13025
|
actorUuid: string | null;
|
|
12843
13026
|
title: string;
|
|
12844
13027
|
content: string | null;
|
|
13028
|
+
startedAt: Date;
|
|
12845
13029
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
12846
13030
|
manifestUuid: string | null;
|
|
12847
13031
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
12848
|
-
startedAt: Date;
|
|
12849
13032
|
isPublic: boolean;
|
|
12850
13033
|
}[];
|
|
12851
13034
|
message: null;
|
|
@@ -20689,17 +20872,17 @@ declare const _createClient: () => {
|
|
|
20689
20872
|
}[];
|
|
20690
20873
|
orderTimelines: {
|
|
20691
20874
|
uuid: string;
|
|
20692
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
20875
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
20693
20876
|
createdAt: Date;
|
|
20694
20877
|
updatedAt: Date;
|
|
20695
20878
|
estimatedDeliveryAt: Date | null;
|
|
20696
20879
|
completedAt: Date | null;
|
|
20697
20880
|
title: string;
|
|
20698
20881
|
content: string | null;
|
|
20882
|
+
startedAt: Date;
|
|
20699
20883
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
20700
20884
|
manifestUuid: string | null;
|
|
20701
20885
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
20702
|
-
startedAt: Date;
|
|
20703
20886
|
metadata: unknown;
|
|
20704
20887
|
}[];
|
|
20705
20888
|
orderCoupons: {
|
|
@@ -20987,17 +21170,17 @@ declare const _createClient: () => {
|
|
|
20987
21170
|
}[];
|
|
20988
21171
|
orderTimelines: {
|
|
20989
21172
|
uuid: string;
|
|
20990
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
21173
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
20991
21174
|
createdAt: Date;
|
|
20992
21175
|
updatedAt: Date;
|
|
20993
21176
|
estimatedDeliveryAt: Date | null;
|
|
20994
21177
|
completedAt: Date | null;
|
|
20995
21178
|
title: string;
|
|
20996
21179
|
content: string | null;
|
|
21180
|
+
startedAt: Date;
|
|
20997
21181
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
20998
21182
|
manifestUuid: string | null;
|
|
20999
21183
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
21000
|
-
startedAt: Date;
|
|
21001
21184
|
metadata: unknown;
|
|
21002
21185
|
}[];
|
|
21003
21186
|
orderCoupons: {
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n ORDER = 'order',\n MEMO = 'memo',\n CUSTOMER = 'customer',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n APPLICATION_PDF = 'application/pdf',\n APPLICATION_CSV = 'text/csv',\n APPLICATION_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n APPLICATION_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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AA,GAAA,IAAA;;;;kBCjIO,WAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACF,IAAA,eAAR;YAEf,CAAA,GAAA;cACI,OAAA,EAAA,IAAA;cAAX,UAAA,EAAA,MAAA;cAAR,IAAA,EAAA;gBADyB,UAAA,EAAA;kBAAI,IAAA,EAAA,MAAA;kBAMR,IAAZ,EAAA,MAAI;kBAGO,WAAA,EAAA,MAAA,GAAA,IAAA;kBAQA,IAAA,EAAA,MAAA;kBAGI,SAAA,MAAA;kBAAwB,SAAA,MAAA;gBAC7B,CAAA,EAAA;cAAwB,CAAA;cACjB,OAAA,EAAA,IAAA;cACM,KAAA,EAAA,IAAA;cAC4B,IAAA,eAAA;YAyG9C,CAAA;YAAS,GAAA,EAAA;cAAU,IAAA,EAAA,YAAA;;;;;;;;;;UAab,CAAA;QAMA,CAAA,GAAA;UAID,OAAA,EAAA,MAAA;QAKjB,CAAA;QAEe,KAAA,EAAA,CAAA,CAAA,IACb,CADa,EAAA;UAAoB,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAR,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UACjB,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;QAAR,CAAA,GAAA,SAAA,EAAA,QAAA,EAAA;UAAO,KAAA,CAAA,aAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n ORDER = 'order',\n MEMO = 'memo',\n CUSTOMER = 'customer',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n APPLICATION_PDF = 'application/pdf',\n APPLICATION_CSV = 'text/csv',\n APPLICATION_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n APPLICATION_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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AA,GAAA,IAAA;;;;kBCjIO,WAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UACvB,OAAqB,EAAA,MAAA;QAEvB,CAAA;QACI,KAAA,EAAA,CAAA,CAAA,IADU,CACV,EAAA;UAAX,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAR,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UADyB,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;QAAI,CAAA,GAAA,SAAA,EAAA,OAoBmB,CApBnB,EAAA;UAIpB,KAEK,CAAA,aAAO,GAAZ,SAAI;UAGO,cAAA,CAAA,0CAAA,SAAA;UAQA,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;UAGI,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;QAAwB,CAAA,GAAA,SAAA,EAAA,UAAA,sBAAA,CAAA;UAC7B,GAAA,EAAA;YAAwB,OAAA,EAAA,KAAA;YACjB,UAAA,EAAA,MAAA;YACM,IAAA,EAAA,IAAA;YAC4B,OAAA,EAAA,MAAA;YAyG9C,KAAA,gBAAA;YAAS,IAAA,eAAA;UAAU,CAAA,GAAA;;;;;;;;;;UAab,GAAA,EAAA;YAMA,IAAA,EAAA,YAAA;YAID,EAAA,EAAA,MAAA;YAKjB,OAAA,CAAA,EAAA,MAAA;YAEe,OAAA,CAAA,EAAA,MAAA;YAAoB,KAAA,CAAA,EAAA,OAAA;YAAR,QAAA,CAAA,EAAA,MAAA;YACjB,QAAA,CAAA,EAAA,MAAA;UAAR,CAAA;QAAO,CAAA,CAAA,CAAA,CAAA,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
|
package/dist/index.d.mts
CHANGED
|
@@ -2526,17 +2526,17 @@ declare const _createClient: () => {
|
|
|
2526
2526
|
}[];
|
|
2527
2527
|
orderTimelines: {
|
|
2528
2528
|
uuid: string;
|
|
2529
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
2529
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
2530
2530
|
createdAt: Date;
|
|
2531
2531
|
updatedAt: Date;
|
|
2532
2532
|
completedAt: Date | null;
|
|
2533
2533
|
actorUuid: string | null;
|
|
2534
2534
|
title: string;
|
|
2535
2535
|
content: string | null;
|
|
2536
|
+
startedAt: Date;
|
|
2536
2537
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
2537
2538
|
manifestUuid: string | null;
|
|
2538
2539
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
2539
|
-
startedAt: Date;
|
|
2540
2540
|
isPublic: boolean;
|
|
2541
2541
|
metadata: unknown;
|
|
2542
2542
|
}[];
|
|
@@ -2679,17 +2679,17 @@ declare const _createClient: () => {
|
|
|
2679
2679
|
}[];
|
|
2680
2680
|
orderTimelines: {
|
|
2681
2681
|
uuid: string;
|
|
2682
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
2682
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
2683
2683
|
createdAt: Date;
|
|
2684
2684
|
updatedAt: Date;
|
|
2685
2685
|
completedAt: Date | null;
|
|
2686
2686
|
actorUuid: string | null;
|
|
2687
2687
|
title: string;
|
|
2688
2688
|
content: string | null;
|
|
2689
|
+
startedAt: Date;
|
|
2689
2690
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
2690
2691
|
manifestUuid: string | null;
|
|
2691
2692
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
2692
|
-
startedAt: Date;
|
|
2693
2693
|
isPublic: boolean;
|
|
2694
2694
|
metadata: unknown;
|
|
2695
2695
|
}[];
|
|
@@ -3154,17 +3154,17 @@ declare const _createClient: () => {
|
|
|
3154
3154
|
}[];
|
|
3155
3155
|
orderTimelines: {
|
|
3156
3156
|
uuid: string;
|
|
3157
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
3157
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
3158
3158
|
createdAt: Date;
|
|
3159
3159
|
updatedAt: Date;
|
|
3160
3160
|
completedAt: Date | null;
|
|
3161
3161
|
actorUuid: string | null;
|
|
3162
3162
|
title: string;
|
|
3163
3163
|
content: string | null;
|
|
3164
|
+
startedAt: Date;
|
|
3164
3165
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
3165
3166
|
manifestUuid: string | null;
|
|
3166
3167
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
3167
|
-
startedAt: Date;
|
|
3168
3168
|
isPublic: boolean;
|
|
3169
3169
|
metadata: unknown;
|
|
3170
3170
|
}[];
|
|
@@ -3307,17 +3307,17 @@ declare const _createClient: () => {
|
|
|
3307
3307
|
}[];
|
|
3308
3308
|
orderTimelines: {
|
|
3309
3309
|
uuid: string;
|
|
3310
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
3310
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
3311
3311
|
createdAt: Date;
|
|
3312
3312
|
updatedAt: Date;
|
|
3313
3313
|
completedAt: Date | null;
|
|
3314
3314
|
actorUuid: string | null;
|
|
3315
3315
|
title: string;
|
|
3316
3316
|
content: string | null;
|
|
3317
|
+
startedAt: Date;
|
|
3317
3318
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
3318
3319
|
manifestUuid: string | null;
|
|
3319
3320
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
3320
|
-
startedAt: Date;
|
|
3321
3321
|
isPublic: boolean;
|
|
3322
3322
|
metadata: unknown;
|
|
3323
3323
|
}[];
|
|
@@ -5962,6 +5962,189 @@ declare const _createClient: () => {
|
|
|
5962
5962
|
} & {
|
|
5963
5963
|
'~path': string;
|
|
5964
5964
|
};
|
|
5965
|
+
"database-backups": ((params: {
|
|
5966
|
+
backupUuid: string | number;
|
|
5967
|
+
}) => {
|
|
5968
|
+
download: {
|
|
5969
|
+
get: ((options?: {
|
|
5970
|
+
fetch?: RequestInit | undefined;
|
|
5971
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
5972
|
+
headers?: {} | undefined;
|
|
5973
|
+
query?: {} | undefined;
|
|
5974
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
5975
|
+
200: {
|
|
5976
|
+
success: false;
|
|
5977
|
+
statusCode: number;
|
|
5978
|
+
data: null;
|
|
5979
|
+
message: string;
|
|
5980
|
+
error: TResponseError;
|
|
5981
|
+
meta: TResponseMeta;
|
|
5982
|
+
} | {
|
|
5983
|
+
success: true;
|
|
5984
|
+
statusCode: number;
|
|
5985
|
+
data: {
|
|
5986
|
+
downloadUrl: string;
|
|
5987
|
+
manifestUrl: string | undefined;
|
|
5988
|
+
fileName: string;
|
|
5989
|
+
sizeBytes: number | null;
|
|
5990
|
+
};
|
|
5991
|
+
message: null;
|
|
5992
|
+
error: null;
|
|
5993
|
+
meta: TResponseMeta;
|
|
5994
|
+
};
|
|
5995
|
+
422: {
|
|
5996
|
+
type: "validation";
|
|
5997
|
+
on: string;
|
|
5998
|
+
summary?: string;
|
|
5999
|
+
message?: string;
|
|
6000
|
+
found?: unknown;
|
|
6001
|
+
property?: string;
|
|
6002
|
+
expected?: string;
|
|
6003
|
+
};
|
|
6004
|
+
}>>) & {
|
|
6005
|
+
'~path': string;
|
|
6006
|
+
};
|
|
6007
|
+
} & {
|
|
6008
|
+
'~path': string;
|
|
6009
|
+
};
|
|
6010
|
+
'~path': string;
|
|
6011
|
+
} & {
|
|
6012
|
+
download: {
|
|
6013
|
+
get: ((options?: {
|
|
6014
|
+
fetch?: RequestInit | undefined;
|
|
6015
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6016
|
+
headers?: {} | undefined;
|
|
6017
|
+
query?: {} | undefined;
|
|
6018
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6019
|
+
200: {
|
|
6020
|
+
success: false;
|
|
6021
|
+
statusCode: number;
|
|
6022
|
+
data: null;
|
|
6023
|
+
message: string;
|
|
6024
|
+
error: TResponseError;
|
|
6025
|
+
meta: TResponseMeta;
|
|
6026
|
+
} | {
|
|
6027
|
+
success: true;
|
|
6028
|
+
statusCode: number;
|
|
6029
|
+
data: {
|
|
6030
|
+
downloadUrl: string;
|
|
6031
|
+
manifestUrl: string | undefined;
|
|
6032
|
+
fileName: string;
|
|
6033
|
+
sizeBytes: number | null;
|
|
6034
|
+
};
|
|
6035
|
+
message: null;
|
|
6036
|
+
error: null;
|
|
6037
|
+
meta: TResponseMeta;
|
|
6038
|
+
};
|
|
6039
|
+
422: {
|
|
6040
|
+
type: "validation";
|
|
6041
|
+
on: string;
|
|
6042
|
+
summary?: string;
|
|
6043
|
+
message?: string;
|
|
6044
|
+
found?: unknown;
|
|
6045
|
+
property?: string;
|
|
6046
|
+
expected?: string;
|
|
6047
|
+
};
|
|
6048
|
+
}>>) & {
|
|
6049
|
+
'~path': string;
|
|
6050
|
+
};
|
|
6051
|
+
} & {
|
|
6052
|
+
'~path': string;
|
|
6053
|
+
};
|
|
6054
|
+
}) & {
|
|
6055
|
+
get: ((options?: {
|
|
6056
|
+
fetch?: RequestInit | undefined;
|
|
6057
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6058
|
+
headers?: {} | undefined;
|
|
6059
|
+
query?: {
|
|
6060
|
+
page?: number | undefined;
|
|
6061
|
+
limit?: number | undefined;
|
|
6062
|
+
status?: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED" | undefined;
|
|
6063
|
+
} | undefined;
|
|
6064
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6065
|
+
200: {
|
|
6066
|
+
success: false;
|
|
6067
|
+
statusCode: number;
|
|
6068
|
+
data: null;
|
|
6069
|
+
message: string;
|
|
6070
|
+
error: TResponseError;
|
|
6071
|
+
meta: TResponseMeta;
|
|
6072
|
+
} | {
|
|
6073
|
+
success: true;
|
|
6074
|
+
statusCode: number;
|
|
6075
|
+
data: {
|
|
6076
|
+
data: {
|
|
6077
|
+
type: "MANUAL" | "PRE_RESTORE_SNAPSHOT";
|
|
6078
|
+
uuid: string;
|
|
6079
|
+
status: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED";
|
|
6080
|
+
createdAt: Date;
|
|
6081
|
+
completedAt: Date | null;
|
|
6082
|
+
tableCount: number;
|
|
6083
|
+
totalRowCount: number;
|
|
6084
|
+
sizeBytes: number | null;
|
|
6085
|
+
errorMessage: string | null;
|
|
6086
|
+
startedAt: Date;
|
|
6087
|
+
createdBy: {
|
|
6088
|
+
uuid: string;
|
|
6089
|
+
email: string;
|
|
6090
|
+
username: string;
|
|
6091
|
+
} | null;
|
|
6092
|
+
}[];
|
|
6093
|
+
pagination: {
|
|
6094
|
+
page: number;
|
|
6095
|
+
limit: number;
|
|
6096
|
+
total: number;
|
|
6097
|
+
totalPages: number;
|
|
6098
|
+
hasNextPage: boolean;
|
|
6099
|
+
hasPreviousPage: boolean;
|
|
6100
|
+
};
|
|
6101
|
+
};
|
|
6102
|
+
message: null;
|
|
6103
|
+
error: null;
|
|
6104
|
+
meta: TResponseMeta;
|
|
6105
|
+
};
|
|
6106
|
+
422: {
|
|
6107
|
+
type: "validation";
|
|
6108
|
+
on: string;
|
|
6109
|
+
summary?: string;
|
|
6110
|
+
message?: string;
|
|
6111
|
+
found?: unknown;
|
|
6112
|
+
property?: string;
|
|
6113
|
+
expected?: string;
|
|
6114
|
+
};
|
|
6115
|
+
}>>) & {
|
|
6116
|
+
'~path': string;
|
|
6117
|
+
};
|
|
6118
|
+
post: ((body?: {} | undefined, options?: {
|
|
6119
|
+
fetch?: RequestInit | undefined;
|
|
6120
|
+
throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
|
|
6121
|
+
headers?: {} | undefined;
|
|
6122
|
+
query?: {} | undefined;
|
|
6123
|
+
} | undefined) => Promise<Treaty.TreatyResponse<{
|
|
6124
|
+
200: {
|
|
6125
|
+
success: false;
|
|
6126
|
+
statusCode: number;
|
|
6127
|
+
data: null;
|
|
6128
|
+
message: string;
|
|
6129
|
+
error: TResponseError;
|
|
6130
|
+
meta: TResponseMeta;
|
|
6131
|
+
} | {
|
|
6132
|
+
success: true;
|
|
6133
|
+
statusCode: number;
|
|
6134
|
+
data: {
|
|
6135
|
+
uuid: string;
|
|
6136
|
+
status: "PENDING" | "COMPLETED" | "IN_PROGRESS" | "FAILED";
|
|
6137
|
+
};
|
|
6138
|
+
message: null;
|
|
6139
|
+
error: null;
|
|
6140
|
+
meta: TResponseMeta;
|
|
6141
|
+
};
|
|
6142
|
+
}>>) & {
|
|
6143
|
+
'~path': string;
|
|
6144
|
+
};
|
|
6145
|
+
} & {
|
|
6146
|
+
'~path': string;
|
|
6147
|
+
};
|
|
5965
6148
|
deposits: ((params: {
|
|
5966
6149
|
depositId: string | number;
|
|
5967
6150
|
}) => {
|
|
@@ -10859,17 +11042,17 @@ declare const _createClient: () => {
|
|
|
10859
11042
|
}[];
|
|
10860
11043
|
orderTimelines: {
|
|
10861
11044
|
uuid: string;
|
|
10862
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
11045
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
10863
11046
|
createdAt: Date;
|
|
10864
11047
|
updatedAt: Date;
|
|
10865
11048
|
completedAt: Date | null;
|
|
10866
11049
|
actorUuid: string | null;
|
|
10867
11050
|
title: string;
|
|
10868
11051
|
content: string | null;
|
|
11052
|
+
startedAt: Date;
|
|
10869
11053
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
10870
11054
|
manifestUuid: string | null;
|
|
10871
11055
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
10872
|
-
startedAt: Date;
|
|
10873
11056
|
isPublic: boolean;
|
|
10874
11057
|
metadata: unknown;
|
|
10875
11058
|
}[];
|
|
@@ -11676,17 +11859,17 @@ declare const _createClient: () => {
|
|
|
11676
11859
|
statusCode: number;
|
|
11677
11860
|
data: {
|
|
11678
11861
|
uuid: string;
|
|
11679
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
11862
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
11680
11863
|
createdAt: Date;
|
|
11681
11864
|
updatedAt: Date;
|
|
11682
11865
|
completedAt: Date | null;
|
|
11683
11866
|
actorUuid: string | null;
|
|
11684
11867
|
title: string;
|
|
11685
11868
|
content: string | null;
|
|
11869
|
+
startedAt: Date;
|
|
11686
11870
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
11687
11871
|
manifestUuid: string | null;
|
|
11688
11872
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
11689
|
-
startedAt: Date;
|
|
11690
11873
|
isPublic: boolean;
|
|
11691
11874
|
}[];
|
|
11692
11875
|
message: null;
|
|
@@ -12019,17 +12202,17 @@ declare const _createClient: () => {
|
|
|
12019
12202
|
}[];
|
|
12020
12203
|
orderTimelines: {
|
|
12021
12204
|
uuid: string;
|
|
12022
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
12205
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
12023
12206
|
createdAt: Date;
|
|
12024
12207
|
updatedAt: Date;
|
|
12025
12208
|
completedAt: Date | null;
|
|
12026
12209
|
actorUuid: string | null;
|
|
12027
12210
|
title: string;
|
|
12028
12211
|
content: string | null;
|
|
12212
|
+
startedAt: Date;
|
|
12029
12213
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
12030
12214
|
manifestUuid: string | null;
|
|
12031
12215
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
12032
|
-
startedAt: Date;
|
|
12033
12216
|
isPublic: boolean;
|
|
12034
12217
|
metadata: unknown;
|
|
12035
12218
|
}[];
|
|
@@ -12836,17 +13019,17 @@ declare const _createClient: () => {
|
|
|
12836
13019
|
statusCode: number;
|
|
12837
13020
|
data: {
|
|
12838
13021
|
uuid: string;
|
|
12839
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
13022
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
12840
13023
|
createdAt: Date;
|
|
12841
13024
|
updatedAt: Date;
|
|
12842
13025
|
completedAt: Date | null;
|
|
12843
13026
|
actorUuid: string | null;
|
|
12844
13027
|
title: string;
|
|
12845
13028
|
content: string | null;
|
|
13029
|
+
startedAt: Date;
|
|
12846
13030
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
12847
13031
|
manifestUuid: string | null;
|
|
12848
13032
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
12849
|
-
startedAt: Date;
|
|
12850
13033
|
isPublic: boolean;
|
|
12851
13034
|
}[];
|
|
12852
13035
|
message: null;
|
|
@@ -20690,17 +20873,17 @@ declare const _createClient: () => {
|
|
|
20690
20873
|
}[];
|
|
20691
20874
|
orderTimelines: {
|
|
20692
20875
|
uuid: string;
|
|
20693
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
20876
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
20694
20877
|
createdAt: Date;
|
|
20695
20878
|
updatedAt: Date;
|
|
20696
20879
|
estimatedDeliveryAt: Date | null;
|
|
20697
20880
|
completedAt: Date | null;
|
|
20698
20881
|
title: string;
|
|
20699
20882
|
content: string | null;
|
|
20883
|
+
startedAt: Date;
|
|
20700
20884
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
20701
20885
|
manifestUuid: string | null;
|
|
20702
20886
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
20703
|
-
startedAt: Date;
|
|
20704
20887
|
metadata: unknown;
|
|
20705
20888
|
}[];
|
|
20706
20889
|
orderCoupons: {
|
|
@@ -20988,17 +21171,17 @@ declare const _createClient: () => {
|
|
|
20988
21171
|
}[];
|
|
20989
21172
|
orderTimelines: {
|
|
20990
21173
|
uuid: string;
|
|
20991
|
-
status: "COMPLETED" | "IN_PROGRESS" | "
|
|
21174
|
+
status: "COMPLETED" | "IN_PROGRESS" | "FAILED" | "SKIPPED";
|
|
20992
21175
|
createdAt: Date;
|
|
20993
21176
|
updatedAt: Date;
|
|
20994
21177
|
estimatedDeliveryAt: Date | null;
|
|
20995
21178
|
completedAt: Date | null;
|
|
20996
21179
|
title: string;
|
|
20997
21180
|
content: string | null;
|
|
21181
|
+
startedAt: Date;
|
|
20998
21182
|
category: "ORDER" | "PAYMENT" | "LOGISTICS";
|
|
20999
21183
|
manifestUuid: string | null;
|
|
21000
21184
|
milestoneCode: "PURCHASED" | "ARRIVED_VN" | "DELIVERED" | "ORDER_CREATED" | "QUOTATION_SENT" | "DEPOSIT_PAID" | "ORDER_CONFIRMED" | "PAYMENT_COMPLETED" | "PAYMENT_RECEIVED" | "PAYMENT_VOIDED" | "ORDER_CANCELLED" | "PURCHASING" | "IN_WAREHOUSE_ABROAD" | "INTERNATIONAL_SHIPPING" | "ITEM_CANCELLED" | "PACKED" | "HANDED_OVER" | "DELIVERING";
|
|
21001
|
-
startedAt: Date;
|
|
21002
21185
|
metadata: unknown;
|
|
21003
21186
|
}[];
|
|
21004
21187
|
orderCoupons: {
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n ORDER = 'order',\n MEMO = 'memo',\n CUSTOMER = 'customer',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n APPLICATION_PDF = 'application/pdf',\n APPLICATION_CSV = 'text/csv',\n APPLICATION_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n APPLICATION_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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AAA;kBAA4B,SAAA,MAAA,GAAA,IAAA;kBAMT,SAAM,MAAA,GAAA,IAAA;;;;kBCjIO,MAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACvB,CAAA,GAAqB;cAEvB,OAAA,EAAA,IAAA;cACI,UAAA,EAAA,MAAA;cAAX,IAAA,EAAA;gBAAR,UAAA,EAAA;kBADyB,IAAA,EAAA,MAAA;kBAAI,IAAA,EAAA,MAAA;kBAMR,WAAR,EAAA,MAAA,GAAA,IAAA;kBAGO,IAAA,EAAA,MAAA;kBAQA,SAAA,MAAA;kBAGI,SAAA,MAAA;gBAAwB,CAAA,EAAA;cAC7B,CAAA;cAAwB,OAAA,EAAA,IAAA;cACjB,KAAA,EAAA,IAAA;cACM,IAAA,eAAA;YAC4B,CAAA;YAyG9C,GAAA,EAAA;cAAS,IAAA,EAAA,YAAA;cAAU,EAAA,EAAA,MAAA;;;;;;;;;;QAab,CAAA,GAAA;UAMA,OAAA,EAAA,MAAA;QAID,CAAA;QAKjB,KAAA,EAAA,CAAA,CAAA,IAGU,CAHV,EAAA;UAEe,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAoB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAR,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;QACjB,CAAA,GAAA,SAAA,EAAA,QAAA,EAAA;UAAR,KAAA,CAAA,aAAA,GAAA,SAAA;UAAO,cAAA,CAAA,0CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n ORDER = 'order',\n MEMO = 'memo',\n CUSTOMER = 'customer',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n APPLICATION_PDF = 'application/pdf',\n APPLICATION_CSV = 'text/csv',\n APPLICATION_DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n APPLICATION_XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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AAA;kBAA4B,SAAA,MAAA,GAAA,IAAA;kBAMT,SAAM,MAAA,GAAA,IAAA;;;;kBCjIO,MAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QACvB,CAAA;QAEF,KAAA,EAAA,CAAA,CAAA,IAAU,CAAV,EAAA;UACI,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAX,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;UAAR,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;QADyB,CAAA,GAAA,SAAA,EAAA,OAoBD,CApBC,EAAA;UAAI,KAAA,CAAA,aAAA,GAAA,SAAA;UAIpB,cAEY,CAAA,0CAAR,SAAA;UAGO,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;UAQA,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;QAGI,CAAA,GAAA,SAAA,EAAA,UAAA,sBAAA,CAAA;UAAwB,GAAA,EAAA;YAC7B,OAAA,EAAA,KAAA;YAAwB,UAAA,EAAA,MAAA;YACjB,IAAA,EAAA,IAAA;YACM,OAAA,EAAA,MAAA;YAC4B,KAAA,gBAAA;YAyG9C,IAAA,eAAA;UAAS,CAAA,GAAA;YAAU,OAAA,EAAA,IAAA;;;;;;;;;;YAab,IAAA,EAAA,YAAA;YAMA,EAAA,EAAA,MAAA;YAID,OAAA,CAAA,EAAA,MAAA;YAKjB,OAAA,CAAA,EAAA,MAAA;YAEe,KAAA,CAAA,EAAA,OAAA;YAAoB,QAAA,CAAA,EAAA,MAAA;YAAR,QAAA,CAAA,EAAA,MAAA;UACjB,CAAA;QAAR,CAAA,CAAA,CAAA,CAAA,GAAA;UAAO,OAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
|