contable 0.0.1 → 0.0.2
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/client/client.d.ts +1 -0
- package/dist/client/client.js +63 -140
- package/dist/client/menu.d.ts +0 -0
- package/dist/client/redux-formulario.d.ts +477 -0
- package/dist/client/redux-formulario.js +236 -289
- package/dist/client/render-components.d.ts +66 -0
- package/dist/client/render-components.js +293 -426
- package/dist/client/render-formulario.d.ts +1 -0
- package/dist/client/render-formulario.js +4 -4
- package/dist/client/render-general.d.ts +124 -0
- package/dist/client/render-general.js +38 -63
- package/dist/client/render-handlers.d.ts +1 -0
- package/dist/client/render-handlers.js +14 -54
- package/dist/client/tipos.d.ts +119 -0
- package/dist/client/tsconfig.json +3 -1
- package/dist/server/app-contable.d.ts +118 -0
- package/dist/server/def-config.d.ts +1 -0
- package/dist/server/procedures-contable.d.ts +3 -0
- package/dist/server/server-contable.d.ts +1 -0
- package/dist/server/table-categorias_producto.d.ts +2 -0
- package/dist/server/table-clientes.d.ts +2 -0
- package/dist/server/table-condicion_iva.d.ts +2 -0
- package/dist/server/table-estados_pedido.d.ts +2 -0
- package/dist/server/table-estados_presupuesto.d.ts +2 -0
- package/dist/server/table-insumos.d.ts +2 -0
- package/dist/server/table-items_pedido.d.ts +2 -0
- package/dist/server/table-items_presupuesto.d.ts +2 -0
- package/dist/server/table-iva_productos.d.ts +2 -0
- package/dist/server/table-parametros.d.ts +2 -0
- package/dist/server/table-pedidos.d.ts +2 -0
- package/dist/server/table-pedidos_pendientes.d.ts +2 -0
- package/dist/server/table-pedidos_vencidos.d.ts +2 -0
- package/dist/server/table-presupuestos.d.ts +2 -0
- package/dist/server/table-productos.d.ts +2 -0
- package/dist/server/table-productos_clientes.d.ts +2 -0
- package/dist/server/table-productos_generales.d.ts +2 -0
- package/dist/server/table-productos_insumos.d.ts +2 -0
- package/dist/server/table-usuarios.d.ts +2 -0
- package/dist/server/types-contable.d.ts +29 -0
- package/dist/unlogged/adapt.d.ts +0 -0
- package/dist/unlogged/tsconfig.json +1 -1
- package/dist/unlogged/unlogged.d.ts +1 -0
- package/dist/unlogged/unlogged.js +83 -170
- package/package.json +1 -1
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
"jsx": "react",
|
|
4
4
|
"outDir": "../../dist/client",
|
|
5
5
|
"typeRoots" : ["node_modules/@types", "../../node_modules/types.d.ts/modules"],
|
|
6
|
-
"
|
|
6
|
+
"inlineSourceMap": true,
|
|
7
|
+
"inlineSources": true,
|
|
8
|
+
"lib": ["dom", "es2019"]
|
|
7
9
|
},
|
|
8
10
|
"include":[
|
|
9
11
|
"."
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as backendPlus from "backend-plus";
|
|
2
|
+
import { ContextRoles } from "./types-contable";
|
|
3
|
+
import { Context, Request, OptsClientPage, ClientModuleDefinition } from "backend-plus";
|
|
4
|
+
export type Constructor<T> = new (...args: any[]) => T;
|
|
5
|
+
export declare function emergeAppContable<T extends Constructor<backendPlus.AppBackend>>(Base: T): {
|
|
6
|
+
new (...args: any[]): {
|
|
7
|
+
addSchrödingerServices(mainApp: backendPlus.Express, baseUrl: string): void;
|
|
8
|
+
addLoggedServices(): void;
|
|
9
|
+
postConfig(): Promise<void>;
|
|
10
|
+
configStaticConfig(): void;
|
|
11
|
+
clientIncludes(req: Request, opts: OptsClientPage): ClientModuleDefinition[];
|
|
12
|
+
getContextForDump(): {
|
|
13
|
+
forDump?: boolean;
|
|
14
|
+
be: backendPlus.AppBackend;
|
|
15
|
+
user: backendPlus.User;
|
|
16
|
+
session: {
|
|
17
|
+
[K: string]: any;
|
|
18
|
+
};
|
|
19
|
+
username: string;
|
|
20
|
+
machineId: string;
|
|
21
|
+
navigator: string;
|
|
22
|
+
es: {
|
|
23
|
+
admin: boolean;
|
|
24
|
+
gabinete: boolean;
|
|
25
|
+
coordinador: boolean;
|
|
26
|
+
encuestador: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
getContext(req: Request): Context & ContextRoles;
|
|
30
|
+
getProcedures(): Promise<backendPlus.ProcedureDef<any>[]>;
|
|
31
|
+
getMenu(context: Context & ContextRoles): backendPlus.MenuDefinition;
|
|
32
|
+
prepareGetTables(): void;
|
|
33
|
+
procedures: backendPlus.ProcedureDef[];
|
|
34
|
+
procedure: {
|
|
35
|
+
[key: string]: backendPlus.ProcedureDef;
|
|
36
|
+
};
|
|
37
|
+
app: backendPlus.ExpressPlus;
|
|
38
|
+
getTableDefinition: backendPlus.TableDefinitionsGetters;
|
|
39
|
+
tableStructures: backendPlus.TableDefinitions;
|
|
40
|
+
db: backendPlus.MotorDb;
|
|
41
|
+
config: backendPlus.AppConfig;
|
|
42
|
+
rootPath: string;
|
|
43
|
+
caches: backendPlus.Caches;
|
|
44
|
+
fieldDomain: {
|
|
45
|
+
[k: string]: Partial<backendPlus.FieldDefinition>;
|
|
46
|
+
};
|
|
47
|
+
exts: {
|
|
48
|
+
img: string[];
|
|
49
|
+
normal: string[];
|
|
50
|
+
};
|
|
51
|
+
optsGenericForAll: {
|
|
52
|
+
allowedExts?: string[];
|
|
53
|
+
};
|
|
54
|
+
sqls: {
|
|
55
|
+
[k: string]: string;
|
|
56
|
+
};
|
|
57
|
+
messages: {
|
|
58
|
+
[k: string]: string;
|
|
59
|
+
};
|
|
60
|
+
dbUserNameExpr: string;
|
|
61
|
+
dbUserRolExpr: string;
|
|
62
|
+
specialValueWhenInsert: {
|
|
63
|
+
[k: string]: (context: backendPlus.ProcedureContext, defField: backendPlus.FieldDefinition, parameters: object) => any;
|
|
64
|
+
};
|
|
65
|
+
specialSqlDefaultExpressions: Record<string, string>;
|
|
66
|
+
clearCaches(): void;
|
|
67
|
+
start(opts?: backendPlus.StartOptions): Promise<void>;
|
|
68
|
+
getTables(): backendPlus.TableItemDef[];
|
|
69
|
+
appendToTableDefinition(tableName: string, appenderFunction: (tableDef: backendPlus.TableDefinition, context?: backendPlus.TableContext) => void): void;
|
|
70
|
+
addUnloggedServices(mainApp: backendPlus.ExpressPlus, baseUrl: string): void;
|
|
71
|
+
isAdmin(reqOrContext: Request | Context): boolean;
|
|
72
|
+
canChangePass(): Promise<boolean>;
|
|
73
|
+
inDbClient<T_1>(req: backendPlus.RequestDb | null, doThisWithDbClient: (client: backendPlus.Client) => Promise<T_1>): Promise<T_1>;
|
|
74
|
+
inTransaction<T_1>(req: backendPlus.RequestDb | null, doThisWithDbTransaction: (client: backendPlus.Client) => Promise<T_1>): Promise<T_1>;
|
|
75
|
+
inTransactionProcedureContext<T_1>(req: Request | null, coreFunction: (context: backendPlus.ProcedureContext) => Promise<T_1>): Promise<T_1>;
|
|
76
|
+
procedureDefCompleter<T_1>(procedureDef: backendPlus.ProcedureDef): backendPlus.ProcedureDef<T_1>;
|
|
77
|
+
tableDefAdapt(tableDef: backendPlus.TableDefinition, context: Context): backendPlus.TableDefinition;
|
|
78
|
+
pushApp(dirname: string): void;
|
|
79
|
+
dumpDbTableFields(tableDefinition: backendPlus.TableDefinition): string[];
|
|
80
|
+
dumpDbSchemaPartial(partialTableStructures: backendPlus.TableDefinitions, opts?: backendPlus.DumpOptions): Promise<{
|
|
81
|
+
mainSql: string;
|
|
82
|
+
enancePart: string;
|
|
83
|
+
}>;
|
|
84
|
+
getClientSetupForSendToFrontEnd(req: Request): Promise<backendPlus.ClientSetup>;
|
|
85
|
+
configList(): (object | string)[];
|
|
86
|
+
setStaticConfig(defConfigYamlString: string): void;
|
|
87
|
+
mainPage(req: Request | {}, offlineMode?: boolean, opts?: OptsClientPage): {
|
|
88
|
+
toHtmlDoc: () => string;
|
|
89
|
+
};
|
|
90
|
+
isThisProcedureAllowed<T_1>(context: Context, procedureDef: backendPlus.ProcedureDef, params: {
|
|
91
|
+
[key: string]: T_1;
|
|
92
|
+
}): Promise<boolean>;
|
|
93
|
+
checkDatabaseStructure(client: backendPlus.Client): Promise<void>;
|
|
94
|
+
getDbFunctions(opts: backendPlus.DumpOptions): Promise<{
|
|
95
|
+
dumpText: string;
|
|
96
|
+
}[]>;
|
|
97
|
+
i18n: {
|
|
98
|
+
messages: Record<backendPlus.LangId, Record<string, string>>;
|
|
99
|
+
};
|
|
100
|
+
shutdownCallbackListAdd(param: {
|
|
101
|
+
message: string;
|
|
102
|
+
fun: () => Promise<void>;
|
|
103
|
+
}): void;
|
|
104
|
+
shutdownBackend(opts?: {
|
|
105
|
+
skipTurnOff?: boolean;
|
|
106
|
+
onlyTurnOff?: boolean;
|
|
107
|
+
}): Promise<void>;
|
|
108
|
+
setLog(opts: {
|
|
109
|
+
until: string;
|
|
110
|
+
results?: boolean;
|
|
111
|
+
}): void;
|
|
112
|
+
getDataDumpTransformations(rawData: string): Promise<{
|
|
113
|
+
rawData: string;
|
|
114
|
+
prepareTransformationSql: string[];
|
|
115
|
+
endTransformationSql: string[];
|
|
116
|
+
}>;
|
|
117
|
+
};
|
|
118
|
+
} & T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defConfig = "\nserver:\n port: 3088\n base-url: /contable\n skins:\n \"\":\n local-path: client/\n confort:\n local-path: node_modules/backend-skins/dist/\n confort-bis:\n local-path: node_modules/backend-skins/dist/\n default:\n local-path: node_modules/backend-skins/dist/\n confort-dark:\n local-path: node_modules/backend-skins/dist/\n confort-gold:\n local-path: node_modules/backend-skins/dist/\n modern:\n local-path: node_modules/backend-skins/dist/\n session-store: memory\ndb:\n motor: postgresql\n host: localhost\n database: contable_db\n schema: conta\n user: contable_user\n search_path: \n - conta\n - public\ninstall:\n dump:\n db:\n owner: contable_owner\n apply-generic-user-replaces: true\n admin-can-create-tables: true\n enances: inline\n skip-content: true\n scripts:\n prepare:\n post-adapt: \n - ../node_modules/pg-triggers/lib/recreate-his.sql\n - ../node_modules/pg-triggers/lib/table-changes.sql\n - ../node_modules/pg-triggers/lib/function-changes-trg.sql\n - ../node_modules/pg-triggers/lib/enance.sql\nlogin:\n table: usuarios\n userFieldName: usuario\n passFieldName: password\n rolFieldName: rol\n infoFieldList: [usuario, rol]\n activeClausule: activo\n plus:\n maxAge-5-sec: 5000 \n maxAge: 864000000\n maxAge-10-day: 864000000\n allowHttpLogin: true\n fileStore: false\n skipCheckAlreadyLoggedIn: true\n loginForm:\n formTitle: contable\n usernameLabel: usuario\n passwordLabel: clave\n buttonLabel: entrar\n formImg: img/login-lock-icon.png\n chPassForm:\n usernameLabel: usuario\n oldPasswordLabel: clave anterior\n newPasswordLabel: nueva clave\n repPasswordLabel: repetir nueva clave\n buttonLabel: Cambiar\n formTitle: Cambio de clave\n messages:\n userOrPassFail: el nombre de usuario no existe o la clave no corresponde\n lockedFail: el usuario se encuentra bloqueado\n inactiveFail: es usuario est\u00E1 marcado como inactivo\nclient-setup:\n skin: modern\n title: contable\n cursors: true\n lang: es\n menu: true\n operativo: contable\n #background-img: ../img/background-test.png\n deviceWidthForMobile: device-width\n user-scalable: no\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from "backend-plus";
|
|
2
|
+
import * as BackendPlus from "backend-plus";
|
|
3
|
+
export type ProcedureDef = BackendPlus.ProcedureDef & {
|
|
4
|
+
definedIn?: string;
|
|
5
|
+
};
|
|
6
|
+
export type MenuInfoBase = BackendPlus.MenuInfoBase;
|
|
7
|
+
export interface Puedes {
|
|
8
|
+
puede: {
|
|
9
|
+
encuestas: {
|
|
10
|
+
relevar: boolean;
|
|
11
|
+
};
|
|
12
|
+
lab_resultado: {
|
|
13
|
+
editar: boolean;
|
|
14
|
+
ver: boolean;
|
|
15
|
+
};
|
|
16
|
+
campo: {
|
|
17
|
+
editar: boolean;
|
|
18
|
+
administrar: boolean;
|
|
19
|
+
};
|
|
20
|
+
citas: {
|
|
21
|
+
programar: boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
superuser?: true;
|
|
25
|
+
}
|
|
26
|
+
export interface Context extends BackendPlus.Context, Puedes {
|
|
27
|
+
}
|
|
28
|
+
declare namespace BackendPlus {
|
|
29
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
1
|
(function (factory) {
|
|
38
2
|
if (typeof module === "object" && typeof module.exports === "object") {
|
|
39
3
|
var v = factory(require, exports);
|
|
@@ -45,105 +9,68 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
9
|
})(function (require, exports) {
|
|
46
10
|
"use strict";
|
|
47
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
window.addEventListener('load', function () {
|
|
51
|
-
|
|
52
|
-
return __generator(this, function (_a) {
|
|
53
|
-
desplegarPresupuesto();
|
|
54
|
-
return [2 /*return*/];
|
|
55
|
-
});
|
|
56
|
-
});
|
|
12
|
+
const js_to_html_1 = require("js-to-html");
|
|
13
|
+
const AjaxBestPromise = require("ajax-best-promise");
|
|
14
|
+
window.addEventListener('load', async function () {
|
|
15
|
+
desplegarPresupuesto();
|
|
57
16
|
});
|
|
58
17
|
var wasDownloading = false;
|
|
59
18
|
var appCache = window.applicationCache;
|
|
60
|
-
appCache.addEventListener('downloading', function () {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return [4 /*yield*/, awaitForCacheLayout];
|
|
71
|
-
case 1:
|
|
72
|
-
layout = _a.sent();
|
|
73
|
-
layout.insertBefore(js_to_html_1.html.p({ id: 'cache-status', class: 'warning' }, [
|
|
74
|
-
'descargando aplicación, por favor no desconecte el dispositivo',
|
|
75
|
-
js_to_html_1.html.img({ src: 'img/loading16.gif' }).create()
|
|
76
|
-
]).create(), layout.firstChild);
|
|
77
|
-
return [2 /*return*/];
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
19
|
+
appCache.addEventListener('downloading', async function () {
|
|
20
|
+
mostrarElementoId('dm-comprobando', false);
|
|
21
|
+
mostrarElementoId('dm-instalandose', true);
|
|
22
|
+
mostrarElementoId('dm-cargando', false);
|
|
23
|
+
wasDownloading = true;
|
|
24
|
+
var layout = await awaitForCacheLayout;
|
|
25
|
+
layout.insertBefore(js_to_html_1.html.p({ id: 'cache-status', class: 'warning' }, [
|
|
26
|
+
'descargando aplicación, por favor no desconecte el dispositivo',
|
|
27
|
+
js_to_html_1.html.img({ src: 'img/loading16.gif' }).create()
|
|
28
|
+
]).create(), layout.firstChild);
|
|
81
29
|
}, false);
|
|
82
|
-
appCache.addEventListener('error', function (e) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
layout.insertBefore(cacheStatusElement, layout.firstChild);
|
|
98
|
-
}
|
|
99
|
-
cacheStatusElement.classList.remove('warning');
|
|
100
|
-
cacheStatusElement.classList.add('danger');
|
|
101
|
-
cacheStatusElement.textContent = 'error al descargar la aplicación. ' + errorEvent.message;
|
|
102
|
-
_a.label = 2;
|
|
103
|
-
case 2: return [2 /*return*/];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
});
|
|
30
|
+
appCache.addEventListener('error', async function (e) {
|
|
31
|
+
// @ts-ignore es ErrorEvent porque el evento es 'error'
|
|
32
|
+
var errorEvent = e;
|
|
33
|
+
if (wasDownloading) {
|
|
34
|
+
console.log('error al descargar cache', errorEvent.message);
|
|
35
|
+
var layout = await awaitForCacheLayout;
|
|
36
|
+
var cacheStatusElement = document.getElementById('cache-status');
|
|
37
|
+
if (!cacheStatusElement) {
|
|
38
|
+
cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
|
|
39
|
+
layout.insertBefore(cacheStatusElement, layout.firstChild);
|
|
40
|
+
}
|
|
41
|
+
cacheStatusElement.classList.remove('warning');
|
|
42
|
+
cacheStatusElement.classList.add('danger');
|
|
43
|
+
cacheStatusElement.textContent = 'error al descargar la aplicación. ' + errorEvent.message;
|
|
44
|
+
}
|
|
107
45
|
}, false);
|
|
108
|
-
function cacheReady() {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
case 0:
|
|
114
|
-
wasDownloading = false;
|
|
115
|
-
return [4 /*yield*/, AjaxBestPromise.get({
|
|
116
|
-
url: 'carga-dm/dm-manifest.manifest',
|
|
117
|
-
data: {}
|
|
118
|
-
})];
|
|
119
|
-
case 1:
|
|
120
|
-
result = _a.sent();
|
|
121
|
-
myOwn.setLocalVar('app-cache-version', result.split('\n')[1]);
|
|
122
|
-
mostrarElementoId('dm-comprobando', false);
|
|
123
|
-
mostrarElementoId('dm-instalandose', false);
|
|
124
|
-
mostrarElementoId('dm-cargando', true);
|
|
125
|
-
setTimeout(function () {
|
|
126
|
-
var cacheStatusElement = document.getElementById('cache-status');
|
|
127
|
-
if (!cacheStatusElement) {
|
|
128
|
-
var mainLayout = document.getElementById('main_layout');
|
|
129
|
-
cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
|
|
130
|
-
mainLayout.insertBefore(cacheStatusElement, mainLayout.firstChild);
|
|
131
|
-
}
|
|
132
|
-
setTimeout(function () {
|
|
133
|
-
cacheStatusElement.classList.add('all-ok');
|
|
134
|
-
cacheStatusElement.textContent = 'aplicación actualizada, espere a cargar el formulario';
|
|
135
|
-
setTimeout(function () {
|
|
136
|
-
cacheStatusElement.style.display = 'none';
|
|
137
|
-
}, 5000);
|
|
138
|
-
setTimeout(function () {
|
|
139
|
-
location.reload();
|
|
140
|
-
}, 2000);
|
|
141
|
-
}, 5000);
|
|
142
|
-
}, 500);
|
|
143
|
-
return [2 /*return*/];
|
|
144
|
-
}
|
|
145
|
-
});
|
|
46
|
+
async function cacheReady() {
|
|
47
|
+
wasDownloading = false;
|
|
48
|
+
var result = await AjaxBestPromise.get({
|
|
49
|
+
url: 'carga-dm/dm-manifest.manifest',
|
|
50
|
+
data: {}
|
|
146
51
|
});
|
|
52
|
+
myOwn.setLocalVar('app-cache-version', result.split('\n')[1]);
|
|
53
|
+
mostrarElementoId('dm-comprobando', false);
|
|
54
|
+
mostrarElementoId('dm-instalandose', false);
|
|
55
|
+
mostrarElementoId('dm-cargando', true);
|
|
56
|
+
setTimeout(function () {
|
|
57
|
+
var cacheStatusElement = document.getElementById('cache-status');
|
|
58
|
+
if (!cacheStatusElement) {
|
|
59
|
+
var mainLayout = document.getElementById('main_layout');
|
|
60
|
+
cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
|
|
61
|
+
mainLayout.insertBefore(cacheStatusElement, mainLayout.firstChild);
|
|
62
|
+
}
|
|
63
|
+
setTimeout(function () {
|
|
64
|
+
cacheStatusElement.classList.add('all-ok');
|
|
65
|
+
cacheStatusElement.textContent = 'aplicación actualizada, espere a cargar el formulario';
|
|
66
|
+
setTimeout(function () {
|
|
67
|
+
cacheStatusElement.style.display = 'none';
|
|
68
|
+
}, 5000);
|
|
69
|
+
setTimeout(function () {
|
|
70
|
+
location.reload();
|
|
71
|
+
}, 2000);
|
|
72
|
+
}, 5000);
|
|
73
|
+
}, 500);
|
|
147
74
|
}
|
|
148
75
|
appCache.addEventListener('updateready', function () {
|
|
149
76
|
console.log("actualiza cache");
|
|
@@ -157,49 +84,35 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
157
84
|
console.log("cachea primera vez");
|
|
158
85
|
cacheReady();
|
|
159
86
|
}, false);
|
|
160
|
-
var awaitForCacheLayout = function prepareLayoutForCache() {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
return __generator(this, function (_a) {
|
|
164
|
-
switch (_a.label) {
|
|
165
|
-
case 0: return [4 /*yield*/, new Promise(function (resolve, _reject) {
|
|
166
|
-
window.addEventListener('load', resolve);
|
|
167
|
-
})];
|
|
168
|
-
case 1:
|
|
169
|
-
_a.sent();
|
|
170
|
-
layout = (document.getElementById('cache-layout') || document.createElement('div'));
|
|
171
|
-
if (!layout.id) {
|
|
172
|
-
layout.id = 'cache-layout';
|
|
173
|
-
layout.appendChild(js_to_html_1.html.div({ id: 'app-versions' }).create());
|
|
174
|
-
layout.appendChild(js_to_html_1.html.div({ id: 'app-status' }).create());
|
|
175
|
-
document.body.appendChild(layout.appendChild(js_to_html_1.html.div({ id: 'cache-log' }).create()));
|
|
176
|
-
document.body.insertBefore(layout, document.body.firstChild);
|
|
177
|
-
}
|
|
178
|
-
return [2 /*return*/, layout];
|
|
179
|
-
}
|
|
180
|
-
});
|
|
87
|
+
var awaitForCacheLayout = async function prepareLayoutForCache() {
|
|
88
|
+
await new Promise(function (resolve, _reject) {
|
|
89
|
+
window.addEventListener('load', resolve);
|
|
181
90
|
});
|
|
91
|
+
var layout = (document.getElementById('cache-layout') || document.createElement('div'));
|
|
92
|
+
if (!layout.id) {
|
|
93
|
+
layout.id = 'cache-layout';
|
|
94
|
+
layout.appendChild(js_to_html_1.html.div({ id: 'app-versions' }).create());
|
|
95
|
+
layout.appendChild(js_to_html_1.html.div({ id: 'app-status' }).create());
|
|
96
|
+
document.body.appendChild(layout.appendChild(js_to_html_1.html.div({ id: 'cache-log' }).create()));
|
|
97
|
+
document.body.insertBefore(layout, document.body.firstChild);
|
|
98
|
+
}
|
|
99
|
+
return layout;
|
|
182
100
|
}();
|
|
183
101
|
//@ts-ignore no se usa quizás haya que quitarlo. Aparentemente se copió de hoja-de-ruta.js
|
|
184
|
-
function displayWhenReady(message, type, message2, _enOtroRenglon) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
texto.appendChild(texto2);
|
|
199
|
-
}
|
|
200
|
-
return [2 /*return*/];
|
|
201
|
-
});
|
|
202
|
-
});
|
|
102
|
+
async function displayWhenReady(message, type, message2, _enOtroRenglon) {
|
|
103
|
+
// var layout = await awaitForCacheLayout;
|
|
104
|
+
var logLayout = document.getElementById('cache-log');
|
|
105
|
+
var texto = logLayout.firstElementChild;
|
|
106
|
+
texto = document.createElement('div');
|
|
107
|
+
logLayout.appendChild(texto);
|
|
108
|
+
texto.className = 'log_manifest';
|
|
109
|
+
texto.textContent = message;
|
|
110
|
+
if (type != 'progress') {
|
|
111
|
+
var texto2 = document.createElement('span');
|
|
112
|
+
texto2.className = 'mensaje_alerta';
|
|
113
|
+
texto2.textContent = ' ' + message2;
|
|
114
|
+
texto.appendChild(texto2);
|
|
115
|
+
}
|
|
203
116
|
}
|
|
204
117
|
});
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUNiLHlDQUFpQztJQUNqQyxtREFBcUQ7SUFFckQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTs7O2dCQUM1QixvQkFBb0IsRUFBRSxDQUFDOzs7O0tBQzFCLENBQUMsQ0FBQztJQUVILElBQUksY0FBYyxHQUFDLEtBQUssQ0FBQztJQUN6QixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDdkMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTs7Ozs7O3dCQUNyQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQTt3QkFDMUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQzFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTt3QkFDdkMsY0FBYyxHQUFDLElBQUksQ0FBQzt3QkFDUCxxQkFBTSxtQkFBbUIsRUFBQTs7d0JBQWxDLE1BQU0sR0FBRyxTQUF5Qjt3QkFDdEMsTUFBTSxDQUFDLFlBQVksQ0FDZixpQkFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUUsS0FBSyxFQUFDLFNBQVMsRUFBQyxFQUFDOzRCQUN4QyxnRUFBZ0U7NEJBQ2hFLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsR0FBRyxFQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7eUJBQy9DLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFDWCxNQUFNLENBQUMsVUFBVSxDQUNwQixDQUFDOzs7OztLQUNMLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENB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anMtdG8taHRtbCc7XHJcbmltcG9ydCAqIGFzIEFqYXhCZXN0UHJvbWlzZSBmcm9tIFwiYWpheC1iZXN0LXByb21pc2VcIjtcclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZnVuY3Rpb24oKXtcclxuICAgIGRlc3BsZWdhclByZXN1cHVlc3RvKCk7XHJcbn0pO1xyXG5cclxudmFyIHdhc0Rvd25sb2FkaW5nPWZhbHNlO1xyXG52YXIgYXBwQ2FjaGUgPSB3aW5kb3cuYXBwbGljYXRpb25DYWNoZTtcclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZG93bmxvYWRpbmcnLCBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIG1vc3RyYXJFbGVtZW50b0lkKCdkbS1jb21wcm9iYW5kbycsIGZhbHNlKVxyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWluc3RhbGFuZG9zZScsIHRydWUpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCBmYWxzZSlcclxuICAgIHdhc0Rvd25sb2FkaW5nPXRydWU7XHJcbiAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIGxheW91dC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJywgY2xhc3M6J3dhcm5pbmcnfSxbXHJcbiAgICAgICAgICAgICdkZXNjYXJnYW5kbyBhcGxpY2FjacOzbiwgcG9yIGZhdm9yIG5vIGRlc2NvbmVjdGUgZWwgZGlzcG9zaXRpdm8nLFxyXG4gICAgICAgICAgICBodG1sLmltZyh7c3JjOidpbWcvbG9hZGluZzE2LmdpZid9KS5jcmVhdGUoKVxyXG4gICAgICAgIF0pLmNyZWF0ZSgpLCBcclxuICAgICAgICBsYXlvdXQuZmlyc3RDaGlsZFxyXG4gICAgKTtcclxufSwgZmFsc2UpO1xyXG5cclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBhc3luYyBmdW5jdGlvbihlOkV2ZW50KSB7XHJcbiAgICAvLyBAdHMtaWdub3JlIGVzIEVycm9yRXZlbnQgcG9ycXVlIGVsIGV2ZW50byBlcyAnZXJyb3InXHJcbiAgICB2YXIgZXJyb3JFdmVudDpFcnJvckV2ZW50ID0gZTtcclxuICAgIGlmKHdhc0Rvd25sb2FkaW5nKXtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyb3JFdmVudC5tZXNzYWdlKVxyXG4gICAgICAgIHZhciBsYXlvdXQgPSBhd2FpdCBhd2FpdEZvckNhY2hlTGF5b3V0O1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJyk7XHJcbiAgICAgICAgaWYoIWNhY2hlU3RhdHVzRWxlbWVudCl7XHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudCA9IGh0bWwucCh7aWQ6J2NhY2hlLXN0YXR1cyd9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgbGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIGxheW91dC5maXJzdENoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dhcm5pbmcnKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nZXJyb3IgYWwgZGVzY2FyZ2FyIGxhIGFwbGljYWNpw7NuLiAnICsgZXJyb3JFdmVudC5tZXNzYWdlO1xyXG4gICAgfVxyXG59LCBmYWxzZSk7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBjYWNoZVJlYWR5KCl7XHJcbiAgICB3YXNEb3dubG9hZGluZz1mYWxzZTtcclxuICAgIHZhciByZXN1bHQ6c3RyaW5nID0gYXdhaXQgQWpheEJlc3RQcm9taXNlLmdldCh7XHJcbiAgICAgICAgdXJsOidjYXJnYS1kbS9kbS1tYW5pZmVzdC5tYW5pZmVzdCcsXHJcbiAgICAgICAgZGF0YTp7fVxyXG4gICAgfSk7XHJcbiAgICBteU93bi5zZXRMb2NhbFZhcignYXBwLWNhY2hlLXZlcnNpb24nLHJlc3VsdC5zcGxpdCgnXFxuJylbMV0pO1xyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWNvbXByb2JhbmRvJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0taW5zdGFsYW5kb3NlJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCB0cnVlKVxyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJykhO1xyXG4gICAgICAgIGlmKCFjYWNoZVN0YXR1c0VsZW1lbnQpe1xyXG4gICAgICAgICAgICB2YXIgbWFpbkxheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2xheW91dCcpITtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50ID0gaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJ30pLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICBtYWluTGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIG1haW5MYXlvdXQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2FsbC1vaycpXHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nYXBsaWNhY2nDs24gYWN0dWFsaXphZGEsIGVzcGVyZSBhIGNhcmdhciBlbCBmb3JtdWxhcmlvJztcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LnN0eWxlLmRpc3BsYXk9J25vbmUnO1xyXG4gICAgICAgICAgICB9LCA1MDAwKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIH0sMjAwMClcclxuICAgICAgICB9LCA1MDAwKTtcclxuICAgIH0sNTAwKVxyXG59XHJcbmFwcENhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZGF0ZXJlYWR5JywgZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJhY3R1YWxpemEgY2FjaGVcIik7XHJcbiAgICBpZiAoYXBwQ2FjaGUuc3RhdHVzID09IGFwcENhY2hlLlVQREFURVJFQURZKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzd2FwIGNhY2hlXCIpO1xyXG4gICAgICAgIGFwcENhY2hlLnN3YXBDYWNoZSgpXHJcbiAgICB9XHJcbiAgICBjYWNoZVJlYWR5KClcclxufSwgZmFsc2UpO1xyXG5hcHBDYWNoZS5hZGRFdmVudExpc3RlbmVyKCdjYWNoZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2FjaGVhIHByaW1lcmEgdmV6XCIpO1xyXG4gICAgY2FjaGVSZWFkeSgpXHJcbn0sIGZhbHNlICk7XHJcblxyXG52YXIgYXdhaXRGb3JDYWNoZUxheW91dCA9IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVMYXlvdXRGb3JDYWNoZSgpe1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgX3JlamVjdCl7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHJlc29sdmUpO1xyXG4gICAgfSk7XHJcbiAgICB2YXIgbGF5b3V0PShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbGF5b3V0Jyl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgIGlmKCFsYXlvdXQuaWQpe1xyXG4gICAgICAgIGxheW91dC5pZD0nY2FjaGUtbGF5b3V0JztcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtdmVyc2lvbnMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2FwcC1zdGF0dXMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonY2FjaGUtbG9nJ30pLmNyZWF0ZSgpKSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUobGF5b3V0LGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZClcclxuICAgIH1cclxuICAgIHJldHVybiBsYXlvdXQ7XHJcbn0oKTtcclxuXHJcbi8vQHRzLWlnbm9yZSBubyBzZSB1c2EgcXVpesOhcyBoYXlhIHF1ZSBxdWl0YXJsby4gQXBhcmVudGVtZW50ZSBzZSBjb3Bpw7MgZGUgaG9qYS1kZS1ydXRhLmpzXHJcbmFzeW5jIGZ1bmN0aW9uIGRpc3BsYXlXaGVuUmVhZHkobWVzc2FnZTpzdHJpbmcsIHR5cGU6c3RyaW5nLCBtZXNzYWdlMjpzdHJpbmcsIF9lbk90cm9SZW5nbG9uOnN0cmluZyl7XHJcbiAgICAvLyB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIHZhciBsb2dMYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbG9nJykhO1xyXG4gICAgdmFyIHRleHRvID0gbG9nTGF5b3V0LmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgdGV4dG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBsb2dMYXlvdXQuYXBwZW5kQ2hpbGQodGV4dG8pO1xyXG4gICAgdGV4dG8uY2xhc3NOYW1lPSdsb2dfbWFuaWZlc3QnO1xyXG4gICAgdGV4dG8udGV4dENvbnRlbnQ9bWVzc2FnZTtcclxuICAgIGlmKHR5cGUhPSdwcm9ncmVzcycpe1xyXG4gICAgICAgIHZhciB0ZXh0bzI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHRleHRvMi5jbGFzc05hbWU9J21lbnNhamVfYWxlcnRhJztcclxuICAgICAgICB0ZXh0bzIudGV4dENvbnRlbnQ9JyAnK21lc3NhZ2UyO1xyXG4gICAgICAgIHRleHRvLmFwcGVuZENoaWxkKHRleHRvMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUNiLDJDQUFpQztJQUNqQyxxREFBcUQ7SUFFckQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLO1FBQ2pDLG9CQUFvQixFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLGNBQWMsR0FBQyxLQUFLLENBQUM7SUFDekIsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsS0FBSztRQUMxQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMxQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMxQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdkMsY0FBYyxHQUFDLElBQUksQ0FBQztRQUNwQixJQUFJLE1BQU0sR0FBRyxNQUFNLG1CQUFtQixDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQ2YsaUJBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBQyxTQUFTLEVBQUMsRUFBQztZQUN4QyxnRUFBZ0U7WUFDaEUsaUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtTQUMvQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQ1gsTUFBTSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztJQUNOLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFVLENBQU87UUFDckQsdURB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RUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkYsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0QsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsRUFBRSxDQUFDO0lBRUosMEZBQTBGO0lBQzFGLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxPQUFjLEVBQUUsSUFBVyxFQUFFLFFBQWUsRUFBRSxjQUFxQjtRQUMvRiwwQ0FBMEM7UUFDMUMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUUsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUM7UUFDeEMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsU0FBUyxHQUFDLGNBQWMsQ0FBQztRQUMvQixLQUFLLENBQUMsV0FBVyxHQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFHLElBQUksSUFBRSxVQUFVLEVBQUMsQ0FBQztZQUNqQixJQUFJLE1BQU0sR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxTQUFTLEdBQUMsZ0JBQWdCLENBQUM7WUFDbEMsTUFBTSxDQUFDLFdBQVcsR0FBQyxHQUFHLEdBQUMsUUFBUSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtodG1sfSAgZnJvbSAnanMtdG8taHRtbCc7XHJcbmltcG9ydCAqIGFzIEFqYXhCZXN0UHJvbWlzZSBmcm9tIFwiYWpheC1iZXN0LXByb21pc2VcIjtcclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZnVuY3Rpb24oKXtcclxuICAgIGRlc3BsZWdhclByZXN1cHVlc3RvKCk7XHJcbn0pO1xyXG5cclxudmFyIHdhc0Rvd25sb2FkaW5nPWZhbHNlO1xyXG52YXIgYXBwQ2FjaGUgPSB3aW5kb3cuYXBwbGljYXRpb25DYWNoZTtcclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZG93bmxvYWRpbmcnLCBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIG1vc3RyYXJFbGVtZW50b0lkKCdkbS1jb21wcm9iYW5kbycsIGZhbHNlKVxyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWluc3RhbGFuZG9zZScsIHRydWUpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCBmYWxzZSlcclxuICAgIHdhc0Rvd25sb2FkaW5nPXRydWU7XHJcbiAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIGxheW91dC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJywgY2xhc3M6J3dhcm5pbmcnfSxbXHJcbiAgICAgICAgICAgICdkZXNjYXJnYW5kbyBhcGxpY2FjacOzbiwgcG9yIGZhdm9yIG5vIGRlc2NvbmVjdGUgZWwgZGlzcG9zaXRpdm8nLFxyXG4gICAgICAgICAgICBodG1sLmltZyh7c3JjOidpbWcvbG9hZGluZzE2LmdpZid9KS5jcmVhdGUoKVxyXG4gICAgICAgIF0pLmNyZWF0ZSgpLCBcclxuICAgICAgICBsYXlvdXQuZmlyc3RDaGlsZFxyXG4gICAgKTtcclxufSwgZmFsc2UpO1xyXG5cclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBhc3luYyBmdW5jdGlvbihlOkV2ZW50KSB7XHJcbiAgICAvLyBAdHMtaWdub3JlIGVzIEVycm9yRXZlbnQgcG9ycXVlIGVsIGV2ZW50byBlcyAnZXJyb3InXHJcbiAgICB2YXIgZXJyb3JFdmVudDpFcnJvckV2ZW50ID0gZTtcclxuICAgIGlmKHdhc0Rvd25sb2FkaW5nKXtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyb3JFdmVudC5tZXNzYWdlKVxyXG4gICAgICAgIHZhciBsYXlvdXQgPSBhd2FpdCBhd2FpdEZvckNhY2hlTGF5b3V0O1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJyk7XHJcbiAgICAgICAgaWYoIWNhY2hlU3RhdHVzRWxlbWVudCl7XHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudCA9IGh0bWwucCh7aWQ6J2NhY2hlLXN0YXR1cyd9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgbGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIGxheW91dC5maXJzdENoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dhcm5pbmcnKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nZXJyb3IgYWwgZGVzY2FyZ2FyIGxhIGFwbGljYWNpw7NuLiAnICsgZXJyb3JFdmVudC5tZXNzYWdlO1xyXG4gICAgfVxyXG59LCBmYWxzZSk7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBjYWNoZVJlYWR5KCl7XHJcbiAgICB3YXNEb3dubG9hZGluZz1mYWxzZTtcclxuICAgIHZhciByZXN1bHQ6c3RyaW5nID0gYXdhaXQgQWpheEJlc3RQcm9taXNlLmdldCh7XHJcbiAgICAgICAgdXJsOidjYXJnYS1kbS9kbS1tYW5pZmVzdC5tYW5pZmVzdCcsXHJcbiAgICAgICAgZGF0YTp7fVxyXG4gICAgfSk7XHJcbiAgICBteU93bi5zZXRMb2NhbFZhcignYXBwLWNhY2hlLXZlcnNpb24nLHJlc3VsdC5zcGxpdCgnXFxuJylbMV0pO1xyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWNvbXByb2JhbmRvJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0taW5zdGFsYW5kb3NlJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCB0cnVlKVxyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJykhO1xyXG4gICAgICAgIGlmKCFjYWNoZVN0YXR1c0VsZW1lbnQpe1xyXG4gICAgICAgICAgICB2YXIgbWFpbkxheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2xheW91dCcpITtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50ID0gaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJ30pLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICBtYWluTGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIG1haW5MYXlvdXQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2FsbC1vaycpXHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nYXBsaWNhY2nDs24gYWN0dWFsaXphZGEsIGVzcGVyZSBhIGNhcmdhciBlbCBmb3JtdWxhcmlvJztcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LnN0eWxlLmRpc3BsYXk9J25vbmUnO1xyXG4gICAgICAgICAgICB9LCA1MDAwKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIH0sMjAwMClcclxuICAgICAgICB9LCA1MDAwKTtcclxuICAgIH0sNTAwKVxyXG59XHJcbmFwcENhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZGF0ZXJlYWR5JywgZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJhY3R1YWxpemEgY2FjaGVcIik7XHJcbiAgICBpZiAoYXBwQ2FjaGUuc3RhdHVzID09IGFwcENhY2hlLlVQREFURVJFQURZKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzd2FwIGNhY2hlXCIpO1xyXG4gICAgICAgIGFwcENhY2hlLnN3YXBDYWNoZSgpXHJcbiAgICB9XHJcbiAgICBjYWNoZVJlYWR5KClcclxufSwgZmFsc2UpO1xyXG5hcHBDYWNoZS5hZGRFdmVudExpc3RlbmVyKCdjYWNoZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2FjaGVhIHByaW1lcmEgdmV6XCIpO1xyXG4gICAgY2FjaGVSZWFkeSgpXHJcbn0sIGZhbHNlICk7XHJcblxyXG52YXIgYXdhaXRGb3JDYWNoZUxheW91dCA9IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVMYXlvdXRGb3JDYWNoZSgpe1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgX3JlamVjdCl7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHJlc29sdmUpO1xyXG4gICAgfSk7XHJcbiAgICB2YXIgbGF5b3V0PShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbGF5b3V0Jyl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgIGlmKCFsYXlvdXQuaWQpe1xyXG4gICAgICAgIGxheW91dC5pZD0nY2FjaGUtbGF5b3V0JztcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtdmVyc2lvbnMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2FwcC1zdGF0dXMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonY2FjaGUtbG9nJ30pLmNyZWF0ZSgpKSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUobGF5b3V0LGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZClcclxuICAgIH1cclxuICAgIHJldHVybiBsYXlvdXQ7XHJcbn0oKTtcclxuXHJcbi8vQHRzLWlnbm9yZSBubyBzZSB1c2EgcXVpesOhcyBoYXlhIHF1ZSBxdWl0YXJsby4gQXBhcmVudGVtZW50ZSBzZSBjb3Bpw7MgZGUgaG9qYS1kZS1ydXRhLmpzXHJcbmFzeW5jIGZ1bmN0aW9uIGRpc3BsYXlXaGVuUmVhZHkobWVzc2FnZTpzdHJpbmcsIHR5cGU6c3RyaW5nLCBtZXNzYWdlMjpzdHJpbmcsIF9lbk90cm9SZW5nbG9uOnN0cmluZyl7XHJcbiAgICAvLyB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIHZhciBsb2dMYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbG9nJykhO1xyXG4gICAgdmFyIHRleHRvID0gbG9nTGF5b3V0LmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgdGV4dG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBsb2dMYXlvdXQuYXBwZW5kQ2hpbGQodGV4dG8pO1xyXG4gICAgdGV4dG8uY2xhc3NOYW1lPSdsb2dfbWFuaWZlc3QnO1xyXG4gICAgdGV4dG8udGV4dENvbnRlbnQ9bWVzc2FnZTtcclxuICAgIGlmKHR5cGUhPSdwcm9ncmVzcycpe1xyXG4gICAgICAgIHZhciB0ZXh0bzI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHRleHRvMi5jbGFzc05hbWU9J21lbnNhamVfYWxlcnRhJztcclxuICAgICAgICB0ZXh0bzIudGV4dENvbnRlbnQ9JyAnK21lc3NhZ2UyO1xyXG4gICAgICAgIHRleHRvLmFwcGVuZENoaWxkKHRleHRvMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
|