@spinajs/http 2.0.357 → 2.0.359
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/lib/cjs/controllers.d.ts +6 -4
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +78 -3
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/route-args/ArgAsRequest.d.ts +1 -1
- package/lib/cjs/route-args/ArgAsRequest.d.ts.map +1 -1
- package/lib/cjs/route-args/ArgAsRequest.js +1 -1
- package/lib/cjs/route-args/ArgAsRequest.js.map +1 -1
- package/lib/cjs/route-args/ArgAsResponse.d.ts +1 -1
- package/lib/cjs/route-args/ArgAsResponse.d.ts.map +1 -1
- package/lib/cjs/route-args/ArgAsResponse.js +1 -1
- package/lib/cjs/route-args/ArgAsResponse.js.map +1 -1
- package/lib/cjs/route-args/FromBody.d.ts +1 -1
- package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/cjs/route-args/FromBody.js +1 -1
- package/lib/cjs/route-args/FromBody.js.map +1 -1
- package/lib/cjs/route-args/FromCookie.d.ts +1 -1
- package/lib/cjs/route-args/FromCookie.d.ts.map +1 -1
- package/lib/cjs/route-args/FromCookie.js +1 -1
- package/lib/cjs/route-args/FromCookie.js.map +1 -1
- package/lib/cjs/route-args/FromDi.d.ts +1 -1
- package/lib/cjs/route-args/FromDi.d.ts.map +1 -1
- package/lib/cjs/route-args/FromDi.js +1 -1
- package/lib/cjs/route-args/FromDi.js.map +1 -1
- package/lib/cjs/route-args/FromForm.d.ts +6 -6
- package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/cjs/route-args/FromForm.js +11 -11
- package/lib/cjs/route-args/FromForm.js.map +1 -1
- package/lib/cjs/route-args/FromHeaderArg.d.ts +1 -1
- package/lib/cjs/route-args/FromHeaderArg.d.ts.map +1 -1
- package/lib/cjs/route-args/FromHeaderArg.js +1 -1
- package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/cjs/route-args/FromParams.d.ts +1 -1
- package/lib/cjs/route-args/FromParams.d.ts.map +1 -1
- package/lib/cjs/route-args/FromParams.js +1 -1
- package/lib/cjs/route-args/FromParams.js.map +1 -1
- package/lib/cjs/route-args/FromQuery.d.ts +1 -1
- package/lib/cjs/route-args/FromQuery.d.ts.map +1 -1
- package/lib/cjs/route-args/FromQuery.js +1 -1
- package/lib/cjs/route-args/FromQuery.js.map +1 -1
- package/lib/cjs/route-args/RequestFields.d.ts +5 -5
- package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/cjs/route-args/RequestFields.js +5 -5
- package/lib/cjs/route-args/RequestFields.js.map +1 -1
- package/lib/cjs/route-args/RouteArgs.d.ts +2 -2
- package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/cjs/server.d.ts +0 -8
- package/lib/cjs/server.d.ts.map +1 -1
- package/lib/cjs/server.js +0 -91
- package/lib/cjs/server.js.map +1 -1
- package/lib/mjs/controllers.d.ts +6 -4
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +80 -5
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/route-args/ArgAsRequest.d.ts +1 -1
- package/lib/mjs/route-args/ArgAsRequest.d.ts.map +1 -1
- package/lib/mjs/route-args/ArgAsRequest.js +1 -1
- package/lib/mjs/route-args/ArgAsRequest.js.map +1 -1
- package/lib/mjs/route-args/ArgAsResponse.d.ts +1 -1
- package/lib/mjs/route-args/ArgAsResponse.d.ts.map +1 -1
- package/lib/mjs/route-args/ArgAsResponse.js +1 -1
- package/lib/mjs/route-args/ArgAsResponse.js.map +1 -1
- package/lib/mjs/route-args/FromBody.d.ts +1 -1
- package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/mjs/route-args/FromBody.js +1 -1
- package/lib/mjs/route-args/FromBody.js.map +1 -1
- package/lib/mjs/route-args/FromCookie.d.ts +1 -1
- package/lib/mjs/route-args/FromCookie.d.ts.map +1 -1
- package/lib/mjs/route-args/FromCookie.js +1 -1
- package/lib/mjs/route-args/FromCookie.js.map +1 -1
- package/lib/mjs/route-args/FromDi.d.ts +1 -1
- package/lib/mjs/route-args/FromDi.d.ts.map +1 -1
- package/lib/mjs/route-args/FromDi.js +1 -1
- package/lib/mjs/route-args/FromDi.js.map +1 -1
- package/lib/mjs/route-args/FromForm.d.ts +6 -6
- package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/mjs/route-args/FromForm.js +11 -11
- package/lib/mjs/route-args/FromForm.js.map +1 -1
- package/lib/mjs/route-args/FromHeaderArg.d.ts +1 -1
- package/lib/mjs/route-args/FromHeaderArg.d.ts.map +1 -1
- package/lib/mjs/route-args/FromHeaderArg.js +1 -1
- package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/mjs/route-args/FromParams.d.ts +1 -1
- package/lib/mjs/route-args/FromParams.d.ts.map +1 -1
- package/lib/mjs/route-args/FromParams.js +1 -1
- package/lib/mjs/route-args/FromParams.js.map +1 -1
- package/lib/mjs/route-args/FromQuery.d.ts +1 -1
- package/lib/mjs/route-args/FromQuery.d.ts.map +1 -1
- package/lib/mjs/route-args/FromQuery.js +1 -1
- package/lib/mjs/route-args/FromQuery.js.map +1 -1
- package/lib/mjs/route-args/RequestFields.d.ts +5 -5
- package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/mjs/route-args/RequestFields.js +5 -5
- package/lib/mjs/route-args/RequestFields.js.map +1 -1
- package/lib/mjs/route-args/RouteArgs.d.ts +2 -2
- package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/mjs/server.d.ts +0 -8
- package/lib/mjs/server.d.ts.map +1 -1
- package/lib/mjs/server.js +1 -92
- package/lib/mjs/server.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/mjs/server.d.ts
CHANGED
|
@@ -55,13 +55,5 @@ export declare class HttpServer extends AsyncService {
|
|
|
55
55
|
* @param middleware - middleware function
|
|
56
56
|
*/
|
|
57
57
|
use(middleware: RequestHandler): void;
|
|
58
|
-
/**
|
|
59
|
-
* Executes response
|
|
60
|
-
*/
|
|
61
|
-
protected handleResponse(): void;
|
|
62
|
-
/**
|
|
63
|
-
* Handles thrown exceptions in actions.
|
|
64
|
-
*/
|
|
65
|
-
protected handleErrors(): void;
|
|
66
58
|
}
|
|
67
59
|
//# sourceMappingURL=server.d.ts.map
|
package/lib/mjs/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAU,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAoC,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAqC,MAAM,OAAO,CAAC;AAG3E,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,6BAA6B,CAAC;AAErC,qBAEa,UAAW,SAAQ,YAAY;IAE1C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAG1C,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAG/C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAKhC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;IAE9B,IAAW,MAAM,IAAI,IAAI,GAAG,KAAK,CAEhC;IAED;;OAEG;IAEH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;;IAMN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACI,KAAK;IAwBL,IAAI;IAMX;;;;OAIG;IACI,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;CAG7C"}
|
package/lib/mjs/server.js
CHANGED
|
@@ -10,19 +10,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { AsyncService, Autoinject, Injectable, Container, Inject, DI } from '@spinajs/di';
|
|
11
11
|
import { Config, Configuration } from '@spinajs/configuration';
|
|
12
12
|
import { Logger, Log } from '@spinajs/log';
|
|
13
|
-
import { ResourceNotFound } from '@spinajs/exceptions';
|
|
14
13
|
import { Templates } from '@spinajs/templates';
|
|
15
14
|
import '@spinajs/templates-pug';
|
|
16
15
|
import { createServer as HttpCreateServer } from 'http';
|
|
17
16
|
import { createServer as HttpsCreateServer } from 'https';
|
|
18
17
|
import { existsSync } from 'fs';
|
|
19
18
|
import cors from 'cors';
|
|
20
|
-
import randomstring from 'randomstring';
|
|
21
19
|
import Express from 'express';
|
|
22
20
|
import _ from 'lodash';
|
|
23
21
|
import fs from 'fs';
|
|
24
|
-
import { ServerMiddleware
|
|
25
|
-
import { ServerError } from './response-methods/index.js';
|
|
22
|
+
import { ServerMiddleware } from './interfaces.js';
|
|
26
23
|
import './transformers/index.js';
|
|
27
24
|
import './middlewares/ResponseTime.js';
|
|
28
25
|
import './middlewares/RequestId.js';
|
|
@@ -124,8 +121,6 @@ let HttpServer = class HttpServer extends AsyncService {
|
|
|
124
121
|
*/
|
|
125
122
|
start() {
|
|
126
123
|
return new Promise((res, rej) => {
|
|
127
|
-
this.handleResponse();
|
|
128
|
-
this.handleErrors();
|
|
129
124
|
// add all middlewares to execute after
|
|
130
125
|
this.Middlewares.reverse().forEach((m) => {
|
|
131
126
|
const f = m.after();
|
|
@@ -158,92 +153,6 @@ let HttpServer = class HttpServer extends AsyncService {
|
|
|
158
153
|
use(middleware) {
|
|
159
154
|
this.Express.use(middleware);
|
|
160
155
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Executes response
|
|
163
|
-
*/
|
|
164
|
-
handleResponse() {
|
|
165
|
-
const wrapper = (req, res, next) => {
|
|
166
|
-
if (!res.locals.response) {
|
|
167
|
-
next(new ResourceNotFound(`Resource not found ${req.method}:${req.originalUrl}`));
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
res.locals.response
|
|
171
|
-
.execute(req, res)
|
|
172
|
-
.then((callback) => {
|
|
173
|
-
if (callback) {
|
|
174
|
-
return callback(req, res);
|
|
175
|
-
}
|
|
176
|
-
})
|
|
177
|
-
.catch((err) => {
|
|
178
|
-
next(err);
|
|
179
|
-
});
|
|
180
|
-
};
|
|
181
|
-
Object.defineProperty(wrapper, 'name', {
|
|
182
|
-
value: 'handleResponse',
|
|
183
|
-
writable: true,
|
|
184
|
-
});
|
|
185
|
-
this.Express.use(wrapper);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Handles thrown exceptions in actions.
|
|
189
|
-
*/
|
|
190
|
-
handleErrors() {
|
|
191
|
-
const wrapper = (err, req, res, next) => {
|
|
192
|
-
if (!err) {
|
|
193
|
-
return next();
|
|
194
|
-
}
|
|
195
|
-
this.Log.error(err, `Route error: ${err}, stack: ${err.stack}`);
|
|
196
|
-
const error = {
|
|
197
|
-
/**
|
|
198
|
-
* By default Error object dont copy values like message ( they are not enumerable )
|
|
199
|
-
* It only copies custom props added to Error ( via inheritance )
|
|
200
|
-
*/
|
|
201
|
-
...err,
|
|
202
|
-
// make sure error message is added
|
|
203
|
-
message: err.message,
|
|
204
|
-
stack: {},
|
|
205
|
-
};
|
|
206
|
-
// in dev mode add stack trace for debugging
|
|
207
|
-
if (this.AppEnv === 'development') {
|
|
208
|
-
error.stack = err.stack ? err.stack : err.parameter && err.parameter.stack;
|
|
209
|
-
}
|
|
210
|
-
let response = null;
|
|
211
|
-
const rMap = DI.get('__http_error_map__');
|
|
212
|
-
if (rMap.has(err.constructor.name)) {
|
|
213
|
-
const httpResponse = rMap.get(err.constructor.name);
|
|
214
|
-
response = new httpResponse(error);
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
this.Log.warn(`Error type ${error.constructor} dont have assigned http response. Map error to response via _http_error_map__ in DI container`);
|
|
218
|
-
response = new ServerError(error);
|
|
219
|
-
}
|
|
220
|
-
response
|
|
221
|
-
.execute(req, res)
|
|
222
|
-
.then((callback) => {
|
|
223
|
-
if (callback) {
|
|
224
|
-
callback(req, res);
|
|
225
|
-
}
|
|
226
|
-
})
|
|
227
|
-
.catch((err) => {
|
|
228
|
-
// last resort error handling
|
|
229
|
-
this.Log.fatal(err, `Cannot send error response`);
|
|
230
|
-
res.status(HTTP_STATUS_CODE.INTERNAL_ERROR);
|
|
231
|
-
if (req.accepts('html') && (this.HttpConfig.AcceptHeaders & HttpAcceptHeaders.HTML) === HttpAcceptHeaders.HTML) {
|
|
232
|
-
// final fallback rendering error fails, we render embedded html error page
|
|
233
|
-
const ticketNo = randomstring.generate(7);
|
|
234
|
-
res.send(this.HttpConfig.FatalTemplate.replace('{ticket}', ticketNo));
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
res.json(error);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
};
|
|
241
|
-
Object.defineProperty(wrapper, 'name', {
|
|
242
|
-
value: 'handleError',
|
|
243
|
-
writable: true,
|
|
244
|
-
});
|
|
245
|
-
this.Express.use(wrapper);
|
|
246
|
-
}
|
|
247
156
|
};
|
|
248
157
|
__decorate([
|
|
249
158
|
Autoinject(Configuration),
|
package/lib/mjs/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAc,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAc,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAkB,YAAY,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACxE,OAAO,EAAmB,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAA4B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,6BAA6B,CAAC;AAI9B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAgC1C,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAClE,CAAC;IAQD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAA4B,mBAAmB,EAAE,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH;;WAEG;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAM,WAAW,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG;gBAClB,MAAM,CAAC,MAAW,EAAE,QAAa;oBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC1F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,WAAW,EAAE,IAAI;aAClB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnE,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEjC,IAAI,CAAC,YAAY,GAAG,iBAAiB,CACnC;gBACE,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;aACX,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK;QACV,OAAO,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,uCAAuC;YACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,GAAG,EAAE,CAAC;YACR,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBACrE,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,UAA0B;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AAxLW;IADT,UAAU,CAAC,aAAa,CAAC;8BACD,aAAa;iDAAC;AAG7B;IADT,UAAU,CAAC,SAAS,CAAC;;6CACU;AAGtB;IADT,UAAU,CAAC,gBAAgB,CAAC;;+CACa;AAGhC;IADT,MAAM,CAAC,MAAM,CAAC;;8CACgC;AAGrC;IADT,MAAM,CAAC,OAAO,CAAC;;gDACgB;AAKtB;IAHT,MAAM,CAAC,qBAAqB,EAAE;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC;;0CACuB;AAqBf;IADT,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;uCAAC;AAxCR,UAAU;IAFtB,UAAU,EAAE;IACZ,MAAM,CAAC,SAAS,CAAC;;GACL,UAAU,CA0LtB"}
|