@remnawave/backend-contract 2.6.51 → 2.6.52

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.
Files changed (41) hide show
  1. package/build/backend/commands/infra-billing/create-billing-node.command.d.ts +94 -0
  2. package/build/backend/commands/infra-billing/create-billing-node.command.d.ts.map +1 -1
  3. package/build/backend/commands/infra-billing/delete-billing-node-by-uuid.command.d.ts +94 -0
  4. package/build/backend/commands/infra-billing/delete-billing-node-by-uuid.command.d.ts.map +1 -1
  5. package/build/backend/commands/infra-billing/get-billing-nodes.command.d.ts +94 -0
  6. package/build/backend/commands/infra-billing/get-billing-nodes.command.d.ts.map +1 -1
  7. package/build/backend/commands/infra-billing/update-billing-node.command.d.ts +94 -0
  8. package/build/backend/commands/infra-billing/update-billing-node.command.d.ts.map +1 -1
  9. package/build/backend/commands/node-plugins/torrent-blocker/get-torrent-blocker-reports.command.d.ts +47 -0
  10. package/build/backend/commands/node-plugins/torrent-blocker/get-torrent-blocker-reports.command.d.ts.map +1 -1
  11. package/build/backend/commands/node-plugins/torrent-blocker/truncate-torrent-blocker-reports.command.d.ts +47 -0
  12. package/build/backend/commands/node-plugins/torrent-blocker/truncate-torrent-blocker-reports.command.d.ts.map +1 -1
  13. package/build/backend/commands/nodes/actions/disable.command.d.ts +75 -0
  14. package/build/backend/commands/nodes/actions/disable.command.d.ts.map +1 -1
  15. package/build/backend/commands/nodes/actions/enable.command.d.ts +75 -0
  16. package/build/backend/commands/nodes/actions/enable.command.d.ts.map +1 -1
  17. package/build/backend/commands/nodes/actions/reorder.command.d.ts +122 -0
  18. package/build/backend/commands/nodes/actions/reorder.command.d.ts.map +1 -1
  19. package/build/backend/commands/nodes/create.command.d.ts +75 -0
  20. package/build/backend/commands/nodes/create.command.d.ts.map +1 -1
  21. package/build/backend/commands/nodes/get-all.command.d.ts +75 -0
  22. package/build/backend/commands/nodes/get-all.command.d.ts.map +1 -1
  23. package/build/backend/commands/nodes/get-one.command.d.ts +75 -0
  24. package/build/backend/commands/nodes/get-one.command.d.ts.map +1 -1
  25. package/build/backend/commands/nodes/update.command.d.ts +122 -0
  26. package/build/backend/commands/nodes/update.command.d.ts.map +1 -1
  27. package/build/backend/models/infra-billing-available-node.schema.d.ts +47 -0
  28. package/build/backend/models/infra-billing-available-node.schema.d.ts.map +1 -1
  29. package/build/backend/models/infra-billing-node.schema.d.ts +47 -0
  30. package/build/backend/models/infra-billing-node.schema.d.ts.map +1 -1
  31. package/build/backend/models/node-system.schema.d.ts +101 -1
  32. package/build/backend/models/node-system.schema.d.ts.map +1 -1
  33. package/build/backend/models/node-system.schema.js +9 -1
  34. package/build/backend/models/nodes.schema.d.ts +61 -0
  35. package/build/backend/models/nodes.schema.d.ts.map +1 -1
  36. package/build/backend/models/torrent-blocker-report.schema.d.ts +47 -0
  37. package/build/backend/models/torrent-blocker-report.schema.d.ts.map +1 -1
  38. package/build/backend/models/webhook/webhook.schema.d.ts +328 -0
  39. package/build/backend/models/webhook/webhook.schema.d.ts.map +1 -1
  40. package/build/frontend/models/node-system.schema.js +9 -1
  41. package/package.json +1 -1
@@ -1,4 +1,23 @@
1
1
  import { z } from 'zod';
2
+ export declare const NetworkInterfaceSchema: z.ZodObject<{
3
+ interface: z.ZodString;
4
+ rxBytesPerSec: z.ZodNumber;
5
+ txBytesPerSec: z.ZodNumber;
6
+ rxTotal: z.ZodNumber;
7
+ txTotal: z.ZodNumber;
8
+ }, "strip", z.ZodTypeAny, {
9
+ interface: string;
10
+ rxBytesPerSec: number;
11
+ txBytesPerSec: number;
12
+ rxTotal: number;
13
+ txTotal: number;
14
+ }, {
15
+ interface: string;
16
+ rxBytesPerSec: number;
17
+ txBytesPerSec: number;
18
+ rxTotal: number;
19
+ txTotal: number;
20
+ }>;
2
21
  export declare const NodeSystemInfoSchema: z.ZodObject<{
3
22
  arch: z.ZodString;
4
23
  cpus: z.ZodNumber;
@@ -33,14 +52,46 @@ export declare const NodeSystemInfoSchema: z.ZodObject<{
33
52
  release: string;
34
53
  networkInterfaces: string[];
35
54
  }>;
36
- export type TNodeSystemInfo = z.infer<typeof NodeSystemInfoSchema>;
37
55
  export declare const NodeSystemStatsSchema: z.ZodObject<{
38
56
  memoryFree: z.ZodNumber;
39
57
  uptime: z.ZodNumber;
58
+ interface: z.ZodNullable<z.ZodObject<{
59
+ interface: z.ZodString;
60
+ rxBytesPerSec: z.ZodNumber;
61
+ txBytesPerSec: z.ZodNumber;
62
+ rxTotal: z.ZodNumber;
63
+ txTotal: z.ZodNumber;
64
+ }, "strip", z.ZodTypeAny, {
65
+ interface: string;
66
+ rxBytesPerSec: number;
67
+ txBytesPerSec: number;
68
+ rxTotal: number;
69
+ txTotal: number;
70
+ }, {
71
+ interface: string;
72
+ rxBytesPerSec: number;
73
+ txBytesPerSec: number;
74
+ rxTotal: number;
75
+ txTotal: number;
76
+ }>>;
40
77
  }, "strip", z.ZodTypeAny, {
78
+ interface: {
79
+ interface: string;
80
+ rxBytesPerSec: number;
81
+ txBytesPerSec: number;
82
+ rxTotal: number;
83
+ txTotal: number;
84
+ } | null;
41
85
  memoryFree: number;
42
86
  uptime: number;
43
87
  }, {
88
+ interface: {
89
+ interface: string;
90
+ rxBytesPerSec: number;
91
+ txBytesPerSec: number;
92
+ rxTotal: number;
93
+ txTotal: number;
94
+ } | null;
44
95
  memoryFree: number;
45
96
  uptime: number;
46
97
  }>;
@@ -83,15 +134,55 @@ export declare const NodeSystemSchema: z.ZodObject<{
83
134
  stats: z.ZodObject<{
84
135
  memoryFree: z.ZodNumber;
85
136
  uptime: z.ZodNumber;
137
+ interface: z.ZodNullable<z.ZodObject<{
138
+ interface: z.ZodString;
139
+ rxBytesPerSec: z.ZodNumber;
140
+ txBytesPerSec: z.ZodNumber;
141
+ rxTotal: z.ZodNumber;
142
+ txTotal: z.ZodNumber;
143
+ }, "strip", z.ZodTypeAny, {
144
+ interface: string;
145
+ rxBytesPerSec: number;
146
+ txBytesPerSec: number;
147
+ rxTotal: number;
148
+ txTotal: number;
149
+ }, {
150
+ interface: string;
151
+ rxBytesPerSec: number;
152
+ txBytesPerSec: number;
153
+ rxTotal: number;
154
+ txTotal: number;
155
+ }>>;
86
156
  }, "strip", z.ZodTypeAny, {
157
+ interface: {
158
+ interface: string;
159
+ rxBytesPerSec: number;
160
+ txBytesPerSec: number;
161
+ rxTotal: number;
162
+ txTotal: number;
163
+ } | null;
87
164
  memoryFree: number;
88
165
  uptime: number;
89
166
  }, {
167
+ interface: {
168
+ interface: string;
169
+ rxBytesPerSec: number;
170
+ txBytesPerSec: number;
171
+ rxTotal: number;
172
+ txTotal: number;
173
+ } | null;
90
174
  memoryFree: number;
91
175
  uptime: number;
92
176
  }>;
93
177
  }, "strip", z.ZodTypeAny, {
94
178
  stats: {
179
+ interface: {
180
+ interface: string;
181
+ rxBytesPerSec: number;
182
+ txBytesPerSec: number;
183
+ rxTotal: number;
184
+ txTotal: number;
185
+ } | null;
95
186
  memoryFree: number;
96
187
  uptime: number;
97
188
  };
@@ -109,6 +200,13 @@ export declare const NodeSystemSchema: z.ZodObject<{
109
200
  };
110
201
  }, {
111
202
  stats: {
203
+ interface: {
204
+ interface: string;
205
+ rxBytesPerSec: number;
206
+ txBytesPerSec: number;
207
+ rxTotal: number;
208
+ txTotal: number;
209
+ } | null;
112
210
  memoryFree: number;
113
211
  uptime: number;
114
212
  };
@@ -125,5 +223,7 @@ export declare const NodeSystemSchema: z.ZodObject<{
125
223
  networkInterfaces: string[];
126
224
  };
127
225
  }>;
226
+ export type TNetworkInterface = z.infer<typeof NetworkInterfaceSchema>;
227
+ export type TNodeSystemInfo = z.infer<typeof NodeSystemInfoSchema>;
128
228
  export type TNodeSystem = z.infer<typeof NodeSystemSchema>;
129
229
  //# sourceMappingURL=node-system.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-system.schema.d.ts","sourceRoot":"","sources":["../../../models/node-system.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"node-system.schema.d.ts","sourceRoot":"","sources":["../../../models/node-system.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACnE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodeSystemSchema = exports.NodeSystemStatsSchema = exports.NodeSystemInfoSchema = void 0;
3
+ exports.NodeSystemSchema = exports.NodeSystemStatsSchema = exports.NodeSystemInfoSchema = exports.NetworkInterfaceSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ exports.NetworkInterfaceSchema = zod_1.z.object({
6
+ interface: zod_1.z.string(),
7
+ rxBytesPerSec: zod_1.z.number(),
8
+ txBytesPerSec: zod_1.z.number(),
9
+ rxTotal: zod_1.z.number(),
10
+ txTotal: zod_1.z.number(),
11
+ });
5
12
  exports.NodeSystemInfoSchema = zod_1.z.object({
6
13
  arch: zod_1.z.string(),
7
14
  cpus: zod_1.z.number().int(),
@@ -17,6 +24,7 @@ exports.NodeSystemInfoSchema = zod_1.z.object({
17
24
  exports.NodeSystemStatsSchema = zod_1.z.object({
18
25
  memoryFree: zod_1.z.number(),
19
26
  uptime: zod_1.z.number(),
27
+ interface: zod_1.z.nullable(exports.NetworkInterfaceSchema),
20
28
  });
21
29
  exports.NodeSystemSchema = zod_1.z.object({
22
30
  info: exports.NodeSystemInfoSchema,
@@ -141,15 +141,55 @@ export declare const NodesSchema: z.ZodObject<{
141
141
  stats: z.ZodObject<{
142
142
  memoryFree: z.ZodNumber;
143
143
  uptime: z.ZodNumber;
144
+ interface: z.ZodNullable<z.ZodObject<{
145
+ interface: z.ZodString;
146
+ rxBytesPerSec: z.ZodNumber;
147
+ txBytesPerSec: z.ZodNumber;
148
+ rxTotal: z.ZodNumber;
149
+ txTotal: z.ZodNumber;
150
+ }, "strip", z.ZodTypeAny, {
151
+ interface: string;
152
+ rxBytesPerSec: number;
153
+ txBytesPerSec: number;
154
+ rxTotal: number;
155
+ txTotal: number;
156
+ }, {
157
+ interface: string;
158
+ rxBytesPerSec: number;
159
+ txBytesPerSec: number;
160
+ rxTotal: number;
161
+ txTotal: number;
162
+ }>>;
144
163
  }, "strip", z.ZodTypeAny, {
164
+ interface: {
165
+ interface: string;
166
+ rxBytesPerSec: number;
167
+ txBytesPerSec: number;
168
+ rxTotal: number;
169
+ txTotal: number;
170
+ } | null;
145
171
  memoryFree: number;
146
172
  uptime: number;
147
173
  }, {
174
+ interface: {
175
+ interface: string;
176
+ rxBytesPerSec: number;
177
+ txBytesPerSec: number;
178
+ rxTotal: number;
179
+ txTotal: number;
180
+ } | null;
148
181
  memoryFree: number;
149
182
  uptime: number;
150
183
  }>;
151
184
  }, "strip", z.ZodTypeAny, {
152
185
  stats: {
186
+ interface: {
187
+ interface: string;
188
+ rxBytesPerSec: number;
189
+ txBytesPerSec: number;
190
+ rxTotal: number;
191
+ txTotal: number;
192
+ } | null;
153
193
  memoryFree: number;
154
194
  uptime: number;
155
195
  };
@@ -167,6 +207,13 @@ export declare const NodesSchema: z.ZodObject<{
167
207
  };
168
208
  }, {
169
209
  stats: {
210
+ interface: {
211
+ interface: string;
212
+ rxBytesPerSec: number;
213
+ txBytesPerSec: number;
214
+ rxTotal: number;
215
+ txTotal: number;
216
+ } | null;
170
217
  memoryFree: number;
171
218
  uptime: number;
172
219
  };
@@ -187,6 +234,13 @@ export declare const NodesSchema: z.ZodObject<{
187
234
  tags: string[];
188
235
  system: {
189
236
  stats: {
237
+ interface: {
238
+ interface: string;
239
+ rxBytesPerSec: number;
240
+ txBytesPerSec: number;
241
+ rxTotal: number;
242
+ txTotal: number;
243
+ } | null;
190
244
  memoryFree: number;
191
245
  uptime: number;
192
246
  };
@@ -253,6 +307,13 @@ export declare const NodesSchema: z.ZodObject<{
253
307
  tags: string[];
254
308
  system: {
255
309
  stats: {
310
+ interface: {
311
+ interface: string;
312
+ rxBytesPerSec: number;
313
+ txBytesPerSec: number;
314
+ rxTotal: number;
315
+ txTotal: number;
316
+ } | null;
256
317
  memoryFree: number;
257
318
  uptime: number;
258
319
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.schema.d.ts","sourceRoot":"","sources":["../../../models/nodes.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDtB,CAAC"}
1
+ {"version":3,"file":"nodes.schema.d.ts","sourceRoot":"","sources":["../../../models/nodes.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDtB,CAAC"}
@@ -217,15 +217,55 @@ export declare const TorrentBlockerReportSchema: z.ZodObject<{
217
217
  stats: z.ZodObject<{
218
218
  memoryFree: z.ZodNumber;
219
219
  uptime: z.ZodNumber;
220
+ interface: z.ZodNullable<z.ZodObject<{
221
+ interface: z.ZodString;
222
+ rxBytesPerSec: z.ZodNumber;
223
+ txBytesPerSec: z.ZodNumber;
224
+ rxTotal: z.ZodNumber;
225
+ txTotal: z.ZodNumber;
226
+ }, "strip", z.ZodTypeAny, {
227
+ interface: string;
228
+ rxBytesPerSec: number;
229
+ txBytesPerSec: number;
230
+ rxTotal: number;
231
+ txTotal: number;
232
+ }, {
233
+ interface: string;
234
+ rxBytesPerSec: number;
235
+ txBytesPerSec: number;
236
+ rxTotal: number;
237
+ txTotal: number;
238
+ }>>;
220
239
  }, "strip", z.ZodTypeAny, {
240
+ interface: {
241
+ interface: string;
242
+ rxBytesPerSec: number;
243
+ txBytesPerSec: number;
244
+ rxTotal: number;
245
+ txTotal: number;
246
+ } | null;
221
247
  memoryFree: number;
222
248
  uptime: number;
223
249
  }, {
250
+ interface: {
251
+ interface: string;
252
+ rxBytesPerSec: number;
253
+ txBytesPerSec: number;
254
+ rxTotal: number;
255
+ txTotal: number;
256
+ } | null;
224
257
  memoryFree: number;
225
258
  uptime: number;
226
259
  }>;
227
260
  }, "strip", z.ZodTypeAny, {
228
261
  stats: {
262
+ interface: {
263
+ interface: string;
264
+ rxBytesPerSec: number;
265
+ txBytesPerSec: number;
266
+ rxTotal: number;
267
+ txTotal: number;
268
+ } | null;
229
269
  memoryFree: number;
230
270
  uptime: number;
231
271
  };
@@ -243,6 +283,13 @@ export declare const TorrentBlockerReportSchema: z.ZodObject<{
243
283
  };
244
284
  }, {
245
285
  stats: {
286
+ interface: {
287
+ interface: string;
288
+ rxBytesPerSec: number;
289
+ txBytesPerSec: number;
290
+ rxTotal: number;
291
+ txTotal: number;
292
+ } | null;
246
293
  memoryFree: number;
247
294
  uptime: number;
248
295
  };
@@ -1 +1 @@
1
- {"version":3,"file":"torrent-blocker-report.schema.d.ts","sourceRoot":"","sources":["../../../models/torrent-blocker-report.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDrC,CAAC"}
1
+ {"version":3,"file":"torrent-blocker-report.schema.d.ts","sourceRoot":"","sources":["../../../models/torrent-blocker-report.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDrC,CAAC"}