astn 0.111.8 → 0.111.9

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 (111) hide show
  1. package/dist/authoring_parse/ast.d.ts +10 -0
  2. package/dist/authoring_parse/ast.js +266 -0
  3. package/dist/authoring_parse/astn_parse_generic.d.ts +13 -0
  4. package/dist/authoring_parse/astn_parse_generic.js +50 -0
  5. package/dist/authoring_parse/parse.d.ts +6 -0
  6. package/dist/authoring_parse/parse.js +65 -0
  7. package/dist/authoring_parse/string_iterator.d.ts +41 -0
  8. package/dist/authoring_parse/string_iterator.js +113 -0
  9. package/dist/authoring_parse/token.d.ts +9 -0
  10. package/dist/authoring_parse/token.js +511 -0
  11. package/dist/generated/implementation/schemas/{ast → authoring_ast}/marshall.d.ts +1 -1
  12. package/dist/generated/implementation/schemas/authoring_ast/marshall.js +259 -0
  13. package/dist/generated/implementation/schemas/{ast → authoring_ast}/unmarshall.d.ts +1 -1
  14. package/dist/generated/implementation/schemas/{ast → authoring_ast}/unmarshall.js +1 -1
  15. package/dist/generated/implementation/schemas/authoring_parse_result/marshall.d.ts +3 -0
  16. package/dist/generated/implementation/schemas/authoring_parse_result/marshall.js +188 -0
  17. package/dist/generated/implementation/schemas/authoring_parse_result/unmarshall.d.ts +3 -0
  18. package/dist/generated/implementation/schemas/authoring_parse_result/unmarshall.js +116 -0
  19. package/dist/generated/implementation/schemas/sealed_ast/marshall.d.ts +7 -0
  20. package/dist/generated/implementation/schemas/sealed_ast/marshall.js +208 -0
  21. package/dist/generated/implementation/schemas/sealed_ast/unmarshall.d.ts +7 -0
  22. package/dist/generated/implementation/schemas/sealed_ast/unmarshall.js +279 -0
  23. package/dist/generated/implementation/schemas/{parse_result → sealed_parse_result}/marshall.d.ts +1 -1
  24. package/dist/generated/implementation/schemas/{parse_result → sealed_parse_result}/marshall.js +2 -2
  25. package/dist/generated/implementation/schemas/{parse_result → sealed_parse_result}/unmarshall.d.ts +1 -1
  26. package/dist/generated/implementation/schemas/{parse_result → sealed_parse_result}/unmarshall.js +2 -2
  27. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/data_types/resolve.js +1 -1
  28. package/dist/generated/interface/schemas/{ast → authoring_ast}/data_types/source.js +1 -1
  29. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/data_types/target.js +1 -1
  30. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/marshall.js +1 -1
  31. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/migrate_boilerplate.js +1 -1
  32. package/dist/generated/interface/schemas/{ast → authoring_ast}/unmarshall.js +1 -1
  33. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/value_deserializers.js +1 -1
  34. package/dist/generated/interface/schemas/{parse_result → authoring_ast}/value_serializers.js +1 -1
  35. package/dist/generated/interface/schemas/authoring_parse_result/data_types/resolve.js +7 -0
  36. package/dist/generated/interface/schemas/authoring_parse_result/data_types/source.d.ts +270 -0
  37. package/dist/generated/interface/schemas/authoring_parse_result/data_types/source.js +3 -0
  38. package/dist/generated/interface/schemas/authoring_parse_result/data_types/target.d.ts +270 -0
  39. package/dist/generated/interface/schemas/authoring_parse_result/data_types/target.js +3 -0
  40. package/dist/generated/interface/schemas/authoring_parse_result/marshall.js +3 -0
  41. package/dist/generated/interface/schemas/authoring_parse_result/migrate_boilerplate.js +3 -0
  42. package/dist/generated/interface/schemas/authoring_parse_result/unmarshall.js +3 -0
  43. package/dist/generated/interface/schemas/authoring_parse_result/value_deserializers.js +3 -0
  44. package/dist/generated/interface/schemas/authoring_parse_result/value_serializers.js +3 -0
  45. package/dist/generated/interface/schemas/sealed_ast/data_types/resolve.d.ts +1 -0
  46. package/dist/generated/interface/schemas/{ast → sealed_ast}/data_types/resolve.js +1 -1
  47. package/dist/generated/interface/schemas/sealed_ast/data_types/source.d.ts +730 -0
  48. package/dist/generated/interface/schemas/{parse_result → sealed_ast}/data_types/source.js +1 -1
  49. package/dist/generated/interface/schemas/sealed_ast/data_types/target.d.ts +730 -0
  50. package/dist/generated/interface/schemas/{ast → sealed_ast}/data_types/target.js +1 -1
  51. package/dist/generated/interface/schemas/sealed_ast/marshall.d.ts +183 -0
  52. package/dist/generated/interface/schemas/{ast → sealed_ast}/marshall.js +1 -1
  53. package/dist/generated/interface/schemas/sealed_ast/migrate_boilerplate.d.ts +134 -0
  54. package/dist/generated/interface/schemas/{ast → sealed_ast}/migrate_boilerplate.js +1 -1
  55. package/dist/generated/interface/schemas/sealed_ast/unmarshall.d.ts +183 -0
  56. package/dist/generated/interface/schemas/{parse_result → sealed_ast}/unmarshall.js +1 -1
  57. package/dist/generated/interface/schemas/sealed_ast/value_deserializers.d.ts +44 -0
  58. package/dist/generated/interface/schemas/{ast → sealed_ast}/value_deserializers.js +1 -1
  59. package/dist/generated/interface/schemas/sealed_ast/value_serializers.d.ts +44 -0
  60. package/dist/generated/interface/schemas/{ast → sealed_ast}/value_serializers.js +1 -1
  61. package/dist/generated/interface/schemas/sealed_parse_result/data_types/resolve.d.ts +1 -0
  62. package/dist/generated/interface/schemas/sealed_parse_result/data_types/resolve.js +7 -0
  63. package/dist/generated/interface/schemas/{parse_result → sealed_parse_result}/data_types/source.d.ts +1 -1
  64. package/dist/generated/interface/schemas/sealed_parse_result/data_types/source.js +3 -0
  65. package/dist/generated/interface/schemas/{parse_result → sealed_parse_result}/data_types/target.d.ts +1 -1
  66. package/dist/generated/interface/schemas/sealed_parse_result/data_types/target.js +3 -0
  67. package/dist/generated/interface/schemas/sealed_parse_result/marshall.d.ts +63 -0
  68. package/dist/generated/interface/schemas/sealed_parse_result/marshall.js +3 -0
  69. package/dist/generated/interface/schemas/sealed_parse_result/migrate_boilerplate.d.ts +46 -0
  70. package/dist/generated/interface/schemas/sealed_parse_result/migrate_boilerplate.js +3 -0
  71. package/dist/generated/interface/schemas/sealed_parse_result/unmarshall.d.ts +63 -0
  72. package/dist/generated/interface/schemas/sealed_parse_result/unmarshall.js +3 -0
  73. package/dist/generated/interface/schemas/sealed_parse_result/value_deserializers.d.ts +44 -0
  74. package/dist/generated/interface/schemas/sealed_parse_result/value_deserializers.js +3 -0
  75. package/dist/generated/interface/schemas/sealed_parse_result/value_serializers.d.ts +44 -0
  76. package/dist/generated/interface/schemas/sealed_parse_result/value_serializers.js +3 -0
  77. package/dist/parse/ast.d.ts +2 -2
  78. package/dist/parse/astn_parse_generic.d.ts +1 -1
  79. package/dist/parse/parse.d.ts +2 -2
  80. package/dist/procedures/convert_to_json.js +2 -2
  81. package/dist/procedures/validate_astn.js +2 -2
  82. package/dist/sealed_parse/ast.d.ts +10 -0
  83. package/dist/sealed_parse/ast.js +245 -0
  84. package/dist/sealed_parse/astn_parse_generic.d.ts +13 -0
  85. package/dist/sealed_parse/astn_parse_generic.js +50 -0
  86. package/dist/sealed_parse/parse.d.ts +6 -0
  87. package/dist/sealed_parse/parse.js +65 -0
  88. package/dist/sealed_parse/string_iterator.d.ts +41 -0
  89. package/dist/sealed_parse/string_iterator.js +113 -0
  90. package/dist/sealed_parse/token.d.ts +9 -0
  91. package/dist/sealed_parse/token.js +511 -0
  92. package/dist/serializers/parse_result.d.ts +1 -1
  93. package/dist/transformations/ast/ide.d.ts +1 -1
  94. package/dist/transformations/ast/json_target.d.ts +1 -1
  95. package/dist/transformations/ast/temp_value_range.d.ts +1 -1
  96. package/package.json +3 -3
  97. package/dist/generated/implementation/schemas/ast/marshall.js +0 -259
  98. /package/dist/generated/interface/schemas/{ast → authoring_ast}/data_types/resolve.d.ts +0 -0
  99. /package/dist/generated/interface/schemas/{ast → authoring_ast}/data_types/source.d.ts +0 -0
  100. /package/dist/generated/interface/schemas/{ast → authoring_ast}/data_types/target.d.ts +0 -0
  101. /package/dist/generated/interface/schemas/{ast → authoring_ast}/marshall.d.ts +0 -0
  102. /package/dist/generated/interface/schemas/{ast → authoring_ast}/migrate_boilerplate.d.ts +0 -0
  103. /package/dist/generated/interface/schemas/{ast → authoring_ast}/unmarshall.d.ts +0 -0
  104. /package/dist/generated/interface/schemas/{ast → authoring_ast}/value_deserializers.d.ts +0 -0
  105. /package/dist/generated/interface/schemas/{ast → authoring_ast}/value_serializers.d.ts +0 -0
  106. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/data_types/resolve.d.ts +0 -0
  107. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/marshall.d.ts +0 -0
  108. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/migrate_boilerplate.d.ts +0 -0
  109. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/unmarshall.d.ts +0 -0
  110. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/value_deserializers.d.ts +0 -0
  111. /package/dist/generated/interface/schemas/{parse_result → authoring_parse_result}/value_serializers.d.ts +0 -0
@@ -1,259 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Value = exports.Structural_Token = exports.String = exports.Key_Value_Pairs = exports.Elements = exports.Document = exports.Concrete_Value = void 0;
27
- const _pa = __importStar(require("exupery-core-alg"));
28
- const _i_r_token = __importStar(require("../token/marshall"));
29
- const Concrete_Value = ($, $p) => ['state', _pa.cc($, ($) => {
30
- switch ($[0]) {
31
- case 'indexed collection': return _pa.ss($, ($) => ({
32
- 'state': "indexed collection",
33
- 'value': ['state', _pa.cc($, ($) => {
34
- switch ($[0]) {
35
- case 'dictionary': return _pa.ss($, ($) => ({
36
- 'state': "dictionary",
37
- 'value': ['verbose group', _pa.dictionary_literal({
38
- 'entries': _pa.cc($['entries'], ($) => (0, exports.Key_Value_Pairs)($, {
39
- 'value serializers': $p['value serializers'],
40
- })),
41
- '{': _pa.cc($['{'], ($) => (0, exports.Structural_Token)($, {
42
- 'value serializers': $p['value serializers'],
43
- })),
44
- '}': _pa.cc($['}'], ($) => (0, exports.Structural_Token)($, {
45
- 'value serializers': $p['value serializers'],
46
- })),
47
- })],
48
- }));
49
- case 'verbose group': return _pa.ss($, ($) => ({
50
- 'state': "verbose group",
51
- 'value': ['verbose group', _pa.dictionary_literal({
52
- '(': _pa.cc($['('], ($) => (0, exports.Structural_Token)($, {
53
- 'value serializers': $p['value serializers'],
54
- })),
55
- ')': _pa.cc($[')'], ($) => (0, exports.Structural_Token)($, {
56
- 'value serializers': $p['value serializers'],
57
- })),
58
- 'entries': _pa.cc($['entries'], ($) => (0, exports.Key_Value_Pairs)($, {
59
- 'value serializers': $p['value serializers'],
60
- })),
61
- })],
62
- }));
63
- default: return _pa.au($[0]);
64
- }
65
- })],
66
- }));
67
- case 'not set': return _pa.ss($, ($) => ({
68
- 'state': "not set",
69
- 'value': ['verbose group', _pa.dictionary_literal({
70
- '~': _pa.cc($['~'], ($) => (0, exports.Structural_Token)($, {
71
- 'value serializers': $p['value serializers'],
72
- })),
73
- })],
74
- }));
75
- case 'ordered collection': return _pa.ss($, ($) => ({
76
- 'state': "ordered collection",
77
- 'value': ['state', _pa.cc($, ($) => {
78
- switch ($[0]) {
79
- case 'concise group': return _pa.ss($, ($) => ({
80
- 'state': "concise group",
81
- 'value': ['verbose group', _pa.dictionary_literal({
82
- '<': _pa.cc($['<'], ($) => (0, exports.Structural_Token)($, {
83
- 'value serializers': $p['value serializers'],
84
- })),
85
- '>': _pa.cc($['>'], ($) => (0, exports.Structural_Token)($, {
86
- 'value serializers': $p['value serializers'],
87
- })),
88
- 'elements': _pa.cc($['elements'], ($) => (0, exports.Elements)($, {
89
- 'value serializers': $p['value serializers'],
90
- })),
91
- })],
92
- }));
93
- case 'list': return _pa.ss($, ($) => ({
94
- 'state': "list",
95
- 'value': ['verbose group', _pa.dictionary_literal({
96
- '[': _pa.cc($['['], ($) => (0, exports.Structural_Token)($, {
97
- 'value serializers': $p['value serializers'],
98
- })),
99
- ']': _pa.cc($[']'], ($) => (0, exports.Structural_Token)($, {
100
- 'value serializers': $p['value serializers'],
101
- })),
102
- 'elements': _pa.cc($['elements'], ($) => (0, exports.Elements)($, {
103
- 'value serializers': $p['value serializers'],
104
- })),
105
- })],
106
- }));
107
- default: return _pa.au($[0]);
108
- }
109
- })],
110
- }));
111
- case 'set optional value': return _pa.ss($, ($) => ({
112
- 'state': "set optional value",
113
- 'value': ['verbose group', _pa.dictionary_literal({
114
- '*': _pa.cc($['*'], ($) => (0, exports.Structural_Token)($, {
115
- 'value serializers': $p['value serializers'],
116
- })),
117
- 'value': _pa.cc($['value'], ($) => (0, exports.Value)($, {
118
- 'value serializers': $p['value serializers'],
119
- })),
120
- })],
121
- }));
122
- case 'string': return _pa.ss($, ($) => ({
123
- 'state': "string",
124
- 'value': (0, exports.String)($, {
125
- 'value serializers': $p['value serializers'],
126
- }),
127
- }));
128
- case 'tagged value': return _pa.ss($, ($) => ({
129
- 'state': "tagged value",
130
- 'value': ['verbose group', _pa.dictionary_literal({
131
- 'status': _pa.cc($['status'], ($) => ['state', _pa.cc($, ($) => {
132
- switch ($[0]) {
133
- case 'missing data': return _pa.ss($, ($) => ({
134
- 'state': "missing data",
135
- 'value': ['verbose group', _pa.dictionary_literal({
136
- '#': _pa.cc($['#'], ($) => (0, exports.Structural_Token)($, {
137
- 'value serializers': $p['value serializers'],
138
- })),
139
- })],
140
- }));
141
- case 'set': return _pa.ss($, ($) => ({
142
- 'state': "set",
143
- 'value': ['verbose group', _pa.dictionary_literal({
144
- 'state': _pa.cc($['state'], ($) => (0, exports.String)($, {
145
- 'value serializers': $p['value serializers'],
146
- })),
147
- 'value': _pa.cc($['value'], ($) => (0, exports.Value)($, {
148
- 'value serializers': $p['value serializers'],
149
- })),
150
- })],
151
- }));
152
- default: return _pa.au($[0]);
153
- }
154
- })]),
155
- '|': _pa.cc($['|'], ($) => (0, exports.Structural_Token)($, {
156
- 'value serializers': $p['value serializers'],
157
- })),
158
- })],
159
- }));
160
- default: return _pa.au($[0]);
161
- }
162
- })];
163
- exports.Concrete_Value = Concrete_Value;
164
- const Document = ($, $p) => ['verbose group', _pa.dictionary_literal({
165
- 'content': _pa.cc($['content'], ($) => (0, exports.Value)($, {
166
- 'value serializers': $p['value serializers'],
167
- })),
168
- 'header': _pa.cc($['header'], ($) => ['optional', $.transform(($) => ['set', ['verbose group', _pa.dictionary_literal({
169
- '!': _pa.cc($['!'], ($) => (0, exports.Structural_Token)($, {
170
- 'value serializers': $p['value serializers'],
171
- })),
172
- 'value': _pa.cc($['value'], ($) => (0, exports.Value)($, {
173
- 'value serializers': $p['value serializers'],
174
- })),
175
- })]], () => ['not set', null])]),
176
- })];
177
- exports.Document = Document;
178
- const Elements = ($, $p) => ['list', $.map(($) => ['verbose group', _pa.dictionary_literal({
179
- 'value': _pa.cc($['value'], ($) => (0, exports.Value)($, {
180
- 'value serializers': $p['value serializers'],
181
- })),
182
- })])];
183
- exports.Elements = Elements;
184
- const Key_Value_Pairs = ($, $p) => ['list', $.map(($) => ['verbose group', _pa.dictionary_literal({
185
- ',': _pa.cc($[','], ($) => ['optional', $.transform(($) => ['set', (0, exports.Structural_Token)($, {
186
- 'value serializers': $p['value serializers'],
187
- })], () => ['not set', null])]),
188
- 'key': _pa.cc($['key'], ($) => (0, exports.String)($, {
189
- 'value serializers': $p['value serializers'],
190
- })),
191
- 'value': _pa.cc($['value'], ($) => ['optional', $.transform(($) => ['set', ['verbose group', _pa.dictionary_literal({
192
- ':': _pa.cc($[':'], ($) => (0, exports.Structural_Token)($, {
193
- 'value serializers': $p['value serializers'],
194
- })),
195
- 'value': _pa.cc($['value'], ($) => (0, exports.Value)($, {
196
- 'value serializers': $p['value serializers'],
197
- })),
198
- })]], () => ['not set', null])]),
199
- })])];
200
- exports.Key_Value_Pairs = Key_Value_Pairs;
201
- const String = ($, $p) => ['verbose group', _pa.dictionary_literal({
202
- 'range': _pa.cc($['range'], ($) => _i_r_token.Range($, {
203
- 'value serializers': $p['value serializers'],
204
- })),
205
- 'trailing trivia': _pa.cc($['trailing trivia'], ($) => _i_r_token.Trivia($, {
206
- 'value serializers': $p['value serializers'],
207
- })),
208
- 'type': _pa.cc($['type'], ($) => _i_r_token.String_Type($, {
209
- 'value serializers': $p['value serializers'],
210
- })),
211
- 'value': _pa.cc($['value'], ($) => ['text', ({
212
- 'delimiter': ['quote', null],
213
- 'value': $,
214
- })]),
215
- })];
216
- exports.String = String;
217
- const Structural_Token = ($, $p) => ['verbose group', _pa.dictionary_literal({
218
- 'range': _pa.cc($['range'], ($) => _i_r_token.Range($, {
219
- 'value serializers': $p['value serializers'],
220
- })),
221
- 'trailing trivia': _pa.cc($['trailing trivia'], ($) => _i_r_token.Trivia($, {
222
- 'value serializers': $p['value serializers'],
223
- })),
224
- })];
225
- exports.Structural_Token = Structural_Token;
226
- const Value = ($, $p) => ['verbose group', _pa.dictionary_literal({
227
- 'type': _pa.cc($['type'], ($) => ['state', _pa.cc($, ($) => {
228
- switch ($[0]) {
229
- case 'concrete': return _pa.ss($, ($) => ({
230
- 'state': "concrete",
231
- 'value': (0, exports.Concrete_Value)($, {
232
- 'value serializers': $p['value serializers'],
233
- }),
234
- }));
235
- case 'include': return _pa.ss($, ($) => ({
236
- 'state': "include",
237
- 'value': ['verbose group', _pa.dictionary_literal({
238
- '@': _pa.cc($['@'], ($) => (0, exports.Structural_Token)($, {
239
- 'value serializers': $p['value serializers'],
240
- })),
241
- 'path': _pa.cc($['path'], ($) => (0, exports.String)($, {
242
- 'value serializers': $p['value serializers'],
243
- })),
244
- })],
245
- }));
246
- case 'missing data': return _pa.ss($, ($) => ({
247
- 'state': "missing data",
248
- 'value': ['verbose group', _pa.dictionary_literal({
249
- '#': _pa.cc($['#'], ($) => (0, exports.Structural_Token)($, {
250
- 'value serializers': $p['value serializers'],
251
- })),
252
- })],
253
- }));
254
- default: return _pa.au($[0]);
255
- }
256
- })]),
257
- })];
258
- exports.Value = Value;
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyc2hhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2ltcGxlbWVudGF0aW9uL3NjaGVtYXMvYXN0L21hcnNoYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBSXZDLDhEQUErQztBQUl4QyxNQUFNLGNBQWMsR0FBb0MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBNEIsRUFBRTtRQUMxSCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1gsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBNEIsRUFBRTt3QkFDekQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs0QkFDWCxLQUFLLFlBQVksQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0NBQ3hDLE9BQU8sRUFBRSxZQUFZO2dDQUNyQixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3dDQUM5QyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsdUJBQWUsRUFDbEQsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3dDQUNGLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3dDQUNGLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3FDQUNMLENBQUMsQ0FBQzs2QkFDTixDQUFDLENBQUMsQ0FBQTs0QkFDSCxLQUFLLGVBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0NBQzNDLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3dDQUM5QyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDs0Q0FDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUNBQy9DLENBQ0osQ0FBQzt3Q0FDRixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDs0Q0FDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUNBQy9DLENBQ0osQ0FBQzt3Q0FDRixTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsdUJBQWUsRUFDbEQsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3FDQUNMLENBQUMsQ0FBQzs2QkFDTixDQUFDLENBQUMsQ0FBQTs0QkFDSCxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQ2hDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDTixDQUFDLENBQUMsQ0FBQTtZQUNILEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDckMsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7d0JBQzlDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRCQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0MsQ0FDSixDQUFDO3FCQUNMLENBQUMsQ0FBQzthQUNOLENBQUMsQ0FBQyxDQUFBO1lBQ0gsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBNEIsRUFBRTt3QkFDekQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs0QkFDWCxLQUFLLGVBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0NBQzNDLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3dDQUM5QyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDs0Q0FDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUNBQy9DLENBQ0osQ0FBQzt3Q0FDRixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDs0Q0FDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUNBQy9DLENBQ0osQ0FBQzt3Q0FDRixVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsZ0JBQVEsRUFDN0MsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3FDQUNMLENBQUMsQ0FBQzs2QkFDTixDQUFDLENBQUMsQ0FBQTs0QkFDSCxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0NBQ2xDLE9BQU8sRUFBRSxNQUFNO2dDQUNmLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7d0NBQzlDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3dDQUNGLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5Q0FDL0MsQ0FDSixDQUFDO3dDQUNGLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxnQkFBUSxFQUM3QyxDQUFDLEVBQ0Q7NENBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3lDQUMvQyxDQUNKLENBQUM7cUNBQ0wsQ0FBQyxDQUFDOzZCQUNOLENBQUMsQ0FBQyxDQUFBOzRCQUNILE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFDaEMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOLENBQUMsQ0FBQyxDQUFBO1lBQ0gsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7d0JBQzlDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRCQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0MsQ0FDSixDQUFDO3dCQUNGLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFLLEVBQ3BDLENBQUMsRUFDRDs0QkFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUJBQy9DLENBQ0osQ0FBQztxQkFDTCxDQUFDLENBQUM7YUFDTixDQUFDLENBQUMsQ0FBQTtZQUNILEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFBLGNBQU0sRUFDWCxDQUFDLEVBQ0Q7b0JBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQyxDQUNKO2FBQ0osQ0FBQyxDQUFDLENBQUE7WUFDSCxLQUFLLGNBQWMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3dCQUM5QyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUE0QixFQUFFO2dDQUNyRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29DQUNYLEtBQUssY0FBYyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3Q0FDMUMsT0FBTyxFQUFFLGNBQWM7d0NBQ3ZCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7Z0RBQzlDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEO29EQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpREFDL0MsQ0FDSixDQUFDOzZDQUNMLENBQUMsQ0FBQztxQ0FDTixDQUFDLENBQUMsQ0FBQTtvQ0FDSCxLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0NBQ2pDLE9BQU8sRUFBRSxLQUFLO3dDQUNkLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsa0JBQWtCLENBQUM7Z0RBQzlDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxjQUFNLEVBQ3JDLENBQUMsRUFDRDtvREFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7aURBQy9DLENBQ0osQ0FBQztnREFDRixPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsYUFBSyxFQUNwQyxDQUFDLEVBQ0Q7b0RBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lEQUMvQyxDQUNKLENBQUM7NkNBQ0wsQ0FBQyxDQUFDO3FDQUNOLENBQUMsQ0FBQyxDQUFBO29DQUNILE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQ0FDaEMsQ0FBQzs0QkFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNKLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFDdkMsQ0FBQyxFQUNEOzRCQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0MsQ0FDSixDQUFDO3FCQUNMLENBQUMsQ0FBQzthQUNOLENBQUMsQ0FBQyxDQUFBO1lBQ0gsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBak1VLFFBQUEsY0FBYyxrQkFpTXhCO0FBQ0ksTUFBTSxRQUFRLEdBQThCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBQ25HLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFLLEVBQ3hDLENBQUMsRUFDRDtZQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUMvQyxDQUNKLENBQUM7UUFDRixRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ3pELENBQUMsQ0FBQyxFQUErQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3dCQUNqRixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDs0QkFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUJBQy9DLENBQ0osQ0FBQzt3QkFDRixPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsYUFBSyxFQUNwQyxDQUFDLEVBQ0Q7NEJBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3lCQUMvQyxDQUNKLENBQUM7cUJBQ0wsQ0FBQyxDQUFDLENBQUMsRUFDSixHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDMUIsQ0FBQyxDQUFDO0tBQ04sQ0FBQyxDQUFDLENBQUE7QUF4QlUsUUFBQSxRQUFRLFlBd0JsQjtBQUNJLE1BQU0sUUFBUSxHQUE4QixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztZQUN6SCxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsYUFBSyxFQUNwQyxDQUFDLEVBQ0Q7Z0JBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQy9DLENBQ0osQ0FBQztTQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQVBRLFFBQUEsUUFBUSxZQU9oQjtBQUNFLE1BQU0sZUFBZSxHQUFxQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztZQUN2SSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQy9DLENBQUMsQ0FBQyxFQUErQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBQSx3QkFBZ0IsRUFDeEQsQ0FBQyxFQUNEO3dCQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztxQkFDL0MsQ0FDSixDQUFDLEVBQ0YsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQzFCLENBQUMsQ0FBQztZQUNILEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxjQUFNLEVBQ2pDLENBQUMsRUFDRDtnQkFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDL0MsQ0FDSixDQUFDO1lBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN2RCxDQUFDLENBQUMsRUFBK0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQzs0QkFDakYsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFnQixFQUN2QyxDQUFDLEVBQ0Q7Z0NBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZCQUMvQyxDQUNKLENBQUM7NEJBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGFBQUssRUFDcEMsQ0FBQyxFQUNEO2dDQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs2QkFDL0MsQ0FDSixDQUFDO3lCQUNMLENBQUMsQ0FBQyxDQUFDLEVBQ0osR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQzFCLENBQUMsQ0FBQztTQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQWpDUSxRQUFBLGVBQWUsbUJBaUN2QjtBQUNFLE1BQU0sTUFBTSxHQUE0QixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUMvRixPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQy9DLENBQUMsRUFDRDtZQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUMvQyxDQUNKLENBQUM7UUFDRixpQkFBaUIsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUNwRSxDQUFDLEVBQ0Q7WUFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDL0MsQ0FDSixDQUFDO1FBQ0YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUNuRCxDQUFDLEVBQ0Q7WUFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDL0MsQ0FDSixDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixPQUFPLEVBQUUsQ0FBQzthQUNiLENBQUMsQ0FBQyxDQUFDO0tBQ1AsQ0FBQyxDQUFDLENBQUE7QUF2QlUsUUFBQSxNQUFNLFVBdUJoQjtBQUNJLE1BQU0sZ0JBQWdCLEdBQXNDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBQ25ILE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDL0MsQ0FBQyxFQUNEO1lBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQy9DLENBQ0osQ0FBQztRQUNGLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ3BFLENBQUMsRUFDRDtZQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUMvQyxDQUNKLENBQUM7S0FDTCxDQUFDLENBQUMsQ0FBQTtBQWJVLFFBQUEsZ0JBQWdCLG9CQWExQjtBQUNJLE1BQU0sS0FBSyxHQUEyQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3RixNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUE0QixFQUFFO2dCQUNqRixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNYLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDdEMsT0FBTyxFQUFFLFVBQVU7d0JBQ25CLE9BQU8sRUFBRSxJQUFBLHNCQUFjLEVBQ25CLENBQUMsRUFDRDs0QkFDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7eUJBQy9DLENBQ0o7cUJBQ0osQ0FBQyxDQUFDLENBQUE7b0JBQ0gsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUNyQyxPQUFPLEVBQUUsU0FBUzt3QkFDbEIsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztnQ0FDOUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFnQixFQUN2QyxDQUFDLEVBQ0Q7b0NBQ0ksbUJBQW1CLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lDQUMvQyxDQUNKLENBQUM7Z0NBQ0YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGNBQU0sRUFDbkMsQ0FBQyxFQUNEO29DQUNJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQ0FDL0MsQ0FDSixDQUFDOzZCQUNMLENBQUMsQ0FBQztxQkFDTixDQUFDLENBQUMsQ0FBQTtvQkFDSCxLQUFLLGNBQWMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQzFDLE9BQU8sRUFBRSxjQUFjO3dCQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO2dDQUM5QyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQ3ZDLENBQUMsRUFDRDtvQ0FDSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUNBQy9DLENBQ0osQ0FBQzs2QkFDTCxDQUFDLENBQUM7cUJBQ04sQ0FBQyxDQUFDLENBQUE7b0JBQ0gsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNQLENBQUMsQ0FBQyxDQUFBO0FBM0NVLFFBQUEsS0FBSyxTQTJDZiJ9