@tricoteuses/senat 1.3.1 → 1.3.4
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/config.d.ts +1 -0
- package/lib/config.js +14 -45
- package/lib/databases.js +86 -143
- package/lib/datasets.js +78 -83
- package/lib/index.d.ts +12 -4
- package/lib/index.js +42 -419
- package/lib/loaders.js +149 -654
- package/lib/model/ameli.js +83 -21
- package/lib/model/debats.js +0 -1
- package/lib/model/dosleg.d.ts +1 -1
- package/lib/model/dosleg.js +179 -73
- package/lib/model/index.d.ts +3 -3
- package/lib/model/index.js +12 -46
- package/lib/model/questions.js +68 -39
- package/lib/model/sens.d.ts +1 -1
- package/lib/model/sens.js +383 -113
- package/lib/model/texte.js +220 -290
- package/lib/model/util.js +9 -26
- package/lib/raw_types/ameli.js +5 -6
- package/lib/raw_types/debats.js +5 -6
- package/lib/raw_types/dosleg.js +5 -6
- package/lib/raw_types/questions.js +5 -6
- package/lib/raw_types/sens.js +5 -6
- package/lib/raw_types_schemats/ameli.js +1 -43
- package/lib/raw_types_schemats/debats.js +1 -22
- package/lib/raw_types_schemats/dosleg.js +1 -96
- package/lib/raw_types_schemats/questions.js +1 -22
- package/lib/raw_types_schemats/sens.js +1 -112
- package/lib/scripts/convert_data.js +181 -631
- package/lib/scripts/datautil.js +17 -60
- package/lib/scripts/parse_textes.js +46 -129
- package/lib/scripts/retrieve_documents.js +247 -513
- package/lib/scripts/retrieve_open_data.js +211 -368
- package/lib/scripts/retrieve_senateurs_photos.js +144 -239
- package/lib/scripts/shared/cli_helpers.js +30 -30
- package/lib/scripts/shared/util.js +28 -94
- package/lib/strings.js +20 -45
- package/lib/types/ameli.d.ts +1 -1
- package/lib/types/ameli.js +14 -25
- package/lib/types/debats.d.ts +1 -1
- package/lib/types/debats.js +3 -21
- package/lib/types/dosleg.d.ts +1 -1
- package/lib/types/dosleg.js +152 -119
- package/lib/types/questions.d.ts +1 -1
- package/lib/types/questions.js +1 -13
- package/lib/types/sens.d.ts +1 -1
- package/lib/types/sens.js +1 -13
- package/lib/types/sessions.js +44 -49
- package/lib/types/texte.js +17 -22
- package/lib/validators/config.js +47 -111
- package/lib/validators/senat.js +1 -5
- package/package.json +18 -40
- package/lib/aggregates.d.ts +0 -52
- package/lib/aggregates.mjs +0 -930
- package/lib/aggregates.ts +0 -833
- package/lib/config.mjs +0 -16
- package/lib/config.ts +0 -26
- package/lib/data/legislatures.json +0 -38
- package/lib/databases.mjs +0 -57
- package/lib/databases.ts +0 -71
- package/lib/datasets.mjs +0 -78
- package/lib/datasets.ts +0 -118
- package/lib/fields.d.ts +0 -10
- package/lib/fields.mjs +0 -68
- package/lib/fields.ts +0 -29
- package/lib/index.mjs +0 -4
- package/lib/index.ts +0 -42
- package/lib/inserters.d.ts +0 -98
- package/lib/inserters.mjs +0 -500
- package/lib/inserters.ts +0 -521
- package/lib/loaders.mjs +0 -158
- package/lib/loaders.ts +0 -271
- package/lib/model/ameli.mjs +0 -84
- package/lib/model/ameli.ts +0 -100
- package/lib/model/debats.mjs +0 -1
- package/lib/model/debats.ts +0 -0
- package/lib/model/dosleg.mjs +0 -196
- package/lib/model/dosleg.ts +0 -240
- package/lib/model/index.mjs +0 -4
- package/lib/model/index.ts +0 -14
- package/lib/model/questions.mjs +0 -71
- package/lib/model/questions.ts +0 -93
- package/lib/model/sens.mjs +0 -415
- package/lib/model/sens.ts +0 -516
- package/lib/model/texte.mjs +0 -208
- package/lib/model/texte.ts +0 -229
- package/lib/model/util.mjs +0 -19
- package/lib/model/util.ts +0 -32
- package/lib/raw_types/ameli.mjs +0 -5
- package/lib/raw_types/ameli.ts +0 -951
- package/lib/raw_types/debats.mjs +0 -5
- package/lib/raw_types/debats.ts +0 -222
- package/lib/raw_types/dosleg.mjs +0 -5
- package/lib/raw_types/dosleg.ts +0 -3625
- package/lib/raw_types/questions.mjs +0 -5
- package/lib/raw_types/questions.ts +0 -427
- package/lib/raw_types/sens.mjs +0 -5
- package/lib/raw_types/sens.ts +0 -4499
- package/lib/raw_types_kysely/ameli.d.ts +0 -6
- package/lib/raw_types_kysely/ameli.mjs +0 -7
- package/lib/raw_types_kysely/ameli.ts +0 -6
- package/lib/raw_types_kysely/debats.d.ts +0 -6
- package/lib/raw_types_kysely/debats.mjs +0 -7
- package/lib/raw_types_kysely/debats.ts +0 -6
- package/lib/raw_types_kysely/dosleg.d.ts +0 -6
- package/lib/raw_types_kysely/dosleg.mjs +0 -7
- package/lib/raw_types_kysely/dosleg.ts +0 -6
- package/lib/raw_types_kysely/questions.d.ts +0 -6
- package/lib/raw_types_kysely/questions.mjs +0 -7
- package/lib/raw_types_kysely/questions.ts +0 -6
- package/lib/raw_types_kysely/sens.d.ts +0 -6
- package/lib/raw_types_kysely/sens.mjs +0 -7
- package/lib/raw_types_kysely/sens.ts +0 -6
- package/lib/raw_types_kysely/texte.d.ts +0 -45
- package/lib/raw_types_kysely/texte.mjs +0 -7
- package/lib/raw_types_kysely/texte.ts +0 -53
- package/lib/raw_types_schemats/ameli.mjs +0 -2
- package/lib/raw_types_schemats/ameli.ts +0 -601
- package/lib/raw_types_schemats/debats.mjs +0 -2
- package/lib/raw_types_schemats/debats.ts +0 -145
- package/lib/raw_types_schemats/dosleg.mjs +0 -2
- package/lib/raw_types_schemats/dosleg.ts +0 -2195
- package/lib/raw_types_schemats/questions.mjs +0 -2
- package/lib/raw_types_schemats/questions.ts +0 -251
- package/lib/raw_types_schemats/sens.mjs +0 -2
- package/lib/raw_types_schemats/sens.ts +0 -2907
- package/lib/scripts/convert_data.mjs +0 -181
- package/lib/scripts/convert_data.ts +0 -243
- package/lib/scripts/datautil.mjs +0 -16
- package/lib/scripts/datautil.ts +0 -19
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/parse_textes.mjs +0 -46
- package/lib/scripts/parse_textes.ts +0 -65
- package/lib/scripts/retrieve_documents.mjs +0 -249
- package/lib/scripts/retrieve_documents.ts +0 -298
- package/lib/scripts/retrieve_open_data.mjs +0 -217
- package/lib/scripts/retrieve_open_data.ts +0 -274
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -147
- package/lib/scripts/retrieve_senateurs_photos.ts +0 -177
- package/lib/scripts/retrieve_textes.d.ts +0 -1
- package/lib/scripts/retrieve_textes.mjs +0 -328
- package/lib/scripts/retrieve_textes.ts +0 -143
- package/lib/scripts/shared/cli_helpers.ts +0 -36
- package/lib/scripts/shared/util.ts +0 -33
- package/lib/src/aggregates.d.ts +0 -52
- package/lib/src/aggregates.mjs +0 -726
- package/lib/src/config.d.ts +0 -2
- package/lib/src/config.mjs +0 -16
- package/lib/src/databases.d.ts +0 -18
- package/lib/src/databases.mjs +0 -55
- package/lib/src/datasets.d.ts +0 -28
- package/lib/src/datasets.mjs +0 -78
- package/lib/src/fields.d.ts +0 -10
- package/lib/src/fields.mjs +0 -22
- package/lib/src/index.d.ts +0 -8
- package/lib/src/index.mjs +0 -7
- package/lib/src/inserters.d.ts +0 -98
- package/lib/src/inserters.mjs +0 -360
- package/lib/src/loaders.d.ts +0 -36
- package/lib/src/loaders.mjs +0 -107
- package/lib/src/model/ameli.d.ts +0 -4
- package/lib/src/model/ameli.js +0 -57
- package/lib/src/model/debats.d.ts +0 -4
- package/lib/src/model/debats.js +0 -43
- package/lib/src/model/dosleg.d.ts +0 -197
- package/lib/src/model/dosleg.js +0 -169
- package/lib/src/model/index.d.ts +0 -4
- package/lib/src/model/index.js +0 -4
- package/lib/src/model/questions.d.ts +0 -89
- package/lib/src/model/questions.js +0 -76
- package/lib/src/model/sens.d.ts +0 -390
- package/lib/src/model/sens.js +0 -339
- package/lib/src/model/texte.d.ts +0 -7
- package/lib/src/model/texte.js +0 -183
- package/lib/src/raw_types_kysely/ameli.d.ts +0 -915
- package/lib/src/raw_types_kysely/ameli.js +0 -5
- package/lib/src/raw_types_kysely/debats.d.ts +0 -207
- package/lib/src/raw_types_kysely/debats.js +0 -5
- package/lib/src/raw_types_kysely/dosleg.d.ts +0 -3532
- package/lib/src/raw_types_kysely/dosleg.js +0 -5
- package/lib/src/raw_types_kysely/questions.d.ts +0 -414
- package/lib/src/raw_types_kysely/questions.js +0 -5
- package/lib/src/raw_types_kysely/sens.d.ts +0 -4394
- package/lib/src/raw_types_kysely/sens.js +0 -5
- package/lib/src/raw_types_schemats/ameli.d.ts +0 -541
- package/lib/src/raw_types_schemats/ameli.js +0 -2
- package/lib/src/raw_types_schemats/debats.d.ts +0 -127
- package/lib/src/raw_types_schemats/debats.js +0 -2
- package/lib/src/raw_types_schemats/dosleg.d.ts +0 -2027
- package/lib/src/raw_types_schemats/dosleg.js +0 -2
- package/lib/src/raw_types_schemats/questions.d.ts +0 -231
- package/lib/src/raw_types_schemats/questions.js +0 -2
- package/lib/src/raw_types_schemats/sens.d.ts +0 -2709
- package/lib/src/raw_types_schemats/sens.js +0 -2
- package/lib/src/scripts/convert_data.d.ts +0 -1
- package/lib/src/scripts/convert_data.js +0 -95
- package/lib/src/scripts/datautil.d.ts +0 -5
- package/lib/src/scripts/datautil.js +0 -16
- package/lib/src/scripts/parse_textes.d.ts +0 -1
- package/lib/src/scripts/parse_textes.js +0 -47
- package/lib/src/scripts/retrieve_documents.d.ts +0 -1
- package/lib/src/scripts/retrieve_documents.js +0 -258
- package/lib/src/scripts/retrieve_open_data.d.ts +0 -1
- package/lib/src/scripts/retrieve_open_data.js +0 -214
- package/lib/src/scripts/retrieve_senateurs_photos.d.ts +0 -1
- package/lib/src/scripts/retrieve_senateurs_photos.js +0 -147
- package/lib/src/scripts/shared/cli_helpers.d.ts +0 -44
- package/lib/src/scripts/shared/cli_helpers.js +0 -32
- package/lib/src/scripts/shared/util.d.ts +0 -3
- package/lib/src/scripts/shared/util.js +0 -28
- package/lib/src/strings.d.ts +0 -1
- package/lib/src/strings.mjs +0 -18
- package/lib/src/types/ameli.d.ts +0 -10
- package/lib/src/types/ameli.js +0 -13
- package/lib/src/types/debats.d.ts +0 -4
- package/lib/src/types/debats.js +0 -2
- package/lib/src/types/dosleg.d.ts +0 -98
- package/lib/src/types/dosleg.js +0 -151
- package/lib/src/types/questions.d.ts +0 -2
- package/lib/src/types/questions.js +0 -1
- package/lib/src/types/sens.d.ts +0 -10
- package/lib/src/types/sens.js +0 -1
- package/lib/src/types/sessions.d.ts +0 -42
- package/lib/src/types/sessions.js +0 -43
- package/lib/src/types/texte.d.ts +0 -61
- package/lib/src/types/texte.js +0 -16
- package/lib/src/validators/config.d.ts +0 -1
- package/lib/src/validators/config.js +0 -54
- package/lib/src/validators/senat.d.ts +0 -0
- package/lib/src/validators/senat.js +0 -24
- package/lib/strings.mjs +0 -18
- package/lib/strings.ts +0 -26
- package/lib/types/ameli.mjs +0 -13
- package/lib/types/ameli.ts +0 -21
- package/lib/types/debats.mjs +0 -2
- package/lib/types/debats.ts +0 -6
- package/lib/types/dosleg.mjs +0 -151
- package/lib/types/dosleg.ts +0 -284
- package/lib/types/questions.mjs +0 -1
- package/lib/types/questions.ts +0 -3
- package/lib/types/sens.mjs +0 -1
- package/lib/types/sens.ts +0 -12
- package/lib/types/sessions.mjs +0 -43
- package/lib/types/sessions.ts +0 -42
- package/lib/types/texte.mjs +0 -16
- package/lib/types/texte.ts +0 -76
- package/lib/typings/windows-1252.d.js +0 -2
- package/lib/typings/windows-1252.d.mjs +0 -2
- package/lib/typings/windows-1252.d.ts +0 -11
- package/lib/validators/config.mjs +0 -54
- package/lib/validators/config.ts +0 -79
- package/lib/validators/senat.mjs +0 -24
- package/lib/validators/senat.ts +0 -26
package/lib/scripts/datautil.js
CHANGED
|
@@ -1,64 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
require("core-js/modules/es.symbol.js");
|
|
5
|
-
require("core-js/modules/es.symbol.description.js");
|
|
6
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
7
|
-
require("core-js/modules/es.symbol.replace.js");
|
|
8
|
-
require("core-js/modules/es.array.is-array.js");
|
|
9
|
-
require("core-js/modules/es.array.iterator.js");
|
|
10
|
-
require("core-js/modules/es.array.join.js");
|
|
11
|
-
require("core-js/modules/es.array.reduce.js");
|
|
12
|
-
require("core-js/modules/es.array.slice.js");
|
|
13
|
-
require("core-js/modules/es.object.create.js");
|
|
14
|
-
require("core-js/modules/es.object.define-property.js");
|
|
15
|
-
require("core-js/modules/es.object.keys.js");
|
|
16
|
-
require("core-js/modules/es.object.to-string.js");
|
|
17
|
-
require("core-js/modules/es.regexp.constructor.js");
|
|
18
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
19
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
20
|
-
require("core-js/modules/es.string.iterator.js");
|
|
21
|
-
require("core-js/modules/es.string.replace.js");
|
|
22
|
-
require("core-js/modules/es.weak-map.js");
|
|
23
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
24
|
-
Object.defineProperty(exports, "__esModule", {
|
|
25
|
-
value: true
|
|
26
|
-
});
|
|
27
|
-
exports.UNDEFINED_SESSION = exports.SIGNET_STRUCTURE_REGEXP = exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = void 0;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UNDEFINED_SESSION = exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = exports.SIGNET_STRUCTURE_REGEXP = void 0;
|
|
28
4
|
exports.formatToFourDigitSession = formatToFourDigitSession;
|
|
29
|
-
require("
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
36
|
-
_luxon.Settings.twoDigitCutoffYear = 50;
|
|
37
|
-
var SIGNET_STRUCTURE_REGEXP = exports.SIGNET_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^([a-z]+)(\d{2,4})-?(\d+)?/, {
|
|
38
|
-
type: 1,
|
|
39
|
-
session: 2,
|
|
40
|
-
numTexte: 3
|
|
41
|
-
});
|
|
42
|
-
var AKN_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^\/akn\/fr\/([a-z]+)\/(\d{4}-\d{4})\/?(\d+)\/fr@(\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/, {
|
|
43
|
-
type: 1,
|
|
44
|
-
session: 2,
|
|
45
|
-
numTexte: 3,
|
|
46
|
-
version: 4
|
|
47
|
-
});
|
|
48
|
-
var AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = /*#__PURE__*/_wrapRegExp(/^\/akn\/fr\/([a-z]+)\/(\d{2,4})\/?([a-zA-Z0-9]+)\/fr@(\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/, {
|
|
49
|
-
type: 1,
|
|
50
|
-
session: 2,
|
|
51
|
-
numTexte: 3,
|
|
52
|
-
version: 4
|
|
53
|
-
});
|
|
54
|
-
var UNDEFINED_SESSION = exports.UNDEFINED_SESSION = "0";
|
|
5
|
+
const luxon_1 = require("luxon");
|
|
6
|
+
luxon_1.Settings.twoDigitCutoffYear = 50;
|
|
7
|
+
exports.SIGNET_STRUCTURE_REGEXP = /^(?<type>[a-z]+)(?<session>\d{2,4})-?(?<numTexte>\d+)?/;
|
|
8
|
+
exports.AKN_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{4}-\d{4})\/?(?<numTexte>\d+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/;
|
|
9
|
+
exports.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP = /^\/akn\/fr\/(?<type>[a-z]+)\/(?<session>\d{2,4})\/?(?<numTexte>[a-zA-Z0-9]+)\/fr@(?<version>\b(?:RECT|RECT_BIS|RECT_TER|RECT_QUATER|RECT_QUINQUIES)\b)?/;
|
|
10
|
+
exports.UNDEFINED_SESSION = "0";
|
|
55
11
|
function formatToFourDigitSession(session) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
12
|
+
if (session.length >= 2) {
|
|
13
|
+
const sessionFirstTwoDigits = session.substring(0, 2);
|
|
14
|
+
const sessionLastTwoDigits = session.substring(session.length - 2);
|
|
15
|
+
const twoDigitSession = parseInt(sessionFirstTwoDigits) === parseInt(sessionLastTwoDigits) - 1
|
|
16
|
+
? sessionFirstTwoDigits
|
|
17
|
+
: sessionLastTwoDigits;
|
|
18
|
+
return luxon_1.DateTime.fromFormat(String(twoDigitSession), "yy").toFormat("yyyy");
|
|
19
|
+
}
|
|
20
|
+
return exports.UNDEFINED_SESSION;
|
|
63
21
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbHV4b24iLCJyZXF1aXJlIiwiX3dyYXBSZWdFeHAiLCJlIiwiciIsIkJhYmVsUmVnRXhwIiwiUmVnRXhwIiwicHJvdG90eXBlIiwiV2Vha01hcCIsInQiLCJwIiwibyIsInNldCIsImdldCIsIl9zZXRQcm90b3R5cGVPZiIsImJ1aWxkR3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsImkiLCJsZW5ndGgiLCJjcmVhdGUiLCJfaW5oZXJpdHMiLCJleGVjIiwiY2FsbCIsImdyb3VwcyIsImluZGljZXMiLCJTeW1ib2wiLCJyZXBsYWNlIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFyZ3VtZW50cyIsIl90eXBlb2YiLCJzbGljZSIsInB1c2giLCJhcHBseSIsIlR5cGVFcnJvciIsImNvbnN0cnVjdG9yIiwidmFsdWUiLCJ3cml0YWJsZSIsImNvbmZpZ3VyYWJsZSIsImRlZmluZVByb3BlcnR5Iiwic2V0UHJvdG90eXBlT2YiLCJiaW5kIiwiX19wcm90b19fIiwiU2V0dGluZ3MiLCJ0d29EaWdpdEN1dG9mZlllYXIiLCJTSUdORVRfU1RSVUNUVVJFX1JFR0VYUCIsImV4cG9ydHMiLCJ0eXBlIiwic2Vzc2lvbiIsIm51bVRleHRlIiwiQUtOX0lERU5USUZJQ0FUSU9OX1NUUlVDVFVSRV9SRUdFWFAiLCJ2ZXJzaW9uIiwiQUtOX1dPUktGTE9XX0lERU5USUZJQ0FUSU9OX1NUUlVDVFVSRV9SRUdFWFAiLCJVTkRFRklORURfU0VTU0lPTiIsImZvcm1hdFRvRm91ckRpZ2l0U2Vzc2lvbiIsInNlc3Npb25GaXJzdFR3b0RpZ2l0cyIsInN1YnN0cmluZyIsInNlc3Npb25MYXN0VHdvRGlnaXRzIiwidHdvRGlnaXRTZXNzaW9uIiwicGFyc2VJbnQiLCJEYXRlVGltZSIsImZyb21Gb3JtYXQiLCJTdHJpbmciLCJ0b0Zvcm1hdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2RhdGF1dGlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lLCBTZXR0aW5ncyB9IGZyb20gXCJsdXhvblwiXG5cblNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDUwXG5cbmV4cG9ydCBjb25zdCBTSUdORVRfU1RSVUNUVVJFX1JFR0VYUCA9IC9eKD88dHlwZT5bYS16XSspKD88c2Vzc2lvbj5cXGR7Miw0fSktPyg/PG51bVRleHRlPlxcZCspPy9cbmV4cG9ydCBjb25zdCBBS05fSURFTlRJRklDQVRJT05fU1RSVUNUVVJFX1JFR0VYUCA9IC9eXFwvYWtuXFwvZnJcXC8oPzx0eXBlPlthLXpdKylcXC8oPzxzZXNzaW9uPlxcZHs0fS1cXGR7NH0pXFwvPyg/PG51bVRleHRlPlxcZCspXFwvZnJAKD88dmVyc2lvbj5cXGIoPzpSRUNUfFJFQ1RfQklTfFJFQ1RfVEVSfFJFQ1RfUVVBVEVSfFJFQ1RfUVVJTlFVSUVTKVxcYik/L1xuZXhwb3J0IGNvbnN0IEFLTl9XT1JLRkxPV19JREVOVElGSUNBVElPTl9TVFJVQ1RVUkVfUkVHRVhQID0gL15cXC9ha25cXC9mclxcLyg/PHR5cGU+W2Etel0rKVxcLyg/PHNlc3Npb24+XFxkezIsNH0pXFwvPyg/PG51bVRleHRlPlthLXpBLVowLTldKylcXC9mckAoPzx2ZXJzaW9uPlxcYig/OlJFQ1R8UkVDVF9CSVN8UkVDVF9URVJ8UkVDVF9RVUFURVJ8UkVDVF9RVUlOUVVJRVMpXFxiKT8vXG5leHBvcnQgY29uc3QgVU5ERUZJTkVEX1NFU1NJT04gPSBcIjBcIlxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VG9Gb3VyRGlnaXRTZXNzaW9uIChzZXNzaW9uOiBzdHJpbmcpIHtcbiAgaWYgKHNlc3Npb24ubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCBzZXNzaW9uRmlyc3RUd29EaWdpdHMgPSBzZXNzaW9uLnN1YnN0cmluZygwLCAyKVxuICAgIGNvbnN0IHNlc3Npb25MYXN0VHdvRGlnaXRzID0gc2Vzc2lvbi5zdWJzdHJpbmcoc2Vzc2lvbi5sZW5ndGggLSAyKVxuICAgIGNvbnN0IHR3b0RpZ2l0U2Vzc2lvbiA9IHBhcnNlSW50KHNlc3Npb25GaXJzdFR3b0RpZ2l0cykgPT09IHBhcnNlSW50KHNlc3Npb25MYXN0VHdvRGlnaXRzKSAtIDEgP1xuICAgICAgc2Vzc2lvbkZpcnN0VHdvRGlnaXRzIDogc2Vzc2lvbkxhc3RUd29EaWdpdHNcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdChTdHJpbmcodHdvRGlnaXRTZXNzaW9uKSwgXCJ5eVwiKS50b0Zvcm1hdChcInl5eXlcIilcbiAgfVxuICByZXR1cm4gVU5ERUZJTkVEX1NFU1NJT05cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUEwQyxTQUFBQyxZQUFBLElBQUFBLFdBQUEsWUFBQUEsWUFBQUMsQ0FBQSxFQUFBQyxDQUFBLGVBQUFDLFdBQUEsQ0FBQUYsQ0FBQSxVQUFBQyxDQUFBLFVBQUFELENBQUEsR0FBQUcsTUFBQSxDQUFBQyxTQUFBLEVBQUFILENBQUEsT0FBQUksT0FBQSxhQUFBSCxZQUFBRixDQUFBLEVBQUFNLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLE1BQUEsQ0FBQUgsQ0FBQSxFQUFBTSxDQUFBLFVBQUFMLENBQUEsQ0FBQVEsR0FBQSxDQUFBRCxDQUFBLEVBQUFELENBQUEsSUFBQU4sQ0FBQSxDQUFBUyxHQUFBLENBQUFWLENBQUEsSUFBQVcsZUFBQSxDQUFBSCxDQUFBLEVBQUFOLFdBQUEsQ0FBQUUsU0FBQSxjQUFBUSxZQUFBWixDQUFBLEVBQUFNLENBQUEsUUFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFTLEdBQUEsQ0FBQUosQ0FBQSxVQUFBTyxNQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQSxFQUFBUSxNQUFBLFdBQUFkLENBQUEsRUFBQUssQ0FBQSxRQUFBRSxDQUFBLEdBQUFELENBQUEsQ0FBQUQsQ0FBQSwwQkFBQUUsQ0FBQSxFQUFBUCxDQUFBLENBQUFLLENBQUEsSUFBQU4sQ0FBQSxDQUFBUSxDQUFBLGtC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
|
|
@@ -1,132 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
require("
|
|
7
|
-
require("
|
|
8
|
-
require("
|
|
9
|
-
require("
|
|
10
|
-
require("
|
|
11
|
-
require("
|
|
12
|
-
require("
|
|
13
|
-
require("
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
44
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
45
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
46
|
-
var optionsDefinitions = _toConsumableArray(_cli_helpers.commonOptions);
|
|
47
|
-
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
48
|
-
function main() {
|
|
49
|
-
return _main.apply(this, arguments);
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const command_line_args_1 = __importDefault(require("command-line-args"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const loaders_1 = require("../loaders");
|
|
11
|
+
const texte_1 = require("../model/texte");
|
|
12
|
+
const cli_helpers_1 = require("./shared/cli_helpers");
|
|
13
|
+
const util_1 = require("./shared/util");
|
|
14
|
+
const optionsDefinitions = [...cli_helpers_1.commonOptions];
|
|
15
|
+
const options = (0, command_line_args_1.default)(optionsDefinitions);
|
|
16
|
+
async function main() {
|
|
17
|
+
const dataDir = options["dataDir"];
|
|
18
|
+
(0, assert_1.default)(dataDir, "Missing argument: data directory");
|
|
19
|
+
const transformedTextesDir = path_1.default.join(options["dataDir"], loaders_1.TEXTE_FOLDER, loaders_1.TEXTE_TRANSFORMED_FOLDER);
|
|
20
|
+
(0, util_1.ensureAndClearDir)(transformedTextesDir);
|
|
21
|
+
for (const filePath of (0, loaders_1.iterFilePaths)(path_1.default.join(dataDir, loaders_1.TEXTE_FOLDER, loaders_1.TEXTE_ORIGINAL_FOLDER))) {
|
|
22
|
+
const parsedFilePath = path_1.default.parse(filePath);
|
|
23
|
+
if (parsedFilePath.ext !== ".xml") {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const texteDirFromOriginal = parsedFilePath.dir.substring(filePath.indexOf(loaders_1.TEXTE_ORIGINAL_FOLDER) + loaders_1.TEXTE_ORIGINAL_FOLDER.length);
|
|
27
|
+
const transformedTexteDir = path_1.default.join(transformedTextesDir, texteDirFromOriginal);
|
|
28
|
+
fs_extra_1.default.ensureDirSync(transformedTexteDir);
|
|
29
|
+
if (!options["silent"]) {
|
|
30
|
+
console.log(`Parsing texte ${parsedFilePath.name}.xml…`);
|
|
31
|
+
}
|
|
32
|
+
const parsedTexte = await (0, texte_1.parseTexteFromFile)(filePath);
|
|
33
|
+
const exposeDesMotifsFileName = `${parsedFilePath.name}-expose`;
|
|
34
|
+
const exposeDesMotifsFilePath = path_1.default.join(parsedFilePath.dir, `${exposeDesMotifsFileName}.html`);
|
|
35
|
+
if (parsedTexte && fs_extra_1.default.existsSync(exposeDesMotifsFilePath)) {
|
|
36
|
+
if (!options["silent"]) {
|
|
37
|
+
console.log(`Parsing exposé des motifs ${exposeDesMotifsFileName}.html…`);
|
|
38
|
+
}
|
|
39
|
+
parsedTexte.exposeDesMotifs = await (0, texte_1.parseExposeDesMotifsFromFile)(exposeDesMotifsFilePath);
|
|
40
|
+
}
|
|
41
|
+
fs_extra_1.default.writeJSONSync(path_1.default.join(transformedTexteDir, `${parsedFilePath.name}.json`), parsedTexte, { spaces: 2 });
|
|
42
|
+
}
|
|
50
43
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
case 0:
|
|
57
|
-
dataDir = options.dataDir;
|
|
58
|
-
(0, _assert["default"])(dataDir, "Missing argument: data directory");
|
|
59
|
-
transformedTextesDir = _path["default"].join(options.dataDir, _loaders.TEXTE_FOLDER, _loaders.TEXTE_TRANSFORMED_FOLDER);
|
|
60
|
-
(0, _util.ensureAndClearDir)(transformedTextesDir);
|
|
61
|
-
_iterator = _createForOfIteratorHelper((0, _loaders.iterFilePaths)(_path["default"].join(dataDir, _loaders.TEXTE_FOLDER, _loaders.TEXTE_ORIGINAL_FOLDER)));
|
|
62
|
-
_context.prev = 5;
|
|
63
|
-
_iterator.s();
|
|
64
|
-
case 7:
|
|
65
|
-
if ((_step = _iterator.n()).done) {
|
|
66
|
-
_context.next = 29;
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
filePath = _step.value;
|
|
70
|
-
parsedFilePath = _path["default"].parse(filePath);
|
|
71
|
-
if (!(parsedFilePath.ext !== ".xml")) {
|
|
72
|
-
_context.next = 12;
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
return _context.abrupt("continue", 27);
|
|
76
|
-
case 12:
|
|
77
|
-
texteDirFromOriginal = parsedFilePath.dir.substring(filePath.indexOf(_loaders.TEXTE_ORIGINAL_FOLDER) + _loaders.TEXTE_ORIGINAL_FOLDER.length);
|
|
78
|
-
transformedTexteDir = _path["default"].join(transformedTextesDir, texteDirFromOriginal);
|
|
79
|
-
_fsExtra["default"].ensureDirSync(transformedTexteDir);
|
|
80
|
-
if (!options.silent) {
|
|
81
|
-
console.log("Parsing texte ".concat(parsedFilePath.name, ".xml\u2026"));
|
|
82
|
-
}
|
|
83
|
-
_context.next = 18;
|
|
84
|
-
return (0, _texte.parseTexteFromFile)(filePath);
|
|
85
|
-
case 18:
|
|
86
|
-
parsedTexte = _context.sent;
|
|
87
|
-
exposeDesMotifsFileName = "".concat(parsedFilePath.name, "-expose");
|
|
88
|
-
exposeDesMotifsFilePath = _path["default"].join(parsedFilePath.dir, "".concat(exposeDesMotifsFileName, ".html"));
|
|
89
|
-
if (!(parsedTexte && _fsExtra["default"].existsSync(exposeDesMotifsFilePath))) {
|
|
90
|
-
_context.next = 26;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
if (!options.silent) {
|
|
94
|
-
console.log("Parsing expos\xE9 des motifs ".concat(exposeDesMotifsFileName, ".html\u2026"));
|
|
95
|
-
}
|
|
96
|
-
_context.next = 25;
|
|
97
|
-
return (0, _texte.parseExposeDesMotifsFromFile)(exposeDesMotifsFilePath);
|
|
98
|
-
case 25:
|
|
99
|
-
parsedTexte.exposeDesMotifs = _context.sent;
|
|
100
|
-
case 26:
|
|
101
|
-
_fsExtra["default"].writeJSONSync(_path["default"].join(transformedTexteDir, "".concat(parsedFilePath.name, ".json")), parsedTexte, {
|
|
102
|
-
spaces: 2
|
|
103
|
-
});
|
|
104
|
-
case 27:
|
|
105
|
-
_context.next = 7;
|
|
106
|
-
break;
|
|
107
|
-
case 29:
|
|
108
|
-
_context.next = 34;
|
|
109
|
-
break;
|
|
110
|
-
case 31:
|
|
111
|
-
_context.prev = 31;
|
|
112
|
-
_context.t0 = _context["catch"](5);
|
|
113
|
-
_iterator.e(_context.t0);
|
|
114
|
-
case 34:
|
|
115
|
-
_context.prev = 34;
|
|
116
|
-
_iterator.f();
|
|
117
|
-
return _context.finish(34);
|
|
118
|
-
case 37:
|
|
119
|
-
case "end":
|
|
120
|
-
return _context.stop();
|
|
121
|
-
}
|
|
122
|
-
}, _callee, null, [[5, 31, 34, 37]]);
|
|
123
|
-
}));
|
|
124
|
-
return _main.apply(this, arguments);
|
|
125
|
-
}
|
|
126
|
-
main().then(function () {
|
|
127
|
-
return process.exit(0);
|
|
128
|
-
})["catch"](function (error) {
|
|
129
|
-
console.log(error);
|
|
130
|
-
process.exit(1);
|
|
44
|
+
main()
|
|
45
|
+
.then(() => process.exit(0))
|
|
46
|
+
.catch((error) => {
|
|
47
|
+
console.log(error);
|
|
48
|
+
process.exit(1);
|
|
131
49
|
});
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9sb2FkZXJzIiwiX3RleHRlIiwiX2NsaV9oZWxwZXJzIiwiX3V0aWwiLCJlIiwiX19lc01vZHVsZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJyIiwidCIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJTeW1ib2wiLCJpIiwiaXRlcmF0b3IiLCJhIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImFyZyIsImRlbGVnYXRlIiwiZCIsImYiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInMiLCJ0eXBlIiwiQ29udGV4dCIsImNhbGwiLCJ3cmFwIiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsImwiLCJwIiwiZ2V0UHJvdG90eXBlT2YiLCJ5IiwieCIsInYiLCJnIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsIlR5cGVFcnJvciIsIm5leHQiLCJ3IiwidHJ5RW50cmllcyIsInB1c2giLCJtIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInVuc2hpZnQiLCJwb3AiLCJ2YWx1ZXMiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImNvbW1vbk9wdGlvbnMiLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwibWFpbiIsIl9tYWluIiwiX2NhbGxlZSIsImRhdGFEaXIiLCJ0cmFuc2Zvcm1lZFRleHRlc0RpciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZmlsZVBhdGgiLCJwYXJzZWRGaWxlUGF0aCIsInRleHRlRGlyRnJvbU9yaWdpbmFsIiwidHJhbnNmb3JtZWRUZXh0ZURpciIsInBhcnNlZFRleHRlIiwiZXhwb3NlRGVzTW90aWZzRmlsZU5hbWUiLCJleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJhc3NlcnQiLCJwYXRoIiwiam9pbiIsIlRFWFRFX0ZPTERFUiIsIlRFWFRFX1RSQU5TRk9STUVEX0ZPTERFUiIsImVuc3VyZUFuZENsZWFyRGlyIiwiaXRlckZpbGVQYXRocyIsIlRFWFRFX09SSUdJTkFMX0ZPTERFUiIsInBhcnNlIiwiZXh0IiwiZGlyIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImZzIiwiZW5zdXJlRGlyU3luYyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJjb25jYXQiLCJwYXJzZVRleHRlRnJvbUZpbGUiLCJleGlzdHNTeW5jIiwicGFyc2VFeHBvc2VEZXNNb3RpZnNGcm9tRmlsZSIsImV4cG9zZURlc01vdGlmcyIsIndyaXRlSlNPTlN5bmMiLCJzcGFjZXMiLCJ0MCIsInByb2Nlc3MiLCJleGl0IiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wYXJzZV90ZXh0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBpdGVyRmlsZVBhdGhzLCBURVhURV9GT0xERVIsIFRFWFRFX09SSUdJTkFMX0ZPTERFUiwgVEVYVEVfVFJBTlNGT1JNRURfRk9MREVSIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHsgcGFyc2VFeHBvc2VEZXNNb3RpZnNGcm9tRmlsZSwgcGFyc2VUZXh0ZUZyb21GaWxlIH0gZnJvbSBcIi4uL21vZGVsL3RleHRlXCJcbmltcG9ydCB7IGNvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9zaGFyZWQvY2xpX2hlbHBlcnNcIlxuaW1wb3J0IHsgZW5zdXJlQW5kQ2xlYXJEaXIgfSBmcm9tIFwiLi9zaGFyZWQvdXRpbFwiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgLi4uY29tbW9uT3B0aW9ucyxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGFzc2VydChkYXRhRGlyLCBcIk1pc3NpbmcgYXJndW1lbnQ6IGRhdGEgZGlyZWN0b3J5XCIpXG5cbiAgY29uc3QgdHJhbnNmb3JtZWRUZXh0ZXNEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBURVhURV9GT0xERVIsIFRFWFRFX1RSQU5TRk9STUVEX0ZPTERFUilcbiAgZW5zdXJlQW5kQ2xlYXJEaXIodHJhbnNmb3JtZWRUZXh0ZXNEaXIpXG5cbiAgZm9yIChjb25zdCBmaWxlUGF0aCBvZiBpdGVyRmlsZVBhdGhzKHBhdGguam9pbihkYXRhRGlyLCBURVhURV9GT0xERVIsIFRFWFRFX09SSUdJTkFMX0ZPTERFUikpKSB7XG4gICAgY29uc3QgcGFyc2VkRmlsZVBhdGggPSBwYXRoLnBhcnNlKGZpbGVQYXRoKVxuXG4gICAgaWYgKHBhcnNlZEZpbGVQYXRoLmV4dCAhPT0gXCIueG1sXCIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgdGV4dGVEaXJGcm9tT3JpZ2luYWwgPSBwYXJzZWRGaWxlUGF0aC5kaXIuc3Vic3RyaW5nKFxuICAgICAgZmlsZVBhdGguaW5kZXhPZihURVhURV9PUklHSU5BTF9GT0xERVIpICsgVEVYVEVfT1JJR0lOQUxfRk9MREVSLmxlbmd0aFxuICAgIClcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFRleHRlRGlyID0gcGF0aC5qb2luKHRyYW5zZm9ybWVkVGV4dGVzRGlyLCB0ZXh0ZURpckZyb21PcmlnaW5hbClcbiAgICBmcy5lbnN1cmVEaXJTeW5jKHRyYW5zZm9ybWVkVGV4dGVEaXIpXG5cbiAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICBjb25zb2xlLmxvZyhgUGFyc2luZyB0ZXh0ZSAke3BhcnNlZEZpbGVQYXRoLm5hbWV9LnhtbOKApmApXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVGV4dGUgPSBhd2FpdCBwYXJzZVRleHRlRnJvbUZpbGUoZmlsZVBhdGgpXG5cbiAgICBjb25zdCBleHBvc2VEZXNNb3RpZnNGaWxlTmFtZSA9IGAke3BhcnNlZEZpbGVQYXRoLm5hbWV9LWV4cG9zZWBcbiAgICBjb25zdCBleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCA9IHBhdGguam9pbihwYXJzZWRGaWxlUGF0aC5kaXIsIGAke2V4cG9zZURlc01vdGlmc0ZpbGVOYW1lfS5odG1sYClcbiAgICBpZiAocGFyc2VkVGV4dGUgJiYgZnMuZXhpc3RzU3luYyhleHBvc2VEZXNNb3RpZnNGaWxlUGF0aCkpIHtcbiAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFBhcnNpbmcgZXhwb3PDqSBkZXMgbW90aWZzICR7ZXhwb3NlRGVzTW90aWZzRmlsZU5hbWV9Lmh0bWzigKZgKVxuICAgICAgfVxuXG4gICAgICBwYXJzZWRUZXh0ZS5leHBvc2VEZXNNb3RpZnMgPSBhd2FpdCBwYXJzZUV4cG9zZURlc01vdGlmc0Zyb21GaWxlKGV4cG9zZURlc01vdGlmc0ZpbGVQYXRoKVxuICAgIH1cblxuICAgIGZzLndyaXRlSlNPTlN5bmMoXG4gICAgICBwYXRoLmpvaW4odHJhbnNmb3JtZWRUZXh0ZURpciwgYCR7cGFyc2VkRmlsZVBhdGgubmFtZX0uanNvbmApLFxuICAgICAgcGFyc2VkVGV4dGUsXG4gICAgICB7IHNwYWNlczogMiB9XG4gICAgKVxuICB9XG59XG5cbm1haW4oKVxuICAudGhlbigoKSA9PiBwcm9jZXNzLmV4aXQoMCkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxnQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFB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
|