@eggjs/core 6.2.4 → 6.3.0-beta.1
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/commonjs/egg.d.ts +2 -2
- package/dist/commonjs/egg.js +4 -4
- package/dist/commonjs/lifecycle.d.ts +5 -2
- package/dist/commonjs/lifecycle.js +36 -14
- package/dist/commonjs/loader/egg_loader.js +13 -8
- package/dist/esm/egg.d.ts +2 -2
- package/dist/esm/egg.js +4 -4
- package/dist/esm/lifecycle.d.ts +5 -2
- package/dist/esm/lifecycle.js +36 -14
- package/dist/esm/loader/egg_loader.js +13 -8
- package/dist/package.json +1 -1
- package/package.json +9 -6
- package/src/egg.ts +3 -3
- package/src/lifecycle.ts +41 -14
- package/src/loader/egg_loader.ts +12 -8
package/dist/commonjs/egg.d.ts
CHANGED
|
@@ -156,7 +156,7 @@ export declare class EggCore extends KoaApplication {
|
|
|
156
156
|
* Register a function that will be called when app close.
|
|
157
157
|
*
|
|
158
158
|
* Notice:
|
|
159
|
-
* This method is now NOT
|
|
159
|
+
* This method is now NOT recommended directly used,
|
|
160
160
|
* Developers SHOULDN'T use app.beforeClose directly now,
|
|
161
161
|
* but in the form of class to implement beforeClose instead.
|
|
162
162
|
*
|
|
@@ -164,7 +164,7 @@ export declare class EggCore extends KoaApplication {
|
|
|
164
164
|
*
|
|
165
165
|
* @param {Function} fn - the function that can be generator function or async function.
|
|
166
166
|
*/
|
|
167
|
-
beforeClose(fn: Fun): void;
|
|
167
|
+
beforeClose(fn: Fun, name?: string): void;
|
|
168
168
|
/**
|
|
169
169
|
* Close all, it will close
|
|
170
170
|
* - callbacks registered by beforeClose
|
package/dist/commonjs/egg.js
CHANGED
|
@@ -248,7 +248,7 @@ class EggCore extends koa_1.Application {
|
|
|
248
248
|
* Register a function that will be called when app close.
|
|
249
249
|
*
|
|
250
250
|
* Notice:
|
|
251
|
-
* This method is now NOT
|
|
251
|
+
* This method is now NOT recommended directly used,
|
|
252
252
|
* Developers SHOULDN'T use app.beforeClose directly now,
|
|
253
253
|
* but in the form of class to implement beforeClose instead.
|
|
254
254
|
*
|
|
@@ -256,9 +256,9 @@ class EggCore extends koa_1.Application {
|
|
|
256
256
|
*
|
|
257
257
|
* @param {Function} fn - the function that can be generator function or async function.
|
|
258
258
|
*/
|
|
259
|
-
beforeClose(fn) {
|
|
259
|
+
beforeClose(fn, name) {
|
|
260
260
|
this.deprecate('`beforeClose` was deprecated, please use "Life Cycles" instead, see https://www.eggjs.org/advanced/loader#life-cycles');
|
|
261
|
-
this.lifecycle.registerBeforeClose(fn);
|
|
261
|
+
this.lifecycle.registerBeforeClose(fn, name);
|
|
262
262
|
}
|
|
263
263
|
/**
|
|
264
264
|
* Close all, it will close
|
|
@@ -347,4 +347,4 @@ class EggCore extends koa_1.Application {
|
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
349
|
exports.EggCore = EggCore;
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VnZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsOERBQWlDO0FBQ2pDLHlDQUFxQztBQUNyQyxvQ0FHb0I7QUFnQ21CLCtGQWxDdEIsaUJBQWMsT0FrQ3NCO0FBQTFCLDJGQWxDaUIsYUFBVSxPQWtDakI7QUFBbkMsMkZBakNXLGFBQVUsT0FpQ1g7QUFBRSw0RkFqQ3VCLGNBQVcsT0FpQ3ZCO0FBMUJ6QiwyQ0FBOEM7QUFDOUMsMENBQTBGO0FBMEJ4Rix1RkExQjBELGtCQUFNLE9BMEIxRDtBQXhCUixtRUFBMkQ7QUFDM0QsaURBQTJDO0FBRTNDLGlEQUEyQztBQUMzQywwREFBbUQ7QUFDbkQsZ0VBQXFDO0FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdCLFFBQUEsVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUF1Qm5ELDZCQUE2QjtBQUM3QixNQUFhLE9BQVEsU0FBUSxhQUFVO0NBSXRDO0FBSkQsMEJBSUM7QUFFRCxNQUFhLFFBQVMsU0FBUSxjQUFXO0NBSXhDO0FBSkQsNEJBSUM7QUFFRCxNQUFhLE9BQVEsU0FBUSxhQUFVO0NBS3RDO0FBTEQsMEJBS0M7QUFNRCxNQUFhLE9BQVEsU0FBUSxpQkFBYztJQUN6QyxPQUFPLENBQWlCO0lBQ3hCLE1BQU0sQ0FBUztJQUNmLE9BQU8sQ0FBbUI7SUFDMUIsZ0JBQWdCLENBQTBCO0lBQzFDLFVBQVUsQ0FBMEI7SUFDcEMsT0FBTyxDQUEwQjtJQUNqQyxNQUFNLENBQTJCO0lBQ2pDLFNBQVMsQ0FBWTtJQUNyQixNQUFNLENBQVk7SUFDbEIsYUFBYSxDQUFpQjtJQUM5QixPQUFPLENBQVU7SUFFakIsbUNBQW1DO0lBQzFCLGNBQWMsR0FBd0IsRUFBRSxDQUFDO0lBQ2xELHNDQUFzQztJQUM3QixV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
|
|
@@ -44,6 +44,9 @@ export interface LifecycleOptions {
|
|
|
44
44
|
app: EggCore;
|
|
45
45
|
logger: EggConsoleLogger;
|
|
46
46
|
}
|
|
47
|
+
export type FunWithFullPath = Fun & {
|
|
48
|
+
fullPath?: string;
|
|
49
|
+
};
|
|
47
50
|
export declare class Lifecycle extends EventEmitter {
|
|
48
51
|
#private;
|
|
49
52
|
loadReady: Ready;
|
|
@@ -58,13 +61,13 @@ export declare class Lifecycle extends EventEmitter {
|
|
|
58
61
|
get timing(): import("./index.js").Timing;
|
|
59
62
|
legacyReadyCallback(name: string, opt?: object): (...args: any[]) => void;
|
|
60
63
|
addBootHook(bootHootOrBootClass: BootImplClass | ILifecycleBoot): void;
|
|
61
|
-
addFunctionAsBootHook<T = EggCore>(hook: (app: T) => void): void;
|
|
64
|
+
addFunctionAsBootHook<T = EggCore>(hook: (app: T) => void, fullPath?: string): void;
|
|
62
65
|
/**
|
|
63
66
|
* init boots and trigger config did config
|
|
64
67
|
*/
|
|
65
68
|
init(): void;
|
|
66
69
|
registerBeforeStart(scope: Fun, name: string): void;
|
|
67
|
-
registerBeforeClose(fn:
|
|
70
|
+
registerBeforeClose(fn: FunWithFullPath, fullPath?: string): void;
|
|
68
71
|
close(): Promise<void>;
|
|
69
72
|
triggerConfigWillLoad(): void;
|
|
70
73
|
triggerConfigDidLoad(): void;
|
|
@@ -12,7 +12,7 @@ const get_ready_1 = require("get-ready");
|
|
|
12
12
|
const ready_callback_1 = require("ready-callback");
|
|
13
13
|
const egg_logger_1 = require("egg-logger");
|
|
14
14
|
const index_js_1 = __importDefault(require("./utils/index.js"));
|
|
15
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/core
|
|
15
|
+
const debug = (0, node_util_1.debuglog)('@eggjs/core/lifecycle');
|
|
16
16
|
class Lifecycle extends node_events_1.EventEmitter {
|
|
17
17
|
#init;
|
|
18
18
|
#readyObject;
|
|
@@ -42,10 +42,10 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
42
42
|
this.#initReady();
|
|
43
43
|
this
|
|
44
44
|
.on('ready_stat', data => {
|
|
45
|
-
this.logger.info('[
|
|
45
|
+
this.logger.info('[@eggjs/core/lifecycle:ready_stat] end ready task %s, remain %j', data.id, data.remain);
|
|
46
46
|
})
|
|
47
47
|
.on('ready_timeout', id => {
|
|
48
|
-
this.logger.warn('[
|
|
48
|
+
this.logger.warn('[@eggjs/core/lifecycle:ready_timeout] %s seconds later %s was still unable to finish.', this.readyTimeout / 1000, id);
|
|
49
49
|
});
|
|
50
50
|
this.ready(err => {
|
|
51
51
|
this.triggerDidReady(err);
|
|
@@ -85,11 +85,12 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
85
85
|
(0, node_assert_1.default)(this.#init === false, 'do not add hook when lifecycle has been initialized');
|
|
86
86
|
this.#bootHooks.push(bootHootOrBootClass);
|
|
87
87
|
}
|
|
88
|
-
addFunctionAsBootHook(hook) {
|
|
88
|
+
addFunctionAsBootHook(hook, fullPath) {
|
|
89
89
|
(0, node_assert_1.default)(this.#init === false, 'do not add hook when lifecycle has been initialized');
|
|
90
90
|
// app.js is exported as a function
|
|
91
91
|
// call this function in configDidLoad
|
|
92
|
-
|
|
92
|
+
class Boot {
|
|
93
|
+
static fullPath;
|
|
93
94
|
app;
|
|
94
95
|
constructor(app) {
|
|
95
96
|
this.app = app;
|
|
@@ -97,23 +98,31 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
97
98
|
configDidLoad() {
|
|
98
99
|
hook(this.app);
|
|
99
100
|
}
|
|
100
|
-
}
|
|
101
|
+
}
|
|
102
|
+
Boot.fullPath = fullPath;
|
|
103
|
+
this.#bootHooks.push(Boot);
|
|
101
104
|
}
|
|
102
105
|
/**
|
|
103
106
|
* init boots and trigger config did config
|
|
104
107
|
*/
|
|
105
108
|
init() {
|
|
109
|
+
debug('%s init lifecycle', this.app.type);
|
|
106
110
|
(0, node_assert_1.default)(this.#init === false, 'lifecycle have been init');
|
|
107
111
|
this.#init = true;
|
|
108
112
|
this.#boots = this.#bootHooks.map(BootHootOrBootClass => {
|
|
113
|
+
let instance = BootHootOrBootClass;
|
|
109
114
|
if ((0, is_type_of_1.isClass)(BootHootOrBootClass)) {
|
|
110
|
-
|
|
115
|
+
instance = new BootHootOrBootClass(this.app);
|
|
116
|
+
if (!instance.fullPath && 'fullPath' in BootHootOrBootClass) {
|
|
117
|
+
instance.fullPath = BootHootOrBootClass.fullPath;
|
|
118
|
+
}
|
|
111
119
|
}
|
|
112
|
-
|
|
120
|
+
debug('[init] add boot instance: %o', instance.fullPath);
|
|
121
|
+
return instance;
|
|
113
122
|
});
|
|
114
123
|
}
|
|
115
124
|
registerBeforeStart(scope, name) {
|
|
116
|
-
debug('add registerBeforeStart, name: %o', name);
|
|
125
|
+
debug('%s add registerBeforeStart, name: %o', this.options.app.type, name);
|
|
117
126
|
this.#registerReadyCallback({
|
|
118
127
|
scope,
|
|
119
128
|
ready: this.loadReady,
|
|
@@ -121,15 +130,21 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
121
130
|
scopeFullName: name,
|
|
122
131
|
});
|
|
123
132
|
}
|
|
124
|
-
registerBeforeClose(fn) {
|
|
133
|
+
registerBeforeClose(fn, fullPath) {
|
|
125
134
|
(0, node_assert_1.default)(typeof fn === 'function', 'argument should be function');
|
|
126
135
|
(0, node_assert_1.default)(this.#isClosed === false, 'app has been closed');
|
|
136
|
+
if (fullPath) {
|
|
137
|
+
fn.fullPath = fullPath;
|
|
138
|
+
}
|
|
127
139
|
this.#closeFunctionSet.add(fn);
|
|
140
|
+
debug('%s register beforeClose at %o, count: %d', this.app.type, fullPath, this.#closeFunctionSet.size);
|
|
128
141
|
}
|
|
129
142
|
async close() {
|
|
130
143
|
// close in reverse order: first created, last closed
|
|
131
144
|
const closeFns = Array.from(this.#closeFunctionSet);
|
|
145
|
+
debug('%s start trigger %d beforeClose functions', this.app.type, closeFns.length);
|
|
132
146
|
for (const fn of closeFns.reverse()) {
|
|
147
|
+
debug('%s trigger beforeClose at %o', this.app.type, fn.fullPath);
|
|
133
148
|
await index_js_1.default.callFn(fn);
|
|
134
149
|
this.#closeFunctionSet.delete(fn);
|
|
135
150
|
}
|
|
@@ -138,11 +153,13 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
138
153
|
this.removeAllListeners();
|
|
139
154
|
this.app.removeAllListeners();
|
|
140
155
|
this.#isClosed = true;
|
|
156
|
+
debug('%s closed', this.app.type);
|
|
141
157
|
}
|
|
142
158
|
triggerConfigWillLoad() {
|
|
143
159
|
debug('trigger configWillLoad start');
|
|
144
160
|
for (const boot of this.#boots) {
|
|
145
161
|
if (typeof boot.configWillLoad === 'function') {
|
|
162
|
+
debug('trigger configWillLoad at %o', boot.fullPath);
|
|
146
163
|
boot.configWillLoad();
|
|
147
164
|
}
|
|
148
165
|
}
|
|
@@ -153,12 +170,13 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
153
170
|
debug('trigger configDidLoad start');
|
|
154
171
|
for (const boot of this.#boots) {
|
|
155
172
|
if (typeof boot.configDidLoad === 'function') {
|
|
173
|
+
debug('trigger configDidLoad at %o', boot.fullPath);
|
|
156
174
|
boot.configDidLoad();
|
|
157
175
|
}
|
|
158
176
|
// function boot hook register after configDidLoad trigger
|
|
159
177
|
if (typeof boot.beforeClose === 'function') {
|
|
160
178
|
const beforeClose = boot.beforeClose.bind(boot);
|
|
161
|
-
this.registerBeforeClose(beforeClose);
|
|
179
|
+
this.registerBeforeClose(beforeClose, boot.fullPath);
|
|
162
180
|
}
|
|
163
181
|
}
|
|
164
182
|
debug('trigger configDidLoad end');
|
|
@@ -201,11 +219,13 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
201
219
|
return (async () => {
|
|
202
220
|
for (const boot of this.#boots) {
|
|
203
221
|
if (typeof boot.didReady === 'function') {
|
|
222
|
+
debug('trigger didReady at %o', boot.fullPath);
|
|
204
223
|
try {
|
|
205
224
|
await boot.didReady(err);
|
|
206
225
|
}
|
|
207
|
-
catch (
|
|
208
|
-
|
|
226
|
+
catch (err) {
|
|
227
|
+
debug('trigger didReady error at %o, error: %s', boot.fullPath, err);
|
|
228
|
+
this.emit('error', err);
|
|
209
229
|
}
|
|
210
230
|
}
|
|
211
231
|
}
|
|
@@ -219,10 +239,12 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
219
239
|
if (typeof boot.serverDidReady !== 'function') {
|
|
220
240
|
continue;
|
|
221
241
|
}
|
|
242
|
+
debug('trigger serverDidReady at %o', boot.fullPath);
|
|
222
243
|
try {
|
|
223
244
|
await boot.serverDidReady();
|
|
224
245
|
}
|
|
225
246
|
catch (err) {
|
|
247
|
+
debug('trigger serverDidReady error at %o, error: %s', boot.fullPath, err);
|
|
226
248
|
this.emit('error', err);
|
|
227
249
|
}
|
|
228
250
|
}
|
|
@@ -283,4 +305,4 @@ class Lifecycle extends node_events_1.EventEmitter {
|
|
|
283
305
|
}
|
|
284
306
|
}
|
|
285
307
|
exports.Lifecycle = Lifecycle;
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZmVjeWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsNkNBQTJDO0FBQzNDLHlDQUFxQztBQUNyQywyQ0FBcUM7QUFDckMseUNBQWlEO0FBRWpELG1EQUF1QztBQUN2QywyQ0FBOEM7QUFDOUMsZ0VBQXFDO0FBSXJDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBb0RoRCxNQUFhLFNBQVUsU0FBUSwwQkFBWTtJQUN6QyxLQUFLLENBQVU7SUFDZixZQUFZLENBQWM7SUFDMUIsVUFBVSxDQUFxQztJQUMvQyxNQUFNLENBQW1CO0lBQ3pCLFNBQVMsQ0FBVTtJQUNuQixpQkFBaUIsQ0FBVztJQUM1QixTQUFTLENBQVE7SUFDakIsU0FBUyxDQUFRO0lBQ2pCLE9BQU8sQ0FBbUI7SUFDMUIsWUFBWSxDQUFTO0lBRXJCLFlBQVksT0FBa0M7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFDUixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSw2QkFBZ0IsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBMkIsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksaUJBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9B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
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZmVjeWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsNkNBQTJDO0FBQzNDLHlDQUFxQztBQUNyQywyQ0FBcUM7QUFDckMseUNBQWlEO0FBRWpELG1EQUF1QztBQUN2QywyQ0FBOEM7QUFDOUMsZ0VBQXFDO0FBSXJDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBc0RoRCxNQUFhLFNBQVUsU0FBUSwwQkFBWTtJQUN6QyxLQUFLLENBQVU7SUFDZixZQUFZLENBQWM7SUFDMUIsVUFBVSxDQUFxQztJQUMvQyxNQUFNLENBQW1CO0lBQ3pCLFNBQVMsQ0FBVTtJQUNuQixpQkFBaUIsQ0FBdUI7SUFDeEMsU0FBUyxDQUFRO0lBQ2pCLFNBQVMsQ0FBUTtJQUNqQixPQUFPLENBQW1CO0lBQzFCLFlBQVksQ0FBUztJQUVyQixZQUFZLE9BQWtDO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksNkJBQWdCLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQTJCLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGlCQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUM7UUFDcEQsNERBQTREO1FBQzVELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksT0FBTyxDQUFDLENBQUM7UUFDbEYsSUFBQSxxQkFBTSxFQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFDcEMscUNBQXFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLDhCQUE4QixDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUV2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSTthQUNELEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUVBQWlFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUcsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1RkFBdUYsRUFBRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxSSxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsS0FBSyxDQUFDLGNBQWlDO1FBQ3JDLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFDNUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLEdBQUcsZUFBZSxNQUFNLEdBQUcsa0JBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN0QyxPQUFPLFNBQVMsbUJBQW1CLENBQUMsR0FBRyxJQUFXO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEIsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDakMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLG1CQUFtRDtRQUM3RCxJQUFBLHFCQUFNLEVBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUscURBQXFELENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxxQkFBcUIsQ0FBYyxJQUFzQixFQUFFLFFBQWlCO1FBQzFFLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxxREFBcUQsQ0FBQyxDQUFDO1FBQ3BGLG1DQUFtQztRQUNuQyxzQ0FBc0M7UUFDdEMsTUFBTSxJQUFJO1lBQ1IsTUFBTSxDQUFDLFFBQVEsQ0FBVTtZQUN6QixHQUFHLENBQUk7WUFDUCxZQUFZLEdBQU07Z0JBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxhQUFhO2dCQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztTQUNGO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUN0RCxJQUFJLFFBQVEsR0FBRyxtQkFBcUMsQ0FBQztZQUNyRCxJQUFJLElBQUEsb0JBQU8sRUFBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLFFBQVEsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLG1CQUFtQixFQUFFLENBQUM7b0JBQzVELFFBQVEsQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsUUFBa0IsQ0FBQztnQkFDN0QsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLENBQUMsOEJBQThCLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQzFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUMxQixLQUFLO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3JCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxFQUFtQixFQUFFLFFBQWlCO1FBQ3hELElBQUEscUJBQU0sRUFBQyxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNoRSxJQUFBLHFCQUFNLEVBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUN4RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsS0FBSyxDQUFDLDBDQUEwQyxFQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULHFEQUFxRDtRQUNyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQywyQ0FBMkMsRUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLEtBQUssTUFBTSxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRSxNQUFNLGtCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELHdDQUF3QztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzdDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBQ0QsMERBQTBEO1lBQzFELElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMvQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO29CQUMxQixLQUFLLEVBQUUsT0FBTztvQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3JCLGVBQWUsRUFBRSxVQUFVO29CQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVO2lCQUMxQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNqQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO29CQUMxQixLQUFLLEVBQUUsU0FBUztvQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUNyQixlQUFlLEVBQUUsWUFBWTtvQkFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWTtpQkFDNUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDeEMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDO3dCQUNILE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0IsQ0FBQztvQkFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO3dCQUNiLEtBQUssQ0FBQyx5Q0FBeUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDUCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQzlDLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxLQUFLLENBQUMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUM7b0JBQ0gsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzlCLENBQUM7Z0JBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDYixLQUFLLENBQUMsK0NBQStDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RSxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFLdEI7UUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCx3REFBd0Q7UUFDeEQsTUFBTSxJQUFJLEdBQUcsYUFBYSxJQUFJLGtCQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLEdBQUcsZUFBZSxNQUFNLEdBQUcsa0JBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QixLQUFLLENBQUMsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2Qyw2Q0FBNkM7UUFDN0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsa0JBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDNUIsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QixDQUFDLEVBQUUsQ0FBQyxHQUFVLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF4VUQsOEJBd1VDIn0=
|