pareto 0.80.74 → 0.80.76

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 (79) hide show
  1. package/dist/modules/pareto_new/schemas/module/shorthands/target.d.ts +10 -0
  2. package/dist/modules/pareto_new/schemas/module/shorthands/target.js +11 -1
  3. package/dist/modules/pareto_new/schemas/refiner/schema.d.ts +406 -37
  4. package/dist/modules/pareto_new/schemas/refiner/schema.js +3 -4
  5. package/dist/modules/pareto_new/schemas/refiner/shorthands/target.d.ts +77 -5
  6. package/dist/modules/pareto_new/schemas/refiner/shorthands/target.js +205 -8
  7. package/dist/modules/pareto_new/schemas/refiner/transformers/typescript_light.d.ts +6 -0
  8. package/dist/modules/pareto_new/schemas/refiner/transformers/typescript_light.js +363 -18
  9. package/dist/modules/pareto_new/schemas/schema/schema.d.ts +123 -56
  10. package/dist/modules/pareto_new/schemas/schema/schema.js +3 -3
  11. package/dist/modules/pareto_new/schemas/schema/shorthands/target.d.ts +12 -11
  12. package/dist/modules/pareto_new/schemas/schema/shorthands/target.js +9 -6
  13. package/dist/modules/pareto_new/schemas/schema/transformers/typescript_light.js +6 -6
  14. package/dist/modules/pareto_new/schemas/schema_reference/schema.d.ts +48 -11
  15. package/dist/modules/pareto_new/schemas/schema_reference/schema.js +2 -1
  16. package/dist/modules/pareto_new/schemas/schema_reference/shorthands/target.d.ts +11 -2
  17. package/dist/modules/pareto_new/schemas/schema_reference/shorthands/target.js +29 -6
  18. package/dist/modules/pareto_new/schemas/schema_reference/transformers/typescript_light.d.ts +8 -0
  19. package/dist/modules/pareto_new/schemas/schema_reference/transformers/typescript_light.js +24 -4
  20. package/dist/modules/pareto_new/schemas/transformer/schema.d.ts +388 -33
  21. package/dist/modules/pareto_new/schemas/transformer/schema.js +3 -4
  22. package/dist/modules/pareto_new/schemas/transformer/shorthands/target.d.ts +75 -3
  23. package/dist/modules/pareto_new/schemas/transformer/shorthands/target.js +196 -47
  24. package/dist/modules/pareto_new/schemas/transformer/transformers/typescript_light.d.ts +7 -1
  25. package/dist/modules/pareto_new/schemas/transformer/transformers/typescript_light.js +313 -30
  26. package/dist/modules/typescript_light/schemas/typescript_light/schema.d.ts +293 -259
  27. package/dist/modules/typescript_light/schemas/typescript_light/schema.js +3 -3
  28. package/dist/modules/typescript_light/schemas/{primitives → typescript_light}/serializers.d.ts +7 -8
  29. package/dist/modules/typescript_light/schemas/typescript_light/serializers.js +487 -0
  30. package/dist/modules/typescript_light/schemas/typescript_light/shorthands/target.d.ts +16 -14
  31. package/dist/modules/typescript_light/schemas/typescript_light/shorthands/target.js +39 -37
  32. package/dist/modules/typescript_light/schemas/typescript_light/transformers/paragraph.d.ts +8 -1
  33. package/dist/modules/typescript_light/schemas/typescript_light/transformers/paragraph.js +206 -222
  34. package/package.json +1 -1
  35. package/dist/modules/file_name/schemas/file_name/schema.d.ts +0 -1
  36. package/dist/modules/file_name/schemas/file_name/schema.js +0 -2
  37. package/dist/modules/file_name/schemas/file_name/serializers.d.ts +0 -6
  38. package/dist/modules/file_name/schemas/file_name/serializers.js +0 -23
  39. package/dist/modules/implementation_old/schemas/resolved/schema.d.ts +0 -748
  40. package/dist/modules/implementation_old/schemas/resolved/schema.js +0 -4
  41. package/dist/modules/implementation_old/schemas/resolved/shorthands/target.d.ts +0 -134
  42. package/dist/modules/implementation_old/schemas/resolved/shorthands/target.js +0 -460
  43. package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_project.d.ts +0 -5
  44. package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_project.js +0 -9
  45. package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_source_file.d.ts +0 -9
  46. package/dist/modules/implementation_old/schemas/resolved/transformers/typescript_source_file.js +0 -647
  47. package/dist/modules/implementation_old/schemas/unresolved/schema.d.ts +0 -1288
  48. package/dist/modules/implementation_old/schemas/unresolved/schema.js +0 -4
  49. package/dist/modules/interface_old/schemas/resolved/schema.d.ts +0 -160
  50. package/dist/modules/interface_old/schemas/resolved/schema.js +0 -3
  51. package/dist/modules/interface_old/schemas/resolved/shorthands/target.d.ts +0 -47
  52. package/dist/modules/interface_old/schemas/resolved/shorthands/target.js +0 -185
  53. package/dist/modules/interface_old/schemas/resolved/transformers/to_be_written_directory_content.d.ts +0 -5
  54. package/dist/modules/interface_old/schemas/resolved/transformers/to_be_written_directory_content.js +0 -9
  55. package/dist/modules/interface_old/schemas/resolved/transformers/typescript.d.ts +0 -10
  56. package/dist/modules/interface_old/schemas/resolved/transformers/typescript.js +0 -270
  57. package/dist/modules/interface_old/schemas/unresolved/schema.d.ts +0 -371
  58. package/dist/modules/interface_old/schemas/unresolved/schema.js +0 -4
  59. package/dist/modules/pareto_new/schemas/type_reference/schema.d.ts +0 -18
  60. package/dist/modules/pareto_new/schemas/type_reference/schema.js +0 -2
  61. package/dist/modules/pareto_new/schemas/type_reference/shorthands/target.d.ts +0 -3
  62. package/dist/modules/pareto_new/schemas/type_reference/shorthands/target.js +0 -8
  63. package/dist/modules/pareto_new/schemas/value_reference/schema.d.ts +0 -18
  64. package/dist/modules/pareto_new/schemas/value_reference/schema.js +0 -3
  65. package/dist/modules/pareto_new/schemas/value_reference/shorthands/target.d.ts +0 -10
  66. package/dist/modules/pareto_new/schemas/value_reference/shorthands/target.js +0 -18
  67. package/dist/modules/pareto_old/schemas/library/schema.d.ts +0 -1
  68. package/dist/modules/pareto_old/schemas/library/schema.js +0 -2
  69. package/dist/modules/pareto_old/schemas/library/transformers/typescript_light.d.ts +0 -12
  70. package/dist/modules/pareto_old/schemas/library/transformers/typescript_light.js +0 -13
  71. package/dist/modules/typescript_light/schemas/identifier/schema.d.ts +0 -1
  72. package/dist/modules/typescript_light/schemas/identifier/schema.js +0 -2
  73. package/dist/modules/typescript_light/schemas/identifier/serializers.d.ts +0 -2
  74. package/dist/modules/typescript_light/schemas/identifier/serializers.js +0 -230
  75. package/dist/modules/typescript_light/schemas/primitives/schema.d.ts +0 -2
  76. package/dist/modules/typescript_light/schemas/primitives/schema.js +0 -2
  77. package/dist/modules/typescript_light/schemas/primitives/serializers.js +0 -255
  78. package/dist/temp/single_entry_dictionary.d.ts +0 -2
  79. package/dist/temp/single_entry_dictionary.js +0 -8
@@ -1,270 +0,0 @@
1
- import * as p_ from 'pareto-core/transformer';
2
- import * as p_s from 'pareto-core/serializer';
3
- import p_variables from 'pareto-core/transformer/specials/variables';
4
- import p_text_from_list from 'pareto-core/transformer/specials/text_from_list';
5
- import p_list_from_text from 'pareto-core/refiner/specials/list_from_text';
6
- //dependencies
7
- import * as ser_file_name from "../../../../file_name/schemas/file_name/serializers.js";
8
- //shorthands
9
- import * as sh from "../../../../typescript_light/schemas/typescript_light/shorthands/target.js";
10
- export const temp_create_file_path = ($, $p) => {
11
- const valid_file_name = ($) => {
12
- return ser_file_name.File_Name($);
13
- };
14
- const do_tail = () => {
15
- return p_text_from_list(p_.from.list(p_.from.list($.tail).map(($) => p_s.ph.list(p_.literal.list([
16
- "/",
17
- valid_file_name($),
18
- ])))).flatten(($) => p_list_from_text($, ($) => $)), ($) => $);
19
- };
20
- return {
21
- 'value': p_.from.state($.type).decide(($) => {
22
- switch ($[0]) {
23
- case 'external': return p_.option($, ($) => valid_file_name($) + do_tail());
24
- case 'ancestor': return p_.option($, ($) => p_text_from_list(p_.from.list(p_.from.number($['number of steps']).repeat(p_list_from_text("../", ($) => $))).flatten(($) => $), ($) => $) + valid_file_name($.dependency) + do_tail());
25
- case 'sibling': return p_.option($, ($) => `./${valid_file_name($)}` + do_tail());
26
- default: return p_.exhaustive($[0]);
27
- }
28
- }),
29
- 'delimiter': $p.delimiter
30
- };
31
- };
32
- export const Package_Set = ($) => sh.xmixed_directory(p_.from.dictionary($).map(($) => p_.from.state($).decide(($) => {
33
- switch ($[0]) {
34
- case 'package': return p_.option($, ($) => sh.n.file(sh.source_file(p_.literal.segmented_list([
35
- p_.literal.list([
36
- sh.s.import_namespace(sh.identifier_raw("p_"), sh.string_literal("pareto-core/schema", 'apostrophe')),
37
- ]),
38
- p_.from.dictionary($.imports).convert_to_list(($, id) => sh.s.import_namespace(sh.identifier_escaped(p_s.ph.list(p_.literal.list([
39
- "i ",
40
- id,
41
- ]))), temp_create_file_path($, {
42
- 'delimiter': ['apostrophe', null]
43
- }))),
44
- p_.from.state($.content).decide(($) => {
45
- switch ($[0]) {
46
- case 'data modules': return p_.option($, ($) => p_.from.dictionary($).flatten_to_list(($, id) => Value($, {
47
- 'name': id + " ",
48
- //'temp imports': x_imports,
49
- })));
50
- case 'functions': return p_.option($, ($) => p_.from.dictionary($).flatten_to_list(($, id) => {
51
- const name = id + " ";
52
- return p_.literal.list([
53
- sh.s.namespace(true, sh.identifier_escaped(name), p_.literal.segmented_list([
54
- Value($.context, {
55
- 'name': "I",
56
- }),
57
- Value($.result, {
58
- 'name': "O",
59
- }),
60
- p_.from.state($.type).decide(($) => {
61
- switch ($[0]) {
62
- case 'transformer': return p_.option($, ($) => p_.literal.list([]));
63
- case 'refiner': return p_.option($, ($) => p_.literal.segmented_list([
64
- p_.from.optional($.error).decide(($) => Value($, {
65
- 'name': "E",
66
- }), () => p_.literal.list([])),
67
- p_.from.optional($.lookups).decide(($) => {
68
- return p_.from.dictionary($).convert_to_list(($, id) => sh.s.namespace(true, sh.identifier_raw("L"), Value(p_.from.state($).decide(($) => {
69
- switch ($[0]) {
70
- case 'acyclic': return p_.option($, ($) => $);
71
- case 'cyclic': return p_.option($, ($) => $);
72
- case 'stack': return p_.option($, ($) => $);
73
- default: return p_.exhaustive($[0]);
74
- }
75
- }), {
76
- 'name': id,
77
- })));
78
- }, () => {
79
- return p_.literal.list([]);
80
- }),
81
- ]));
82
- default: return p_.exhaustive($[0]);
83
- }
84
- }),
85
- p_.literal.list([
86
- sh.s.namespace(true, sh.identifier_raw("P"), p_.from.optional($.parameters).decide(($) => p_.from.dictionary($).flatten_to_list(($, id) => Value($, {
87
- 'name': id,
88
- })), () => p_.literal.list([])))
89
- ])
90
- ])),
91
- sh.s.type_alias(true, sh.identifier_escaped(name), p_.literal.list([]), sh.t.function_(p_.literal.list([]), p_.literal.segmented_list([
92
- p_.literal.list([
93
- sh.parameter(sh.identifier_raw("context"), sh.t.type_reference(sh.identifier_escaped(name), p_.literal.list([sh.identifier_raw("I")]), p_.literal.list([]))),
94
- ]),
95
- p_.from.state($.type).decide(($) => {
96
- switch ($[0]) {
97
- case 'transformer': return p_.option($, ($) => p_.literal.list([]));
98
- case 'refiner': return p_.option($, ($) => p_.literal.segmented_list([
99
- p_.from.optional($.error).decide(($) => p_.literal.list([
100
- sh.parameter(sh.identifier_raw("abort"), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([sh.identifier_raw("Abort")]), p_.literal.list([
101
- sh.t.type_reference(sh.identifier_escaped(name), p_.literal.list([sh.identifier_raw("E")]), p_.literal.list([])),
102
- ]))),
103
- ]), () => p_.literal.list([])),
104
- p_.from.optional($.lookups).decide(($) => p_.literal.list([
105
- sh.parameter(sh.identifier_raw("lookups"), sh.t.type_literal(p_.from.dictionary($).convert_to_list(($, id) => sh.tl_propery(id, 'apostrophized string literal', true, sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
106
- sh.identifier_raw(p_.from.state($).decide(($) => {
107
- switch ($[0]) {
108
- case 'acyclic': return p_.option($, ($) => "static_lookup.Acyclic");
109
- case 'cyclic': return p_.option($, ($) => "static_lookup.Cyclic");
110
- case 'stack': return p_.option($, ($) => "static_lookup.Stack");
111
- default: return p_.exhaustive($[0]);
112
- }
113
- }))
114
- ]), p_.literal.list([
115
- sh.t.type_reference(sh.identifier_escaped(name), p_.literal.list([sh.identifier_raw("L"), sh.identifier_escaped(id)]), p_.literal.list([]))
116
- ]))))))
117
- ]), () => p_.literal.list([]))
118
- ]));
119
- default: return p_.exhaustive($[0]);
120
- }
121
- }),
122
- p_.from.optional($.parameters).decide(($) => p_.literal.list([
123
- sh.parameter(sh.identifier_raw("parameters"), sh.t.type_literal(p_.from.dictionary($).convert_to_list(($, id) => sh.tl_propery(id, 'apostrophized string literal', true, sh.t.type_reference(sh.identifier_escaped(name), p_.literal.list([sh.identifier_raw("P"), sh.identifier_escaped(id)]), p_.literal.list([])))))),
124
- ]), () => p_.literal.list([])),
125
- ]), sh.t.type_reference(sh.identifier_escaped(name), p_.literal.list([sh.identifier_raw("O")]), p_.literal.list([]))))
126
- ]);
127
- }));
128
- default: return p_.exhaustive($[0]);
129
- }
130
- }),
131
- p_.literal.list([
132
- sh.s.export_(p_.from.state($.content).decide(($) => {
133
- switch ($[0]) {
134
- case 'data modules': return p_.option($, ($) => p_.from.dictionary($).convert_to_list(($, id) => sh.specifier(true, sh.identifier_escaped(id + " "), sh.identifier_escaped(id))));
135
- case 'functions': return p_.option($, ($) => p_.from.dictionary($).convert_to_list(($, id) => sh.specifier(true, sh.identifier_escaped(id + " "), sh.identifier_escaped(id))));
136
- default: return p_.exhaustive($[0]);
137
- }
138
- }), null)
139
- ])
140
- ]))));
141
- case 'set': return p_.option($, ($) => ['directory', Package_Set($)]);
142
- default: return p_.exhaustive($[0]);
143
- }
144
- })));
145
- export const Value = ($, $p) => {
146
- return p_.from.state($).decide(($) => {
147
- switch ($[0]) {
148
- case 'boolean': return p_.option($, ($) => p_.literal.list([
149
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.boolean())
150
- ]));
151
- case 'component': return p_.option($, ($) => p_.literal.list([
152
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), p_.from.state($.location).decide(($) => {
153
- switch ($[0]) {
154
- case 'import': return p_.option($, ($) => sh.t.type_reference(sh.identifier_escaped("i " + $.import), p_.literal.list([
155
- sh.identifier_escaped($.type)
156
- ]), p_.literal.list([])));
157
- case 'local': return p_.option($, ($) => sh.t.type_reference(sh.identifier_escaped($ + " "),
158
- //tail
159
- p_.literal.list([]), p_.literal.list([])));
160
- default: return p_.exhaustive($[0]);
161
- }
162
- }))
163
- ]));
164
- case 'dictionary': return p_.option($, ($) => p_.literal.list([
165
- sh.s.namespace(true, sh.identifier_escaped($p.name), Value($, {
166
- 'name': "D",
167
- })),
168
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
169
- sh.identifier_raw("Dictionary")
170
- ]), p_.literal.list([
171
- sh.t.type_reference(sh.identifier_escaped($p.name), p_.literal.list([sh.identifier_raw("D")]), p_.literal.list([]))
172
- ])))
173
- ]));
174
- case 'group': return p_.option($, ($) => p_.literal.list([
175
- sh.s.namespace(true, sh.identifier_escaped($p.name), p_.from.dictionary($).flatten_to_list(($, id) => Value($, {
176
- 'name': id,
177
- }))),
178
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.type_literal(p_.from.dictionary($).convert_to_list(($, id) => sh.tl_propery(id, 'apostrophized string literal', true, sh.t.type_reference(sh.identifier_escaped($p.name), p_.literal.list([sh.identifier_escaped(id)]), p_.literal.list([]))))))
179
- ]));
180
- case 'list': return p_.option($, ($) => p_.literal.list([
181
- sh.s.namespace(true, sh.identifier_escaped($p.name), Value($, {
182
- 'name': "L",
183
- })),
184
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
185
- sh.identifier_raw("List")
186
- ]), p_.literal.list([
187
- sh.t.type_reference(sh.identifier_escaped($p.name), p_.literal.list([
188
- sh.identifier_raw("L")
189
- ]), p_.literal.list([]))
190
- ])))
191
- ]));
192
- case 'nothing': return p_.option($, ($) => p_.literal.list([
193
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.null_())
194
- ]));
195
- case 'number': return p_.option($, ($) => p_.literal.list([
196
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.number())
197
- ]));
198
- case 'optional': return p_.option($, ($) => p_.literal.list([
199
- sh.s.namespace(true, sh.identifier_escaped($p.name), Value($, {
200
- 'name': "O",
201
- })),
202
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
203
- sh.identifier_raw("Optional_Value")
204
- ]), p_.literal.list([
205
- sh.t.type_reference(sh.identifier_escaped($p.name), p_.literal.list([
206
- sh.identifier_raw("O")
207
- ]), p_.literal.list([]))
208
- ])))
209
- ]));
210
- case 'reference': return p_.option($, ($) => p_.literal.list([
211
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), p_variables(() => {
212
- const Reference = ($) => sh.t.type_reference(
213
- //start
214
- p_.from.state($.location).decide(($) => {
215
- switch ($[0]) {
216
- case 'import': return p_.option($, ($) => sh.identifier_escaped("i " + $.import));
217
- case 'local': return p_.option($, ($) => sh.identifier_escaped($ + " "));
218
- default: return p_.exhaustive($[0]);
219
- }
220
- }),
221
- //tail
222
- p_.literal.segmented_list([
223
- p_.from.state($.location).decide(($) => {
224
- switch ($[0]) {
225
- case 'import': return p_.option($, ($) => p_.literal.list([
226
- sh.identifier_escaped($.type + " ")
227
- ]));
228
- case 'local': return p_.option($, ($) => p_.literal.list([]));
229
- default: return p_.exhaustive($[0]);
230
- }
231
- }),
232
- p_.from.list($['sub selection']).flatten(($) => p_.from.state($).decide(($) => {
233
- switch ($[0]) {
234
- case 'dictionary': return p_.option($, ($) => p_.literal.list([sh.identifier_raw("D")]));
235
- case 'group': return p_.option($, ($) => p_.literal.list([sh.identifier_escaped($)]));
236
- case 'list': return p_.option($, ($) => p_.literal.list([sh.identifier_raw("L")]));
237
- case 'optional': return p_.option($, ($) => p_.literal.list([sh.identifier_raw("O")]));
238
- case 'state': return p_.option($, ($) => p_.literal.list([sh.identifier_escaped($)]));
239
- default: return p_.exhaustive($[0]);
240
- }
241
- })),
242
- ]), p_.literal.list([]));
243
- return $.cyclic
244
- ? sh.t.type_reference(sh.identifier_raw("p_"), p_.literal.list([
245
- sh.identifier_raw("Circular_Dependency")
246
- ]), p_.literal.list([
247
- Reference($)
248
- ]))
249
- : Reference($);
250
- }))
251
- ]));
252
- case 'state': return p_.option($, ($) => p_.literal.list([
253
- sh.s.namespace(true, sh.identifier_escaped($p.name), p_.from.dictionary($).flatten_to_list(($, id) => Value($, {
254
- 'name': id,
255
- }))),
256
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), p_.from.dictionary($).on_has_entries(($) => sh.t.union(p_.from.dictionary($).convert_to_list(($, id) => sh.t.tuple('readonly', p_.literal.list([
257
- sh.t.literal_type(sh.string_literal(id, 'apostrophe')),
258
- sh.t.type_reference(sh.identifier_escaped($p.name), p_.literal.list([
259
- sh.identifier_escaped(id)
260
- ]), p_.literal.list([]))
261
- ])))), () => sh.t.never()))
262
- ]));
263
- case 'text': return p_.option($, ($) => p_.literal.list([
264
- sh.s.type_alias(true, sh.identifier_escaped($p.name), p_.literal.list([]), sh.t.string())
265
- ]));
266
- default: return p_.exhaustive($[0]);
267
- }
268
- });
269
- };
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludGVyZmFjZV9vbGQvc2NoZW1hcy9yZXNvbHZlZC90cmFuc2Zvcm1lcnMvdHlwZXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzdDLE9BQU8sS0FBSyxHQUFHLE1BQU0sd0JBQXdCLENBQUE7QUFDN0MsT0FBTyxXQUFXLE1BQU0sNENBQTRDLENBQUE7QUFDcEUsT0FBTyxnQkFBZ0IsTUFBTSxpREFBaUQsQ0FBQTtBQUM5RSxPQUFPLGdCQUFnQixNQUFNLDZDQUE2QyxDQUFBO0FBTzFFLGNBQWM7QUFDZCxPQUFPLEtBQUssYUFBYSxNQUFNLHdEQUF3RCxDQUFBO0FBRXZGLFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBR2hHLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLENBQWlCLEVBQ2pCLEVBSUMsRUFDbUIsRUFBRTtJQUN0QixNQUFNLGVBQWUsR0FBRyxDQUFDLENBQVMsRUFBVSxFQUFFO1FBQzFDLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxHQUFXLEVBQUU7UUFDekIsT0FBTyxnQkFBZ0IsQ0FDbkIsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ1IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQy9CLEdBQUc7WUFDSCxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3JCLENB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