@tricoteuses/assemblee 1.10.4 → 2.0.0
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/README.md +8 -1
- package/lib/amendements-79bwpkvR.js +154 -0
- package/lib/amendements-CV3s5a0M.js +667 -0
- package/lib/cleaners/index.d.ts +9 -9
- package/lib/cleaners.js +564 -0
- package/lib/datasets.d.ts +3 -3
- package/lib/dossiers_legislatifs.d.ts +2 -2
- package/lib/index.d.ts +17 -22
- package/lib/index.js +1542 -314
- package/lib/inserters.d.ts +5 -5
- package/lib/loaders-9mHdTl9L.js +4158 -0
- package/lib/loaders.d.ts +12 -12
- package/lib/loaders.js +29 -1689
- package/lib/organes.d.ts +1 -1
- package/lib/parse-Ccs6wcUg.js +2512 -0
- package/lib/parsers/index.d.ts +2 -3
- package/lib/parsers/plf.d.ts +1 -0
- package/lib/parsers/recherche_amendements.d.ts +2 -2
- package/lib/parsers/textes_lois.d.ts +1 -23
- package/lib/parsers.js +398 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +4 -2
- package/lib/raw_types/debats.d.ts +2 -2
- package/lib/raw_types/dossiers_legislatifs.d.ts +1 -1
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +1 -1
- package/lib/types/acteurs_et_organes.d.ts +344 -2
- package/lib/types/agendas.d.ts +236 -10
- package/lib/types/amendements.d.ts +276 -1
- package/lib/types/debats.d.ts +52 -2
- package/lib/types/dossiers_legislatifs.d.ts +403 -9
- package/lib/types/questions.d.ts +99 -2
- package/lib/types/scrutins.d.ts +101 -0
- package/lib/urls.d.ts +2 -2
- package/package.json +33 -95
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -95
- package/lib/cleaners/xml.mjs +0 -58
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1213
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1146
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -610
- package/lib/scripts/clean_reorganized_data.mjs +0 -273
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -963
- package/lib/types/acteurs_et_organes.mjs +0 -904
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
- /package/lib/{bugs/acteur-00010/plugin.test.d.ts → scripts/add_links_to_documents.d.ts} +0 -0
- /package/lib/{bugs/agenda-00002/plugin.test.d.ts → scripts/copy-schemas.d.ts} +0 -0
- /package/lib/{bugs/agenda-00008/plugin.test.d.ts → scripts/generate-json-schemas.d.ts} +0 -0
package/lib/cleaners/xml.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.symbol.description.js");
|
|
5
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
6
|
-
require("core-js/modules/es.array.from.js");
|
|
7
|
-
require("core-js/modules/es.array.iterator.js");
|
|
8
|
-
require("core-js/modules/es.array.slice.js");
|
|
9
|
-
require("core-js/modules/es.date.to-string.js");
|
|
10
|
-
require("core-js/modules/es.function.name.js");
|
|
11
|
-
require("core-js/modules/es.object.define-property.js");
|
|
12
|
-
require("core-js/modules/es.object.to-string.js");
|
|
13
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
14
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
15
|
-
require("core-js/modules/es.string.iterator.js");
|
|
16
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
17
|
-
Object.defineProperty(exports, "__esModule", {
|
|
18
|
-
value: true
|
|
19
|
-
});
|
|
20
|
-
exports.cleanBooleanAttribute = cleanBooleanAttribute;
|
|
21
|
-
exports.cleanIntegerAttribute = cleanIntegerAttribute;
|
|
22
|
-
exports.cleanXmlArtefacts = cleanXmlArtefacts;
|
|
23
|
-
require("core-js/modules/es.array.concat.js");
|
|
24
|
-
require("core-js/modules/es.array.is-array.js");
|
|
25
|
-
require("core-js/modules/es.object.entries.js");
|
|
26
|
-
require("core-js/modules/es.object.keys.js");
|
|
27
|
-
require("core-js/modules/es.parse-int.js");
|
|
28
|
-
var _assert = _interopRequireDefault(require("assert"));
|
|
29
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
30
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
31
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
32
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
33
|
-
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; }
|
|
34
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
35
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
36
|
-
var booleanByString = {
|
|
37
|
-
"false": false,
|
|
38
|
-
"true": true
|
|
39
|
-
};
|
|
40
|
-
function cleanBooleanAttribute(o, key) {
|
|
41
|
-
var stringValue = o[key];
|
|
42
|
-
if (stringValue === undefined || stringValue === null) {
|
|
43
|
-
delete o[key];
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
var booleanValue = booleanByString[stringValue];
|
|
47
|
-
_assert["default"].notStrictEqual(booleanValue, undefined, "Invalid boolean value: ".concat(key, " = ").concat(stringValue));
|
|
48
|
-
o[key] = booleanValue;
|
|
49
|
-
return booleanValue;
|
|
50
|
-
}
|
|
51
|
-
function cleanIntegerAttribute(o, key) {
|
|
52
|
-
var stringValue = o[key];
|
|
53
|
-
if (stringValue === undefined || stringValue === null) {
|
|
54
|
-
delete o[key];
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
var integerValue = parseInt(stringValue);
|
|
58
|
-
(0, _assert["default"])(!isNaN(integerValue), "Invalid number value: ".concat(key, " = ").concat(stringValue));
|
|
59
|
-
o[key] = integerValue;
|
|
60
|
-
return integerValue;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/// Remove XML fields that have no use in JSON.
|
|
64
|
-
function cleanXmlArtefacts(o) {
|
|
65
|
-
// Remove namespaces.
|
|
66
|
-
function cleanXmlns(field) {
|
|
67
|
-
if (field !== undefined) {
|
|
68
|
-
_assert["default"].strictEqual(field, "http://schemas.assemblee-nationale.fr/referentiel");
|
|
69
|
-
if (field === o["@xmlns"]) {
|
|
70
|
-
delete o["@xmlns"];
|
|
71
|
-
} else {
|
|
72
|
-
delete o["xmlns"];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
cleanXmlns(o["@xmlns"]);
|
|
77
|
-
cleanXmlns(o["xmlns"]);
|
|
78
|
-
var xmlnsXsi = o["@xmlns:xsi"];
|
|
79
|
-
if (xmlnsXsi !== undefined) {
|
|
80
|
-
_assert["default"].strictEqual(xmlnsXsi, "http://www.w3.org/2001/XMLSchema-instance");
|
|
81
|
-
delete o["@xmlns:xsi"];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Remove null or empty items.
|
|
85
|
-
|
|
86
|
-
for (var _i = 0, _Object$entries = Object.entries(o); _i < _Object$entries.length; _i++) {
|
|
87
|
-
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
88
|
-
key = _Object$entries$_i[0],
|
|
89
|
-
value = _Object$entries$_i[1];
|
|
90
|
-
if (value === null || value !== undefined && (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0)) {
|
|
91
|
-
delete o[key];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsIl9zbGljZWRUb0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJhIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuZ3RoIiwibiIsImwiLCJTeW1ib2wiLCJpdGVyYXRvciIsImkiLCJ1IiwiZiIsIm8iLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImlzQXJyYXkiLCJib29sZWFuQnlTdHJpbmciLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJrZXkiLCJzdHJpbmdWYWx1ZSIsInVuZGVmaW5lZCIsImJvb2xlYW5WYWx1ZSIsImFzc2VydCIsIm5vdFN0cmljdEVxdWFsIiwiY29uY2F0IiwiY2xlYW5JbnRlZ2VyQXR0cmlidXRlIiwiaW50ZWdlclZhbHVlIiwicGFyc2VJbnQiLCJpc05hTiIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwiY2xlYW5YbWxucyIsImZpZWxkIiwic3RyaWN0RXF1YWwiLCJ4bWxuc1hzaSIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsImtleXMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMveG1sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmNvbnN0IGJvb2xlYW5CeVN0cmluZzogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7XG4gIGZhbHNlOiBmYWxzZSxcbiAgdHJ1ZTogdHJ1ZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShcbiAgbzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAga2V5OiBzdHJpbmcsXG4pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkludGVnZXJBdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGludGVnZXJWYWx1ZSA9IHBhcnNlSW50KHN0cmluZ1ZhbHVlKVxuICBhc3NlcnQoIWlzTmFOKGludGVnZXJWYWx1ZSksIGBJbnZhbGlkIG51bWJlciB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gKVxuICBvW2tleV0gPSBpbnRlZ2VyVmFsdWVcbiAgcmV0dXJuIGludGVnZXJWYWx1ZVxufVxuXG4vLy8gUmVtb3ZlIFhNTCBmaWVsZHMgdGhhdCBoYXZlIG5vIHVzZSBpbiBKU09OLlxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuWG1sQXJ0ZWZhY3RzKG86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgLy8gUmVtb3ZlIG5hbWVzcGFjZXMuXG4gIGZ1bmN0aW9uIGNsZWFuWG1sbnMoZmllbGQ6IGFueSkge1xuICAgIGlmIChmaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBcImh0dHA6Ly9zY2hlbWFzLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvcmVmZXJlbnRpZWxcIixcbiAgICAgIClcbiAgICAgIGlmIChmaWVsZCA9PT0gb1tcIkB4bWxuc1wiXSkge1xuICAgICAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIG9bXCJ4bWxuc1wiXVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFuWG1sbnMob1tcIkB4bWxuc1wiXSlcbiAgY2xlYW5YbWxucyhvW1wieG1sbnNcIl0pXG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsZUFBQUMsQ0FBQSxFQUFBSCxDQUFBLFdBQUFJLGVBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxxQkFBQSxDQUFBRixDQUFBLEVBQUFILENBQUEsS0FBQU0sMkJBQUEsQ0FBQUgsQ0FBQSxFQUFBSCxDQUFBLEtBQUFPLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUFNLENBQUEsUUFBQU4sQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBTyxpQkFBQSxDQUFBUCxDQUFBLEVBQUFNLENBQUEsT0FBQUUsQ0FBQSxNQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxLQUFBLDZCQUFBSCxDQUFBLElBQUFSLENBQUEsQ0FBQVksV0FBQSxLQUFBSixDQUFBLEdBQUFSLENBQUEsQ0FBQVksV0FBQSxDQUFBQyxJQUFBLGFBQUFMLENBQUEsY0FBQUEsQ0FBQSxHQUFBTSxLQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQSxvQkFBQVEsQ0FBQSwrQ0FBQVEsSUFBQSxDQUFBUixDQUFBLElBQUFELGlCQUFBLENBQUFQLENBQUEsRUFBQU0sQ0FBQTtBQUFBLFNBQUFDLGtCQUFBUCxDQUFBLEVBQUFNLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFOLENBQUEsQ0FBQWlCLE1BQUEsTUFBQVgsQ0FBQSxHQUFBTixDQUFBLENBQUFpQixNQUFBLFlBQUFwQixDQUFBLE1BQUFxQixDQUFBLEdBQUFKLEtBQUEsQ0FBQVIsQ0FBQSxHQUFBVCxDQUFBLEdBQUFTLENBQUEsRUFBQVQsQ0FBQSxJQUFBcUIsQ0FBQSxDQUFBckIsQ0FBQSxJQUFBRyxDQUFBLENBQUFILENBQUEsVUFBQXFCLENBQUE7QUFBQSxTQUFBaEIsc0JBQUFGLENBQUEsRUFBQW1CLENBQUEsUUFBQVgsQ0FBQSxXQUFBUixDQUFBLGdDQUFBb0IsTUFBQSxJQUFBcEIsQ0FBQSxDQUFBb0IsTUFBQSxDQUFBQyxRQUFBLEtBQUFyQixDQUFBLDRCQUFBUSxDQUFBLFFBQUFYLENBQUEsRUFBQXFCLENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLEVBQUFqQixDQUFBLE9BQUFrQixDQUFBLE9BQUFDLENBQUEsaUJBQUFILENBQUEsSUFBQWQsQ0FBQSxHQUFBQSxDQUFBLENBQUFFLElBQUEsQ0FBQVYsQ0FBQSxHQUFBMEIsSUFBQSxRQUFBUCxDQUFBLFFBQUFRLE1BQUEsQ0FBQW5CLENBQUEsTUFBQUEsQ0FBQSxVQUFBZ0IsQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBM0IsQ0FBQSxHQUFBeUIsQ0FBQSxDQUFBWixJQUFBLENBQUFGLENBQUEsR0FBQW9CLElBQUEsTUFBQXRCLENBQUEsQ0FBQXVCLElBQUEsQ0FBQWhDLENBQUEsQ0FBQWlDLEtBQUEsR0FBQXhCLENBQUEsQ0FBQVcsTUFBQSxLQUFBRSxDQUFBLEdBQUFLLENBQUEsaUJBQUF4QixDQUFBLElBQUF5QixDQUFBLE9BQUFQLENBQUEsR0FBQWxCLENBQUEseUJBQUF3QixDQUFBLFlBQUFoQixDQUFBLGVBQUFlLENBQUEsR0FBQWYsQ0FBQSxjQUFBbUIsTUFBQSxDQUFBSixDQUFBLE1BQUFBLENBQUEsMkJBQUFFLENBQUEsUUFBQVAsQ0FBQSxhQUFBWixDQUFBO0FBQUEsU0FBQUwsZ0JBQUFELENBQUEsUUFBQWMsS0FBQSxDQUFBaUIsT0FBQSxDQUFBL0IsQ0FBQSxVQUFBQSxDQUFBO0FBRTNCLElBQU1nQyxlQUEyQyxHQUFHO0VBQ2xELFNBQU8sS0FBSztFQUNaLFFBQU07QUFDUixDQUFDO0FBRU0sU0FBU0MscUJBQXFCQSxDQUNuQ1IsQ0FBeUIsRUFDekJTLEdBQVcsRUFDVTtFQUNyQixJQUFNQyxXQUFXLEdBQUdWLENBQUMsQ0FBQ1MsR0FBRyxDQUFDO0VBQzFCLElBQUlDLFdBQVcsS0FBS0MsU0FBUyxJQUFJRCxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3JELE9BQU9WLENBQUMsQ0FBQ1MsR0FBRyxDQUFDO0lBQ2IsT0FBT0UsU0FBUztFQUNsQjtFQUNBLElBQU1DLFlBQVksR0FBR0wsZUFBZSxDQUFDRyxXQUFXLENBQUM7RUFDakRHLGtCQUFNLENBQUNDLGNBQWMsQ0FDbkJGLFlBQVksRUFDWkQsU0FBUyw0QkFBQUksTUFBQSxDQUNpQk4sR0FBRyxTQUFBTSxNQUFBLENBQU1MLFdBQVcsQ0FDaEQsQ0FBQztFQUNEVixDQUFDLENBQUNTLEdBQUcsQ0FBQyxHQUFHRyxZQUFZO0VBQ3JCLE9BQU9BLFlBQVk7QUFDckI7QUFFTyxTQUFTSSxxQkFBcUJBLENBQ25DaEIsQ0FBeUIsRUFDekJTLEdBQVcsRUFDUztFQUNwQixJQUFNQyxXQUFXLEdBQUdWLENBQUMsQ0FBQ1MsR0FBRyxDQUFDO0VBQzFCLElBQUlDLFdBQVcsS0FBS0MsU0FBUyxJQUFJRCxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3JELE9BQU9WLENBQUMsQ0FBQ1MsR0FBRyxDQUFDO0lBQ2IsT0FBT0UsU0FBUztFQUNsQjtFQUNBLElBQU1NLFlBQVksR0FBR0MsUUFBUSxDQUFDUixXQUFXLENBQUM7RUFDMUMsSUFBQUcsa0JBQU0sRUFBQyxDQUFDTSxLQUFLLENBQUNGLFlBQVksQ0FBQywyQkFBQUYsTUFBQSxDQUEyQk4sR0FBRyxTQUFBTSxNQUFBLENBQU1MLFdBQVcsQ0FBRSxDQUFDO0VBQzdFVixDQUFDLENBQUNTLEdBQUcsQ0FBQyxHQUFHUSxZQUFZO0VBQ3JCLE9BQU9BLFlBQVk7QUFDckI7O0FBRUE7QUFDTyxTQUFTRyxpQkFBaUJBLENBQUNwQixDQUF5QixFQUFRO0VBQ2pFO0VBQ0EsU0FBU3FCLFVBQVVBLENBQUNDLEtBQVUsRUFBRTtJQUM5QixJQUFJQSxLQUFLLEtBQUtYLFNBQVMsRUFBRTtNQUN2QkUsa0JBQU0sQ0FBQ1UsV0FBVyxDQUNoQkQsS0FBSyxFQUNMLG1EQUNGLENBQUM7TUFDRCxJQUFJQSxLQUFLLEtBQUt0QixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBT0EsQ0FBQyxDQUFDLFFBQVEsQ0FBQztNQUNwQixDQUFDLE1BQU07UUFDTCxPQUFPQSxDQUFDLENBQUMsT0FBTyxDQUFDO01BQ25CO0lBQ0Y7RUFDRjtFQUVBcUIsVUFBVSxDQUFDckIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3ZCcUIsVUFBVSxDQUFDckIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0VBRXRCLElBQU13QixRQUFRLEdBQUd4QixDQUFDLENBQUMsWUFBWSxDQUFDO0VBQ2hDLElBQUl3QixRQUFRLEtBQUtiLFNBQVMsRUFBRTtJQUMxQkUsa0JBQU0sQ0FBQ1UsV0FBVyxDQUFDQyxRQUFRLEVBQUUsMkNBQTJDLENBQUM7SUFDekUsT0FBT3hCLENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDeEI7O0VBRUE7O0VBRUEsU0FBQXlCLEVBQUEsTUFBQUMsZUFBQSxHQUEyQnhCLE1BQU0sQ0FBQ3lCLE9BQU8sQ0FBQzNCLENBQUMsQ0FBQyxFQUFBeUIsRUFBQSxHQUFBQyxlQUFBLENBQUFsQyxNQUFBLEVBQUFpQyxFQUFBLElBQUU7SUFBekMsSUFBQUcsa0JBQUEsR0FBQXRELGNBQUEsQ0FBQW9ELGVBQUEsQ0FBQUQsRUFBQTtNQUFPaEIsR0FBRyxHQUFBbUIsa0JBQUE7TUFBRXZCLEtBQUssR0FBQXVCLGtCQUFBO0lBQ3BCLElBQ0V2QixLQUFLLEtBQUssSUFBSSxJQUNiQSxLQUFLLEtBQUtNLFNBQVMsS0FDakJOLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQzFCaEIsS0FBSyxDQUFDaUIsT0FBTyxDQUFDRCxLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDYixNQUFNLEtBQUssQ0FBRSxJQUMzQ2EsS0FBSyxDQUFDbEIsV0FBVyxLQUFLZSxNQUFNLElBQUlBLE1BQU0sQ0FBQzJCLElBQUksQ0FBQ3hCLEtBQUssQ0FBQyxDQUFDYixNQUFNLEtBQUssQ0FBRSxDQUFFLEVBQ3ZFO01BQ0EsT0FBT1EsQ0FBQyxDQUFDUyxHQUFHLENBQUM7SUFDZjtFQUNGO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/cleaners/xml.mjs
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
const booleanByString = {
|
|
3
|
-
false: false,
|
|
4
|
-
true: true
|
|
5
|
-
};
|
|
6
|
-
export function cleanBooleanAttribute(o, key) {
|
|
7
|
-
const stringValue = o[key];
|
|
8
|
-
if (stringValue === undefined || stringValue === null) {
|
|
9
|
-
delete o[key];
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
const booleanValue = booleanByString[stringValue];
|
|
13
|
-
assert.notStrictEqual(booleanValue, undefined, `Invalid boolean value: ${key} = ${stringValue}`);
|
|
14
|
-
o[key] = booleanValue;
|
|
15
|
-
return booleanValue;
|
|
16
|
-
}
|
|
17
|
-
export function cleanIntegerAttribute(o, key) {
|
|
18
|
-
const stringValue = o[key];
|
|
19
|
-
if (stringValue === undefined || stringValue === null) {
|
|
20
|
-
delete o[key];
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
const integerValue = parseInt(stringValue);
|
|
24
|
-
assert(!isNaN(integerValue), `Invalid number value: ${key} = ${stringValue}`);
|
|
25
|
-
o[key] = integerValue;
|
|
26
|
-
return integerValue;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/// Remove XML fields that have no use in JSON.
|
|
30
|
-
export function cleanXmlArtefacts(o) {
|
|
31
|
-
// Remove namespaces.
|
|
32
|
-
function cleanXmlns(field) {
|
|
33
|
-
if (field !== undefined) {
|
|
34
|
-
assert.strictEqual(field, "http://schemas.assemblee-nationale.fr/referentiel");
|
|
35
|
-
if (field === o["@xmlns"]) {
|
|
36
|
-
delete o["@xmlns"];
|
|
37
|
-
} else {
|
|
38
|
-
delete o["xmlns"];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
cleanXmlns(o["@xmlns"]);
|
|
43
|
-
cleanXmlns(o["xmlns"]);
|
|
44
|
-
const xmlnsXsi = o["@xmlns:xsi"];
|
|
45
|
-
if (xmlnsXsi !== undefined) {
|
|
46
|
-
assert.strictEqual(xmlnsXsi, "http://www.w3.org/2001/XMLSchema-instance");
|
|
47
|
-
delete o["@xmlns:xsi"];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Remove null or empty items.
|
|
51
|
-
|
|
52
|
-
for (const [key, value] of Object.entries(o)) {
|
|
53
|
-
if (value === null || value !== undefined && (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0)) {
|
|
54
|
-
delete o[key];
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJib29sZWFuQnlTdHJpbmciLCJmYWxzZSIsInRydWUiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuSW50ZWdlckF0dHJpYnV0ZSIsImludGVnZXJWYWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuWG1sbnMiLCJmaWVsZCIsInN0cmljdEVxdWFsIiwieG1sbnNYc2kiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJjb25zdHJ1Y3RvciIsImtleXMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMveG1sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmNvbnN0IGJvb2xlYW5CeVN0cmluZzogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7XG4gIGZhbHNlOiBmYWxzZSxcbiAgdHJ1ZTogdHJ1ZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShcbiAgbzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAga2V5OiBzdHJpbmcsXG4pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkludGVnZXJBdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGludGVnZXJWYWx1ZSA9IHBhcnNlSW50KHN0cmluZ1ZhbHVlKVxuICBhc3NlcnQoIWlzTmFOKGludGVnZXJWYWx1ZSksIGBJbnZhbGlkIG51bWJlciB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gKVxuICBvW2tleV0gPSBpbnRlZ2VyVmFsdWVcbiAgcmV0dXJuIGludGVnZXJWYWx1ZVxufVxuXG4vLy8gUmVtb3ZlIFhNTCBmaWVsZHMgdGhhdCBoYXZlIG5vIHVzZSBpbiBKU09OLlxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuWG1sQXJ0ZWZhY3RzKG86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgLy8gUmVtb3ZlIG5hbWVzcGFjZXMuXG4gIGZ1bmN0aW9uIGNsZWFuWG1sbnMoZmllbGQ6IGFueSkge1xuICAgIGlmIChmaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBcImh0dHA6Ly9zY2hlbWFzLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvcmVmZXJlbnRpZWxcIixcbiAgICAgIClcbiAgICAgIGlmIChmaWVsZCA9PT0gb1tcIkB4bWxuc1wiXSkge1xuICAgICAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIG9bXCJ4bWxuc1wiXVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFuWG1sbnMob1tcIkB4bWxuc1wiXSlcbiAgY2xlYW5YbWxucyhvW1wieG1sbnNcIl0pXG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxRQUFRO0FBRTNCLE1BQU1DLGVBQTJDLEdBQUc7RUFDbERDLEtBQUssRUFBRSxLQUFLO0VBQ1pDLElBQUksRUFBRTtBQUNSLENBQUM7QUFFRCxPQUFPLFNBQVNDLHFCQUFxQkEsQ0FDbkNDLENBQXlCLEVBQ3pCQyxHQUFXLEVB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
|