@deepintel-ltd/farmpro-contracts 1.23.2 → 1.24.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.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/routes/commodity-deals.routes.d.ts +1339 -0
- package/dist/routes/commodity-deals.routes.d.ts.map +1 -1
- package/dist/routes/commodity-deals.routes.js +49 -1
- package/dist/routes/finance.routes.d.ts +68 -68
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +2 -0
- package/dist/routes/inventory.routes.d.ts +584 -0
- package/dist/routes/inventory.routes.d.ts.map +1 -1
- package/dist/routes/inventory.routes.js +26 -1
- package/dist/routes/live-monitor.routes.d.ts +15 -10
- package/dist/routes/live-monitor.routes.d.ts.map +1 -1
- package/dist/routes/monitoring-visualization.routes.d.ts +3 -0
- package/dist/routes/monitoring-visualization.routes.d.ts.map +1 -1
- package/dist/routes/poultry.routes.d.ts +3318 -0
- package/dist/routes/poultry.routes.d.ts.map +1 -0
- package/dist/routes/poultry.routes.js +195 -0
- package/dist/routes/team-payments.routes.d.ts +42 -42
- package/dist/routes/trade-cash-events.routes.d.ts +20 -20
- package/dist/routes/waybills.routes.d.ts +14 -0
- package/dist/routes/waybills.routes.d.ts.map +1 -1
- package/dist/schemas/commodity-deals.schemas.d.ts +484 -0
- package/dist/schemas/commodity-deals.schemas.d.ts.map +1 -1
- package/dist/schemas/commodity-deals.schemas.js +34 -0
- package/dist/schemas/finance.schemas.d.ts +78 -78
- package/dist/schemas/inventory.schemas.d.ts +122 -0
- package/dist/schemas/inventory.schemas.d.ts.map +1 -1
- package/dist/schemas/inventory.schemas.js +35 -0
- package/dist/schemas/live-monitor.schemas.d.ts +24 -16
- package/dist/schemas/live-monitor.schemas.d.ts.map +1 -1
- package/dist/schemas/live-monitor.schemas.js +3 -2
- package/dist/schemas/monitoring-visualization.schemas.d.ts +64 -0
- package/dist/schemas/monitoring-visualization.schemas.d.ts.map +1 -1
- package/dist/schemas/monitoring-visualization.schemas.js +25 -1
- package/dist/schemas/team-payments.schemas.d.ts +30 -30
- package/dist/schemas/trade-cash-events.schemas.d.ts +24 -24
- package/dist/schemas/waybills.schemas.d.ts +16 -0
- package/dist/schemas/waybills.schemas.d.ts.map +1 -1
- package/dist/schemas/waybills.schemas.js +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { initContract } from '@ts-rest/core';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { logPurchaseSchema, createInventoryItemSchema, updateInventoryItemSchema, inventoryItemResponseSchema, inventoryItemDetailResponseSchema, inventoryItemListResponseSchema, } from '../schemas/inventory.schemas';
|
|
3
|
+
import { logPurchaseSchema, logIssueSchema, createInventoryItemSchema, updateInventoryItemSchema, inventoryItemResponseSchema, inventoryItemDetailResponseSchema, inventoryItemListResponseSchema, } from '../schemas/inventory.schemas';
|
|
4
4
|
import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiSingleResponseSchema } from '../schemas/common.schemas';
|
|
5
5
|
const c = initContract();
|
|
6
6
|
export const inventoryRouter = c.router({
|
|
@@ -115,4 +115,29 @@ export const inventoryRouter = c.router({
|
|
|
115
115
|
summary: 'Log purchase',
|
|
116
116
|
description: 'Log a purchase that updates inventory and creates an expense',
|
|
117
117
|
},
|
|
118
|
+
// Issue stock (debits inventory; optional flock/field expense for P&L)
|
|
119
|
+
logIssue: {
|
|
120
|
+
method: 'POST',
|
|
121
|
+
path: '/farms/:farmId/inventory/issue',
|
|
122
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
123
|
+
body: z.object({ data: logIssueSchema }),
|
|
124
|
+
responses: {
|
|
125
|
+
201: jsonApiSingleResponseSchema(z.object({
|
|
126
|
+
type: z.literal('issue-results'),
|
|
127
|
+
id: z.string().uuid(),
|
|
128
|
+
attributes: z.object({
|
|
129
|
+
inventoryItemId: z.string().uuid(),
|
|
130
|
+
transactionId: z.string().uuid(),
|
|
131
|
+
expenseId: z.string().uuid().optional(),
|
|
132
|
+
totalCost: z.number().nonnegative(),
|
|
133
|
+
}),
|
|
134
|
+
})),
|
|
135
|
+
400: jsonApiErrorResponseSchema,
|
|
136
|
+
404: jsonApiErrorResponseSchema,
|
|
137
|
+
401: jsonApiErrorResponseSchema,
|
|
138
|
+
422: jsonApiErrorResponseSchema,
|
|
139
|
+
},
|
|
140
|
+
summary: 'Issue stock',
|
|
141
|
+
description: 'Debit inventory stock and optionally post a flock/field-allocated expense from avgCost',
|
|
142
|
+
},
|
|
118
143
|
});
|
|
@@ -235,8 +235,9 @@ export declare const liveMonitorRouter: {
|
|
|
235
235
|
batteryLevel: z.ZodNullable<z.ZodNumber>;
|
|
236
236
|
lastSyncAt: z.ZodNullable<z.ZodString>;
|
|
237
237
|
} & {
|
|
238
|
-
fieldId: z.ZodString
|
|
239
|
-
fieldName: z.ZodString
|
|
238
|
+
fieldId: z.ZodNullable<z.ZodString>;
|
|
239
|
+
fieldName: z.ZodNullable<z.ZodString>;
|
|
240
|
+
groupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
240
241
|
}, "strip", z.ZodTypeAny, {
|
|
241
242
|
type: "SOIL_MOISTURE" | "TEMPERATURE" | "HUMIDITY" | "SOIL_TEMPERATURE" | "RAIN_GAUGE" | "WIND" | "LIGHT" | "PH" | "EC" | "MULTI";
|
|
242
243
|
status: "ACTIVE" | "INACTIVE" | "ERROR" | "MAINTENANCE" | "LOW_BATTERY";
|
|
@@ -246,8 +247,8 @@ export declare const liveMonitorRouter: {
|
|
|
246
247
|
lat: number;
|
|
247
248
|
lng: number;
|
|
248
249
|
};
|
|
249
|
-
fieldId: string;
|
|
250
|
-
fieldName: string;
|
|
250
|
+
fieldId: string | null;
|
|
251
|
+
fieldName: string | null;
|
|
251
252
|
lastSyncAt: string | null;
|
|
252
253
|
currentReading: {
|
|
253
254
|
value: number;
|
|
@@ -256,6 +257,7 @@ export declare const liveMonitorRouter: {
|
|
|
256
257
|
statusColor: "green" | "yellow" | "red";
|
|
257
258
|
} | null;
|
|
258
259
|
batteryLevel: number | null;
|
|
260
|
+
groupId?: string | null | undefined;
|
|
259
261
|
}, {
|
|
260
262
|
type: "SOIL_MOISTURE" | "TEMPERATURE" | "HUMIDITY" | "SOIL_TEMPERATURE" | "RAIN_GAUGE" | "WIND" | "LIGHT" | "PH" | "EC" | "MULTI";
|
|
261
263
|
status: "ACTIVE" | "INACTIVE" | "ERROR" | "MAINTENANCE" | "LOW_BATTERY";
|
|
@@ -265,8 +267,8 @@ export declare const liveMonitorRouter: {
|
|
|
265
267
|
lat: number;
|
|
266
268
|
lng: number;
|
|
267
269
|
};
|
|
268
|
-
fieldId: string;
|
|
269
|
-
fieldName: string;
|
|
270
|
+
fieldId: string | null;
|
|
271
|
+
fieldName: string | null;
|
|
270
272
|
lastSyncAt: string | null;
|
|
271
273
|
currentReading: {
|
|
272
274
|
value: number;
|
|
@@ -275,6 +277,7 @@ export declare const liveMonitorRouter: {
|
|
|
275
277
|
statusColor: "green" | "yellow" | "red";
|
|
276
278
|
} | null;
|
|
277
279
|
batteryLevel: number | null;
|
|
280
|
+
groupId?: string | null | undefined;
|
|
278
281
|
}>, "many">;
|
|
279
282
|
totalSensors: z.ZodNumber;
|
|
280
283
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -288,8 +291,8 @@ export declare const liveMonitorRouter: {
|
|
|
288
291
|
lat: number;
|
|
289
292
|
lng: number;
|
|
290
293
|
};
|
|
291
|
-
fieldId: string;
|
|
292
|
-
fieldName: string;
|
|
294
|
+
fieldId: string | null;
|
|
295
|
+
fieldName: string | null;
|
|
293
296
|
lastSyncAt: string | null;
|
|
294
297
|
currentReading: {
|
|
295
298
|
value: number;
|
|
@@ -298,6 +301,7 @@ export declare const liveMonitorRouter: {
|
|
|
298
301
|
statusColor: "green" | "yellow" | "red";
|
|
299
302
|
} | null;
|
|
300
303
|
batteryLevel: number | null;
|
|
304
|
+
groupId?: string | null | undefined;
|
|
301
305
|
}[];
|
|
302
306
|
totalSensors: number;
|
|
303
307
|
}, {
|
|
@@ -311,8 +315,8 @@ export declare const liveMonitorRouter: {
|
|
|
311
315
|
lat: number;
|
|
312
316
|
lng: number;
|
|
313
317
|
};
|
|
314
|
-
fieldId: string;
|
|
315
|
-
fieldName: string;
|
|
318
|
+
fieldId: string | null;
|
|
319
|
+
fieldName: string | null;
|
|
316
320
|
lastSyncAt: string | null;
|
|
317
321
|
currentReading: {
|
|
318
322
|
value: number;
|
|
@@ -321,6 +325,7 @@ export declare const liveMonitorRouter: {
|
|
|
321
325
|
statusColor: "green" | "yellow" | "red";
|
|
322
326
|
} | null;
|
|
323
327
|
batteryLevel: number | null;
|
|
328
|
+
groupId?: string | null | undefined;
|
|
324
329
|
}[];
|
|
325
330
|
totalSensors: number;
|
|
326
331
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-monitor.routes.d.ts","sourceRoot":"","sources":["../../src/routes/live-monitor.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"live-monitor.routes.d.ts","sourceRoot":"","sources":["../../src/routes/live-monitor.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiF5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
|
|
@@ -1739,6 +1739,7 @@ export declare const monitoringVisualizationRouter: {
|
|
|
1739
1739
|
model: z.ZodOptional<z.ZodString>;
|
|
1740
1740
|
serialNumber: z.ZodOptional<z.ZodString>;
|
|
1741
1741
|
readingInterval: z.ZodOptional<z.ZodNumber>;
|
|
1742
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
1742
1743
|
alertThresholds: z.ZodOptional<z.ZodObject<{
|
|
1743
1744
|
min: z.ZodOptional<z.ZodNumber>;
|
|
1744
1745
|
max: z.ZodOptional<z.ZodNumber>;
|
|
@@ -1760,6 +1761,7 @@ export declare const monitoringVisualizationRouter: {
|
|
|
1760
1761
|
name: string;
|
|
1761
1762
|
latitude: number;
|
|
1762
1763
|
longitude: number;
|
|
1764
|
+
groupId?: string | undefined;
|
|
1763
1765
|
model?: string | undefined;
|
|
1764
1766
|
serialNumber?: string | undefined;
|
|
1765
1767
|
manufacturer?: string | undefined;
|
|
@@ -1775,6 +1777,7 @@ export declare const monitoringVisualizationRouter: {
|
|
|
1775
1777
|
name: string;
|
|
1776
1778
|
latitude: number;
|
|
1777
1779
|
longitude: number;
|
|
1780
|
+
groupId?: string | undefined;
|
|
1778
1781
|
model?: string | undefined;
|
|
1779
1782
|
serialNumber?: string | undefined;
|
|
1780
1783
|
manufacturer?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitoring-visualization.routes.d.ts","sourceRoot":"","sources":["../../src/routes/monitoring-visualization.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwExB,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"monitoring-visualization.routes.d.ts","sourceRoot":"","sources":["../../src/routes/monitoring-visualization.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwExB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgjBxC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC"}
|