@tricoteuses/assemblee 1.1.9 → 1.1.11
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/LICENSE.md +5 -1
- package/README.md +69 -178
- package/lib/bugs/acteur-00010/plugin.test.js +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +1 -1
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00002.js +3 -3
- package/lib/bugs/agenda-00002.mjs +2 -2
- package/lib/bugs/agenda-00008/plugin.test.js +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +1 -1
- package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00011.js +1 -1
- package/lib/bugs/agenda-00011.mjs +1 -1
- package/lib/bugs.js +1 -1
- package/lib/bugs.mjs +1 -1
- package/lib/cleaners/acteurs.js +1 -1
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +1 -1
- package/lib/cleaners/amendements.mjs +1 -1
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.js +12 -0
- package/lib/cleaners/debats.mjs +5 -0
- package/lib/cleaners/index.d.ts +2 -0
- package/lib/cleaners/index.js +15 -1
- package/lib/cleaners/index.mjs +3 -1
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.js +12 -0
- package/lib/cleaners/questions.mjs +5 -0
- package/lib/cleaners/reunions.js +1 -1
- package/lib/cleaners/reunions.mjs +1 -1
- package/lib/cleaners/xml.js +12 -6
- package/lib/cleaners/xml.mjs +12 -6
- package/lib/datasets.d.ts +5 -1
- package/lib/datasets.js +62 -4
- package/lib/datasets.mjs +62 -4
- package/lib/dates.js +1 -1
- package/lib/dates.mjs +1 -1
- package/lib/dossiers_legislatifs.js +1 -1
- package/lib/dossiers_legislatifs.mjs +1 -1
- package/lib/file_systems.js +4 -4
- package/lib/file_systems.mjs +2 -2
- package/lib/git.js +1 -1
- package/lib/git.mjs +1 -1
- package/lib/loaders.d.ts +21 -0
- package/lib/loaders.js +608 -202
- package/lib/loaders.mjs +200 -3
- package/lib/organes.js +1 -1
- package/lib/organes.mjs +1 -1
- package/lib/parsers/documents.js +1 -1
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +3 -2
- package/lib/parsers/recherche_amendements.mjs +1 -1
- package/lib/raw_types/acteurs_et_organes.js +1 -1
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.js +1 -1
- package/lib/raw_types/agendas.mjs +1 -1
- package/lib/raw_types/amendements.d.ts +2 -0
- package/lib/raw_types/amendements.js +5 -3
- package/lib/raw_types/amendements.mjs +5 -3
- package/lib/raw_types/debats.d.ts +190 -0
- package/lib/raw_types/debats.js +816 -0
- package/lib/raw_types/debats.mjs +758 -0
- package/lib/raw_types/dossiers_legislatifs.js +11 -2
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/questions.d.ts +129 -0
- package/lib/raw_types/questions.js +497 -0
- package/lib/raw_types/questions.mjs +439 -0
- package/lib/raw_types/scrutins.js +1 -1
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +1 -1
- package/lib/scripts/bugs_helper.mjs +1 -1
- package/lib/scripts/clean_reorganized_data.js +174 -24
- package/lib/scripts/clean_reorganized_data.mjs +127 -13
- package/lib/scripts/diff_amendements.js +1 -1
- package/lib/scripts/diff_amendements.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +1 -1
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/get_today_reunions.js +1 -1
- package/lib/scripts/get_today_reunions.mjs +1 -1
- package/lib/scripts/merge_scrutins.js +1 -1
- package/lib/scripts/merge_scrutins.mjs +1 -1
- package/lib/scripts/parse_textes_lois.js +4 -3
- package/lib/scripts/parse_textes_lois.mjs +1 -1
- package/lib/scripts/raw_types_from_amendements.js +1 -1
- package/lib/scripts/raw_types_from_amendements.mjs +1 -1
- package/lib/scripts/reorganize_data.js +189 -7
- package/lib/scripts/reorganize_data.mjs +136 -8
- package/lib/scripts/retrieve_deputes_photos.js +7 -1
- package/lib/scripts/retrieve_deputes_photos.mjs +7 -1
- package/lib/scripts/retrieve_documents.js +1 -1
- package/lib/scripts/retrieve_documents.mjs +1 -1
- package/lib/scripts/retrieve_open_data.js +105 -37
- package/lib/scripts/retrieve_open_data.mjs +34 -2
- package/lib/scripts/retrieve_pending_amendments.js +7 -1
- package/lib/scripts/retrieve_pending_amendments.mjs +7 -1
- package/lib/scripts/retrieve_senateurs_photos.js +10 -2
- package/lib/scripts/retrieve_senateurs_photos.mjs +7 -1
- package/lib/scripts/retrieve_textes_lois.js +1 -1
- package/lib/scripts/retrieve_textes_lois.mjs +1 -1
- package/lib/scripts/test_load.js +1 -1
- package/lib/scripts/test_load.mjs +1 -1
- package/lib/scripts/test_load_big_files.js +1 -1
- package/lib/scripts/test_load_big_files.mjs +1 -1
- package/lib/scripts/validate_json.js +1 -1
- package/lib/scripts/validate_json.mjs +1 -1
- package/lib/strings.js +1 -1
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +1 -1
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.js +1 -1
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.d.ts +2 -0
- package/lib/types/amendements.js +5 -3
- package/lib/types/amendements.mjs +5 -3
- package/lib/types/debats.d.ts +184 -0
- package/lib/types/debats.js +805 -0
- package/lib/types/debats.mjs +747 -0
- package/lib/types/dossiers_legislatifs.js +11 -2
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/questions.d.ts +122 -0
- package/lib/types/questions.js +482 -0
- package/lib/types/questions.mjs +424 -0
- package/lib/types/scrutins.js +1 -1
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +14 -6
- package/lib/scripts/clean_data.d.ts +0 -1
- package/lib/scripts/clean_data.js +0 -309
- package/lib/scripts/clean_data.mjs +0 -171
|
@@ -0,0 +1,497 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
5
|
+
require("core-js/modules/es.array.iterator.js");
|
|
6
|
+
require("core-js/modules/es.string.iterator.js");
|
|
7
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
exports.TypeJo = exports.Type = exports.QuestionXsiType = exports.LibelleCloture = exports.Convert = exports.CodeCloture = void 0;
|
|
12
|
+
require("core-js/modules/es.array.concat.js");
|
|
13
|
+
require("core-js/modules/es.array.for-each.js");
|
|
14
|
+
require("core-js/modules/es.object.to-string.js");
|
|
15
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
16
|
+
require("core-js/modules/es.array.index-of.js");
|
|
17
|
+
require("core-js/modules/es.array.is-array.js");
|
|
18
|
+
require("core-js/modules/es.array.map.js");
|
|
19
|
+
require("core-js/modules/es.date.to-string.js");
|
|
20
|
+
require("core-js/modules/es.object.get-own-property-names.js");
|
|
21
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
22
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
23
|
+
require("core-js/modules/es.symbol.js");
|
|
24
|
+
require("core-js/modules/es.symbol.description.js");
|
|
25
|
+
require("core-js/modules/es.number.constructor.js");
|
|
26
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
27
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
28
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
29
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
30
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
31
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
32
|
+
// To parse this data:
|
|
33
|
+
//
|
|
34
|
+
// import { Convert, Questions, QuestionWrapper } from "./file";
|
|
35
|
+
//
|
|
36
|
+
// const questions = Convert.toQuestionsjson);
|
|
37
|
+
// const questionWrapper = Convert.toQuestionWrapper(json);
|
|
38
|
+
//
|
|
39
|
+
// These functions will throw an error if the JSON doesn't
|
|
40
|
+
// match the expected interface, even if the JSON is valid.
|
|
41
|
+
var QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
|
|
42
|
+
QuestionXsiType["QuestionEcrite"] = "QuestionEcrite_Type";
|
|
43
|
+
QuestionXsiType["QuestionGouvernement"] = "QuestionGouvernement_Type";
|
|
44
|
+
QuestionXsiType["QuestionOrale"] = "QuestionOrale_Type";
|
|
45
|
+
return QuestionXsiType;
|
|
46
|
+
}({});
|
|
47
|
+
exports.QuestionXsiType = QuestionXsiType;
|
|
48
|
+
var CodeCloture = /*#__PURE__*/function (CodeCloture) {
|
|
49
|
+
CodeCloture["Au"] = "AU";
|
|
50
|
+
CodeCloture["Fm"] = "FM";
|
|
51
|
+
CodeCloture["RepPub"] = "REP_PUB";
|
|
52
|
+
return CodeCloture;
|
|
53
|
+
}({});
|
|
54
|
+
exports.CodeCloture = CodeCloture;
|
|
55
|
+
var TypeJo = /*#__PURE__*/function (TypeJo) {
|
|
56
|
+
TypeJo["JoQuestion"] = "JO_QUESTION";
|
|
57
|
+
TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
|
|
58
|
+
TypeJo["JoDebate"] = "JO_DEBAT";
|
|
59
|
+
return TypeJo;
|
|
60
|
+
}({});
|
|
61
|
+
exports.TypeJo = TypeJo;
|
|
62
|
+
var LibelleCloture = /*#__PURE__*/function (LibelleCloture) {
|
|
63
|
+
LibelleCloture["FinDeMandat"] = "Fin de mandat";
|
|
64
|
+
LibelleCloture["Retrait\xC0LInitiativeDeLAuteur"] = "Retrait \xE0 l'initiative de l'auteur";
|
|
65
|
+
LibelleCloture["R\xE9ponsePubli\xE9e"] = "R\xE9ponse publi\xE9e";
|
|
66
|
+
return LibelleCloture;
|
|
67
|
+
}({});
|
|
68
|
+
exports.LibelleCloture = LibelleCloture;
|
|
69
|
+
var Type = /*#__PURE__*/function (Type) {
|
|
70
|
+
Type["Qe"] = "QE";
|
|
71
|
+
Type["Qg"] = "QG";
|
|
72
|
+
Type["Qosd"] = "QOSD";
|
|
73
|
+
return Type;
|
|
74
|
+
}({}); // Converts JSON strings to/from your types
|
|
75
|
+
// and asserts the results of JSON.parse at runtime
|
|
76
|
+
exports.Type = Type;
|
|
77
|
+
var Convert = /*#__PURE__*/function () {
|
|
78
|
+
function Convert() {
|
|
79
|
+
_classCallCheck(this, Convert);
|
|
80
|
+
}
|
|
81
|
+
_createClass(Convert, null, [{
|
|
82
|
+
key: "toQuestions",
|
|
83
|
+
value: function toQuestions(json) {
|
|
84
|
+
return cast(JSON.parse(json), r("Questions"));
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "questionsToJson",
|
|
88
|
+
value: function questionsToJson(value) {
|
|
89
|
+
return JSON.stringify(uncast(value, r("Questions")), null, 2);
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "toQuestionWrapper",
|
|
93
|
+
value: function toQuestionWrapper(json) {
|
|
94
|
+
return cast(JSON.parse(json), r("QuestionWrapper"));
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
key: "questionWrapperToJson",
|
|
98
|
+
value: function questionWrapperToJson(value) {
|
|
99
|
+
return JSON.stringify(uncast(value, r("QuestionWrapper")), null, 2);
|
|
100
|
+
}
|
|
101
|
+
}]);
|
|
102
|
+
return Convert;
|
|
103
|
+
}();
|
|
104
|
+
exports.Convert = Convert;
|
|
105
|
+
function invalidValue(typ, val) {
|
|
106
|
+
var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
107
|
+
if (key) {
|
|
108
|
+
throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
|
|
109
|
+
}
|
|
110
|
+
throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
|
|
111
|
+
}
|
|
112
|
+
function jsonToJSProps(typ) {
|
|
113
|
+
if (typ.jsonToJS === undefined) {
|
|
114
|
+
var map = {};
|
|
115
|
+
typ.props.forEach(function (p) {
|
|
116
|
+
return map[p.json] = {
|
|
117
|
+
key: p.js,
|
|
118
|
+
typ: p.typ
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
typ.jsonToJS = map;
|
|
122
|
+
}
|
|
123
|
+
return typ.jsonToJS;
|
|
124
|
+
}
|
|
125
|
+
function jsToJSONProps(typ) {
|
|
126
|
+
if (typ.jsToJSON === undefined) {
|
|
127
|
+
var map = {};
|
|
128
|
+
typ.props.forEach(function (p) {
|
|
129
|
+
return map[p.js] = {
|
|
130
|
+
key: p.json,
|
|
131
|
+
typ: p.typ
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
typ.jsToJSON = map;
|
|
135
|
+
}
|
|
136
|
+
return typ.jsToJSON;
|
|
137
|
+
}
|
|
138
|
+
function transform(val, typ, getProps) {
|
|
139
|
+
var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
140
|
+
function transformPrimitive(typ, val) {
|
|
141
|
+
if (_typeof(typ) === _typeof(val)) return val;
|
|
142
|
+
return invalidValue(typ, val, key);
|
|
143
|
+
}
|
|
144
|
+
function transformUnion(typs, val) {
|
|
145
|
+
// val must validate against one typ in typs
|
|
146
|
+
var l = typs.length;
|
|
147
|
+
for (var i = 0; i < l; i++) {
|
|
148
|
+
var _typ = typs[i];
|
|
149
|
+
try {
|
|
150
|
+
return transform(val, _typ, getProps);
|
|
151
|
+
} catch (_) {}
|
|
152
|
+
}
|
|
153
|
+
return invalidValue(typs, val);
|
|
154
|
+
}
|
|
155
|
+
function transformEnum(cases, val) {
|
|
156
|
+
if (cases.indexOf(val) !== -1) return val;
|
|
157
|
+
return invalidValue(cases, val);
|
|
158
|
+
}
|
|
159
|
+
function transformArray(typ, val) {
|
|
160
|
+
// val must be an array with no invalid elements
|
|
161
|
+
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
162
|
+
return val.map(function (el) {
|
|
163
|
+
return transform(el, typ, getProps);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function transformDate(val) {
|
|
167
|
+
if (val === null) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
var d = new Date(val);
|
|
171
|
+
if (isNaN(d.valueOf())) {
|
|
172
|
+
return invalidValue("Date", val);
|
|
173
|
+
}
|
|
174
|
+
return d;
|
|
175
|
+
}
|
|
176
|
+
function transformObject(props, additional, val) {
|
|
177
|
+
if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
|
|
178
|
+
return invalidValue("object", val);
|
|
179
|
+
}
|
|
180
|
+
var result = {};
|
|
181
|
+
Object.getOwnPropertyNames(props).forEach(function (key) {
|
|
182
|
+
var prop = props[key];
|
|
183
|
+
var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
184
|
+
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
185
|
+
});
|
|
186
|
+
Object.getOwnPropertyNames(val).forEach(function (key) {
|
|
187
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
188
|
+
result[key] = transform(val[key], additional, getProps, key);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
if (typ === "any") return val;
|
|
194
|
+
if (typ === null) {
|
|
195
|
+
if (val === null) return val;
|
|
196
|
+
return invalidValue(typ, val);
|
|
197
|
+
}
|
|
198
|
+
if (typ === false) return invalidValue(typ, val);
|
|
199
|
+
while (_typeof(typ) === "object" && typ.ref !== undefined) {
|
|
200
|
+
typ = typeMap[typ.ref];
|
|
201
|
+
}
|
|
202
|
+
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
203
|
+
if (_typeof(typ) === "object") {
|
|
204
|
+
return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
|
|
205
|
+
}
|
|
206
|
+
// Numbers can be parsed by Date but shouldn't be.
|
|
207
|
+
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
208
|
+
return transformPrimitive(typ, val);
|
|
209
|
+
}
|
|
210
|
+
function cast(val, typ) {
|
|
211
|
+
return transform(val, typ, jsonToJSProps);
|
|
212
|
+
}
|
|
213
|
+
function uncast(val, typ) {
|
|
214
|
+
return transform(val, typ, jsToJSONProps);
|
|
215
|
+
}
|
|
216
|
+
function a(typ) {
|
|
217
|
+
return {
|
|
218
|
+
arrayItems: typ
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function u() {
|
|
222
|
+
for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
223
|
+
typs[_key] = arguments[_key];
|
|
224
|
+
}
|
|
225
|
+
return {
|
|
226
|
+
unionMembers: typs
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
function o(props, additional) {
|
|
230
|
+
return {
|
|
231
|
+
props: props,
|
|
232
|
+
additional: additional
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// function m(additional: any) {
|
|
237
|
+
// return { props: [], additional };
|
|
238
|
+
// }
|
|
239
|
+
|
|
240
|
+
function r(name) {
|
|
241
|
+
return {
|
|
242
|
+
ref: name
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
var typeMap = {
|
|
246
|
+
"Questions": o([{
|
|
247
|
+
json: "questions",
|
|
248
|
+
js: "questions",
|
|
249
|
+
typ: r("QuestionsClass")
|
|
250
|
+
}], false),
|
|
251
|
+
"QuestionsClass": o([{
|
|
252
|
+
json: "question",
|
|
253
|
+
js: "question",
|
|
254
|
+
typ: a(r("Question"))
|
|
255
|
+
}], false),
|
|
256
|
+
"QuestionWrapper": o([{
|
|
257
|
+
json: "question",
|
|
258
|
+
js: "question",
|
|
259
|
+
typ: r("Question")
|
|
260
|
+
}], false),
|
|
261
|
+
"Question": o([{
|
|
262
|
+
json: "@xmlns",
|
|
263
|
+
js: "@xmlns",
|
|
264
|
+
typ: ""
|
|
265
|
+
}, {
|
|
266
|
+
json: "@xmlns:xsi",
|
|
267
|
+
js: "@xmlns:xsi",
|
|
268
|
+
typ: ""
|
|
269
|
+
}, {
|
|
270
|
+
json: "@xsi:type",
|
|
271
|
+
js: "@xsi:type",
|
|
272
|
+
typ: r("QuestionXsiType")
|
|
273
|
+
}, {
|
|
274
|
+
json: "uid",
|
|
275
|
+
js: "uid",
|
|
276
|
+
typ: ""
|
|
277
|
+
}, {
|
|
278
|
+
json: "identifiant",
|
|
279
|
+
js: "identifiant",
|
|
280
|
+
typ: r("Identifiant")
|
|
281
|
+
}, {
|
|
282
|
+
json: "type",
|
|
283
|
+
js: "type",
|
|
284
|
+
typ: r("Type")
|
|
285
|
+
}, {
|
|
286
|
+
json: "indexationAN",
|
|
287
|
+
js: "indexationAN",
|
|
288
|
+
typ: r("IndexationAn")
|
|
289
|
+
}, {
|
|
290
|
+
json: "auteur",
|
|
291
|
+
js: "auteur",
|
|
292
|
+
typ: r("Auteur")
|
|
293
|
+
}, {
|
|
294
|
+
json: "minInt",
|
|
295
|
+
js: "minInt",
|
|
296
|
+
typ: r("MinInt")
|
|
297
|
+
}, {
|
|
298
|
+
json: "minAttribs",
|
|
299
|
+
js: "minAttribs",
|
|
300
|
+
typ: r("MinAttribs")
|
|
301
|
+
}, {
|
|
302
|
+
json: "textesQuestion",
|
|
303
|
+
js: "textesQuestion",
|
|
304
|
+
typ: u(r("TextesQuestion"), null, undefined)
|
|
305
|
+
}, {
|
|
306
|
+
json: "textesReponse",
|
|
307
|
+
js: "textesReponse",
|
|
308
|
+
typ: u(r("TextesReponse"), null, undefined)
|
|
309
|
+
}, {
|
|
310
|
+
json: "cloture",
|
|
311
|
+
js: "cloture",
|
|
312
|
+
typ: u(r("Cloture"), null, undefined)
|
|
313
|
+
}, {
|
|
314
|
+
json: "signalement",
|
|
315
|
+
js: "signalement",
|
|
316
|
+
typ: u(r("Signalement"), null, undefined)
|
|
317
|
+
}, {
|
|
318
|
+
json: "renouvellements",
|
|
319
|
+
js: "renouvellements",
|
|
320
|
+
typ: u(r("Renouvellements"), null, undefined)
|
|
321
|
+
}], false),
|
|
322
|
+
"Auteur": o([{
|
|
323
|
+
json: "identite",
|
|
324
|
+
js: "identite",
|
|
325
|
+
typ: r("Identite")
|
|
326
|
+
}, {
|
|
327
|
+
json: "groupe",
|
|
328
|
+
js: "groupe",
|
|
329
|
+
typ: r("Groupe")
|
|
330
|
+
}], false),
|
|
331
|
+
"Groupe": o([{
|
|
332
|
+
json: "organeRef",
|
|
333
|
+
js: "organeRef",
|
|
334
|
+
typ: ""
|
|
335
|
+
}, {
|
|
336
|
+
json: "abrege",
|
|
337
|
+
js: "abrege",
|
|
338
|
+
typ: ""
|
|
339
|
+
}, {
|
|
340
|
+
json: "developpe",
|
|
341
|
+
js: "developpe",
|
|
342
|
+
typ: ""
|
|
343
|
+
}], false),
|
|
344
|
+
"Identite": o([{
|
|
345
|
+
json: "acteurRef",
|
|
346
|
+
js: "acteurRef",
|
|
347
|
+
typ: ""
|
|
348
|
+
}, {
|
|
349
|
+
json: "mandatRef",
|
|
350
|
+
js: "mandatRef",
|
|
351
|
+
typ: ""
|
|
352
|
+
}], false),
|
|
353
|
+
"Cloture": o([{
|
|
354
|
+
json: "codeCloture",
|
|
355
|
+
js: "codeCloture",
|
|
356
|
+
typ: r("CodeCloture")
|
|
357
|
+
}, {
|
|
358
|
+
json: "libelleCloture",
|
|
359
|
+
js: "libelleCloture",
|
|
360
|
+
typ: r("LibelleCloture")
|
|
361
|
+
}, {
|
|
362
|
+
json: "dateCloture",
|
|
363
|
+
js: "dateCloture",
|
|
364
|
+
typ: ""
|
|
365
|
+
}, {
|
|
366
|
+
json: "infoJO",
|
|
367
|
+
js: "infoJO",
|
|
368
|
+
typ: u(r("InfoJo"), null)
|
|
369
|
+
}], false),
|
|
370
|
+
"Identifiant": o([{
|
|
371
|
+
json: "numero",
|
|
372
|
+
js: "numero",
|
|
373
|
+
typ: ""
|
|
374
|
+
}, {
|
|
375
|
+
json: "regime",
|
|
376
|
+
js: "regime",
|
|
377
|
+
typ: ""
|
|
378
|
+
}, {
|
|
379
|
+
json: "legislature",
|
|
380
|
+
js: "legislature",
|
|
381
|
+
typ: ""
|
|
382
|
+
}], false),
|
|
383
|
+
"IndexationAn": o([{
|
|
384
|
+
json: "rubrique",
|
|
385
|
+
js: "rubrique",
|
|
386
|
+
typ: u("", null)
|
|
387
|
+
}, {
|
|
388
|
+
json: "teteAnalyse",
|
|
389
|
+
js: "teteAnalyse",
|
|
390
|
+
typ: null
|
|
391
|
+
}, {
|
|
392
|
+
json: "analyses",
|
|
393
|
+
js: "analyses",
|
|
394
|
+
typ: r("Analyse")
|
|
395
|
+
}], false),
|
|
396
|
+
"Analyse": o([{
|
|
397
|
+
json: "analyse",
|
|
398
|
+
js: "analyse",
|
|
399
|
+
typ: u("", null)
|
|
400
|
+
}], false),
|
|
401
|
+
"MinAttribs": o([{
|
|
402
|
+
json: "minAttrib",
|
|
403
|
+
js: "minAttrib",
|
|
404
|
+
typ: u(a(r("MinAttribElement")), r("MinAttribElement"))
|
|
405
|
+
}], false),
|
|
406
|
+
"MinAttribElement": o([{
|
|
407
|
+
json: "infoJO",
|
|
408
|
+
js: "infoJO",
|
|
409
|
+
typ: r("InfoJo")
|
|
410
|
+
}, {
|
|
411
|
+
json: "denomination",
|
|
412
|
+
js: "denomination",
|
|
413
|
+
typ: r("MinInt")
|
|
414
|
+
}], false),
|
|
415
|
+
"MinInt": o([{
|
|
416
|
+
json: "abrege",
|
|
417
|
+
js: "abrege",
|
|
418
|
+
typ: ""
|
|
419
|
+
}, {
|
|
420
|
+
json: "developpe",
|
|
421
|
+
js: "developpe",
|
|
422
|
+
typ: ""
|
|
423
|
+
}], false),
|
|
424
|
+
"InfoJo": o([{
|
|
425
|
+
json: "typeJO",
|
|
426
|
+
js: "typeJO",
|
|
427
|
+
typ: r("TypeJo")
|
|
428
|
+
}, {
|
|
429
|
+
json: "dateJO",
|
|
430
|
+
js: "dateJO",
|
|
431
|
+
typ: ""
|
|
432
|
+
}, {
|
|
433
|
+
json: "pageJO",
|
|
434
|
+
js: "pageJO",
|
|
435
|
+
typ: u("", null)
|
|
436
|
+
}, {
|
|
437
|
+
json: "numJO",
|
|
438
|
+
js: "numJO",
|
|
439
|
+
typ: u("", null)
|
|
440
|
+
}, {
|
|
441
|
+
json: "urlLegifrance",
|
|
442
|
+
js: "urlLegifrance",
|
|
443
|
+
typ: u("", null)
|
|
444
|
+
}, {
|
|
445
|
+
json: "referenceNOR",
|
|
446
|
+
js: "referenceNOR",
|
|
447
|
+
typ: u("", null)
|
|
448
|
+
}], false),
|
|
449
|
+
"TextesQuestion": o([{
|
|
450
|
+
json: "texteQuestion",
|
|
451
|
+
js: "texteQuestion",
|
|
452
|
+
typ: u(a(r("Texte")), r("Texte"))
|
|
453
|
+
}], false),
|
|
454
|
+
"Texte": o([{
|
|
455
|
+
json: "infoJO",
|
|
456
|
+
js: "infoJO",
|
|
457
|
+
typ: r("InfoJo")
|
|
458
|
+
}, {
|
|
459
|
+
json: "texte",
|
|
460
|
+
js: "texte",
|
|
461
|
+
typ: u("", null)
|
|
462
|
+
}, {
|
|
463
|
+
json: "erratum",
|
|
464
|
+
js: "erratum",
|
|
465
|
+
typ: u(undefined, "")
|
|
466
|
+
}], false),
|
|
467
|
+
"TextesReponse": o([{
|
|
468
|
+
json: "texteReponse",
|
|
469
|
+
js: "texteReponse",
|
|
470
|
+
typ: u(a(r("Texte")), r("Texte"))
|
|
471
|
+
}], false),
|
|
472
|
+
"Signalement": o([{
|
|
473
|
+
json: "infoJO",
|
|
474
|
+
js: "infoJO",
|
|
475
|
+
typ: r("InfoJo")
|
|
476
|
+
}, {
|
|
477
|
+
json: "dateDepotSignal",
|
|
478
|
+
js: "dateDepotSignal",
|
|
479
|
+
typ: ""
|
|
480
|
+
}], false),
|
|
481
|
+
"Renouvellements": o([{
|
|
482
|
+
json: "renouvellement",
|
|
483
|
+
js: "renouvellement",
|
|
484
|
+
typ: u(a(r("Renouvellement")), r("Renouvellement"))
|
|
485
|
+
}], false),
|
|
486
|
+
"Renouvellement": o([{
|
|
487
|
+
json: "infoJO",
|
|
488
|
+
js: "infoJO",
|
|
489
|
+
typ: r("InfoJo")
|
|
490
|
+
}], false),
|
|
491
|
+
"QuestionXsiType": ["QuestionEcrite_Type", "QuestionGouvernement_Type", "QuestionOrale_Type"],
|
|
492
|
+
"CodeCloture": ["AU", "FM", "REP_PUB"],
|
|
493
|
+
"TypeJo": ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
|
|
494
|
+
"LibelleCloture": ["Fin de mandat", "Retrait à l'initiative de l'auteur", "Réponse publiée"],
|
|
495
|
+
"Type": ["QE", "QG", "QOSD"]
|
|
496
|
+
};
|
|
497
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJleHBvcnRzIiwiQ29kZUNsb3R1cmUiLCJUeXBlSm8iLCJMaWJlbGxlQ2xvdHVyZSIsIlR5cGUiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b1F1ZXN0aW9ucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInF1ZXN0aW9uc1RvSnNvbiIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvUXVlc3Rpb25XcmFwcGVyIiwicXVlc3Rpb25XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvcXVlc3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFF1ZXN0aW9ucywgUXVlc3Rpb25XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgcXVlc3Rpb25zID0gQ29udmVydC50b1F1ZXN0aW9uc2pzb24pO1xuLy8gICBjb25zdCBxdWVzdGlvbldyYXBwZXIgPSBDb252ZXJ0LnRvUXVlc3Rpb25XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zIHtcbiAgICBxdWVzdGlvbnM6IFF1ZXN0aW9uc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uc0NsYXNzIHtcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbldyYXBwZXIge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uIHtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgIHN0cmluZztcbiAgICBcIkB4bWxuczp4c2lcIjogICAgIHN0cmluZztcbiAgICBcIkB4c2k6dHlwZVwiOiAgICAgIFF1ZXN0aW9uWHNpVHlwZTtcbiAgICB1aWQ6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgaWRlbnRpZmlhbnQ6ICAgICAgSWRlbnRpZmlhbnQ7XG4gICAgdHlwZTogICAgICAgICAgICAgVHlwZTtcbiAgICBpbmRleGF0aW9uQU46ICAgICBJbmRleGF0aW9uQW47XG4gICAgYXV0ZXVyOiAgICAgICAgICAgQXV0ZXVyO1xuICAgIG1pbkludDogICAgICAgICAgIE1pbkludDtcbiAgICBtaW5BdHRyaWJzOiAgICAgICBNaW5BdHRyaWJzO1xuICAgIHRleHRlc1F1ZXN0aW9uPzogIFRleHRlc1F1ZXN0aW9uIHwgbnVsbDtcbiAgICB0ZXh0ZXNSZXBvbnNlPzogICBUZXh0ZXNSZXBvbnNlIHwgbnVsbDtcbiAgICBjbG90dXJlPzogICAgICAgICBDbG90dXJlIHwgbnVsbDtcbiAgICBzaWduYWxlbWVudD86ICAgICBTaWduYWxlbWVudCB8IG51bGw7XG4gICAgcmVub3V2ZWxsZW1lbnRzPzogUmVub3V2ZWxsZW1lbnRzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gUXVlc3Rpb25Yc2lUeXBlIHtcbiAgICBRdWVzdGlvbkVjcml0ZSA9IFwiUXVlc3Rpb25FY3JpdGVfVHlwZVwiLFxuICAgIFF1ZXN0aW9uR291dmVybmVtZW50ID0gXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgUXVlc3Rpb25PcmFsZSA9IFwiUXVlc3Rpb25PcmFsZV9UeXBlXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICAgIGlkZW50aXRlOiBJZGVudGl0ZTtcbiAgICBncm91cGU6ICAgR3JvdXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gICAgb3JnYW5lUmVmOiBzdHJpbmc7XG4gICAgYWJyZWdlOiAgICBzdHJpbmc7XG4gICAgZGV2ZWxvcHBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdGUge1xuICAgIGFjdGV1clJlZjogc3RyaW5nO1xuICAgIG1hbmRhdFJlZjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3R1cmUge1xuICAgIGNvZGVDbG90dXJlOiAgICBDb2RlQ2xvdHVyZTtcbiAgICBsaWJlbGxlQ2xvdHVyZTogTGliZWxsZUNsb3R1cmU7XG4gICAgZGF0ZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgSW5mb0pvIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gQ29kZUNsb3R1cmUge1xuICAgIEF1ID0gXCJBVVwiLFxuICAgIEZtID0gXCJGTVwiLFxuICAgIFJlcFB1YiA9IFwiUkVQX1BVQlwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlSm8ge1xuICAgIEpvUXVlc3Rpb24gPSBcIkpPX1FVRVNUSU9OXCIsXG4gICAgSm9Mb2lEZWNyZXQgPSBcIkpPX0xPSV9ERUNSRVRcIixcbiAgICBKb0RlYmF0ZSA9IFwiSk9fREVCQVRcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZUNsb3R1cmUge1xuICAgIEZpbkRlTWFuZGF0ID0gXCJGaW4gZGUgbWFuZGF0XCIsXG4gICAgUmV0cmFpdMOATEluaXRpYXRpdmVEZUxBdXRldXIgPSBcIlJldHJhaXQgw6AgbCdpbml0aWF0aXZlIGRlIGwnYXV0ZXVyXCIsXG4gICAgUsOpcG9uc2VQdWJsacOpZSA9IFwiUsOpcG9uc2UgcHVibGnDqWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFudCB7XG4gICAgbnVtZXJvOiAgICAgIHN0cmluZztcbiAgICByZWdpbWU6ICAgICAgc3RyaW5nO1xuICAgIGxlZ2lzbGF0dXJlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhhdGlvbkFuIHtcbiAgICBydWJyaXF1ZTogICAgc3RyaW5nIHwgbnVsbDtcbiAgICB0ZXRlQW5hbHlzZTogbnVsbDtcbiAgICBhbmFseXNlczogICAgIEFuYWx5c2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHlzZSB7XG4gICAgYW5hbHlzZTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJzIHtcbiAgICBtaW5BdHRyaWI6IE1pbkF0dHJpYkVsZW1lbnRbXSB8IE1pbkF0dHJpYkVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluQXR0cmliRWxlbWVudCB7XG4gICAgaW5mb0pPOiBJbmZvSm87XG4gICAgZGVub21pbmF0aW9uOiBNaW5JbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluSW50IHtcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNRdWVzdGlvbiB7XG4gICAgdGV4dGVRdWVzdGlvbjogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlIHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICB0ZXh0ZTogIHN0cmluZyB8IG51bGw7XG4gICAgZXJyYXR1bT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICAgIHR5cGVKTzogICAgICAgICAgVHlwZUpvO1xuICAgIGRhdGVKTzogICAgICAgICAgc3RyaW5nO1xuICAgIHBhZ2VKTzogICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICBudW1KTzogICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgdXJsTGVnaWZyYW5jZTogICBzdHJpbmcgfCBudWxsO1xuICAgIHJlZmVyZW5jZU5PUjogICAgc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNSZXBvbnNlIHtcbiAgICB0ZXh0ZVJlcG9uc2U6IFRleHRlW10gfCBUZXh0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxlbWVudCB7XG4gICAgZGF0ZURlcG90U2lnbmFsOiAgc3RyaW5nO1xuICAgIGluZm9KTzogICAgICAgICAgIEluZm9Kbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudHMge1xuICAgIHJlbm91dmVsbGVtZW50OiBSZW5vdXZlbGxlbWVudFtdIHwgUmVub3V2ZWxsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnQge1xuICAgIGluZm9KTzogSW5mb0pvO1xufVxuXG5leHBvcnQgZW51bSBUeXBlIHtcbiAgICBRZSA9IFwiUUVcIixcbiAgICBRZyA9IFwiUUdcIixcbiAgICBRb3NkID0gXCJRT1NEXCJcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9ucyhqc29uOiBzdHJpbmcpOiBRdWVzdGlvbnMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uc1RvSnNvbih2YWx1ZTogUXVlc3Rpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9RdWVzdGlvbldyYXBwZXIoanNvbjogc3RyaW5nKTogUXVlc3Rpb25XcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBxdWVzdGlvbldyYXBwZXJUb0pzb24odmFsdWU6IFF1ZXN0aW9uV3JhcHBlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlF1ZXN0aW9uc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uc1wiLCBqczogXCJxdWVzdGlvbnNcIiwgdHlwOiByKFwiUXVlc3Rpb25zQ2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvbnNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uXCIsIGpzOiBcInF1ZXN0aW9uXCIsIHR5cDogYShyKFwiUXVlc3Rpb25cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25cIiwganM6IFwicXVlc3Rpb25cIiwgdHlwOiByKFwiUXVlc3Rpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuc1wiLCBqczogXCJAeG1sbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOnR5cGVcIiwganM6IFwiQHhzaTp0eXBlXCIsIHR5cDogcihcIlF1ZXN0aW9uWHNpVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkZW50aWZpYW50XCIsIGpzOiBcImlkZW50aWZpYW50XCIsIHR5cDogcihcIklkZW50aWZpYW50XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiaW5kZXhhdGlvbkFOXCIsIGpzOiBcImluZGV4YXRpb25BTlwiLCB0eXA6IHIoXCJJbmRleGF0aW9uQW5cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dGV1clwiLCBqczogXCJhdXRldXJcIiwgdHlwOiByKFwiQXV0ZXVyXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaW5JbnRcIiwganM6IFwibWluSW50XCIsIHR5cDogcihcIk1pbkludFwiKSB9LFxuICAgICAgICB7IGpzb246IFwibWluQXR0cmlic1wiLCBqczogXCJtaW5BdHRyaWJzXCIsIHR5cDogcihcIk1pbkF0dHJpYnNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlc1F1ZXN0aW9uXCIsIGpzOiBcInRleHRlc1F1ZXN0aW9uXCIsIHR5cDogdShyKFwiVGV4dGVzUXVlc3Rpb25cIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlc1JlcG9uc2VcIiwganM6IFwidGV4dGVzUmVwb25zZVwiLCB0eXA6IHUocihcIlRleHRlc1JlcG9uc2VcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUocihcIkNsb3R1cmVcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInNpZ25hbGVtZW50XCIsIGpzOiBcInNpZ25hbGVtZW50XCIsIHR5cDogdShyKFwiU2lnbmFsZW1lbnRcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInJlbm91dmVsbGVtZW50c1wiLCBqczogXCJyZW5vdXZlbGxlbWVudHNcIiwgdHlwOiB1KHIoXCJSZW5vdXZlbGxlbWVudHNcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBdXRldXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpZGVudGl0ZVwiLCBqczogXCJpZGVudGl0ZVwiLCB0eXA6IHIoXCJJZGVudGl0ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlXCIsIGpzOiBcImdyb3VwZVwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJyZWdlXCIsIGpzOiBcImFicmVnZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImRldmVsb3BwZVwiLCBqczogXCJkZXZlbG9wcGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDbG90dXJlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZUNsb3R1cmVcIiwganM6IFwiY29kZUNsb3R1cmVcIiwgdHlwOiByKFwiQ29kZUNsb3R1cmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVDbG90dXJlXCIsIGpzOiBcImxpYmVsbGVDbG90dXJlXCIsIHR5cDogcihcIkxpYmVsbGVDbG90dXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlQ2xvdHVyZVwiLCBqczogXCJkYXRlQ2xvdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiB1KHIoXCJJbmZvSm9cIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpZmlhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicmVnaW1lXCIsIGpzOiBcInJlZ2ltZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZGV4YXRpb25BblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJ1YnJpcXVlXCIsIGpzOiBcInJ1YnJpcXVlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidGV0ZUFuYWx5c2VcIiwganM6IFwidGV0ZUFuYWx5c2VcIiwgdHlwOiBudWxsIH0sXG4gICAgICAgIHsganNvbjogXCJhbmFseXNlc1wiLCBqczogXCJhbmFseXNlc1wiLCB0eXA6IHIoXCJBbmFseXNlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW5hbHlzZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VcIiwganM6IFwiYW5hbHlzZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5BdHRyaWJzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibWluQXR0cmliXCIsIGpzOiBcIm1pbkF0dHJpYlwiLCB0eXA6IHUoYShyKFwiTWluQXR0cmliRWxlbWVudFwiKSksIHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYkVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVub21pbmF0aW9uXCIsIGpzOiBcImRlbm9taW5hdGlvblwiLCB0eXA6IHIoXCJNaW5JbnRcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5JbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhYnJlZ2VcIiwganM6IFwiYWJyZWdlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGV2ZWxvcHBlXCIsIGpzOiBcImRldmVsb3BwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJbmZvSm9cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0eXBlSk9cIiwganM6IFwidHlwZUpPXCIsIHR5cDogcihcIlR5cGVKb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZUpPXCIsIGpzOiBcImRhdGVKT1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhZ2VKT1wiLCBqczogXCJwYWdlSk9cIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1KT1wiLCBqczogXCJudW1KT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInVybExlZ2lmcmFuY2VcIiwganM6IFwidXJsTGVnaWZyYW5jZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZU5PUlwiLCBqczogXCJyZWZlcmVuY2VOT1JcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVzUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVF1ZXN0aW9uXCIsIGpzOiBcInRleHRlUXVlc3Rpb25cIiwgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiZXJyYXR1bVwiLCBqczogXCJlcnJhdHVtXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNSZXBvbnNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVSZXBvbnNlXCIsIGpzOiBcInRleHRlUmVwb25zZVwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2lnbmFsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZURlcG90U2lnbmFsXCIsIGpzOiBcImRhdGVEZXBvdFNpZ25hbFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudFwiLCBqczogXCJyZW5vdXZlbGxlbWVudFwiLCB0eXA6IHUoYShyKFwiUmVub3V2ZWxsZW1lbnRcIikpLCByKFwiUmVub3V2ZWxsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVub3V2ZWxsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9XG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25Yc2lUeXBlXCI6IFtcbiAgICAgICAgXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICAgICAgICBcIlF1ZXN0aW9uT3JhbGVfVHlwZVwiXG4gICAgXSxcbiAgICBcIkNvZGVDbG90dXJlXCI6IFtcbiAgICAgICAgXCJBVVwiLFxuICAgICAgICBcIkZNXCIsXG4gICAgICAgIFwiUkVQX1BVQlwiLFxuICAgIF0sXG4gICAgXCJUeXBlSm9cIjogW1xuICAgICAgICBcIkpPX1FVRVNUSU9OXCIsXG4gICAgICAgIFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgICAgICBcIkpPX0RFQkFUXCJcbiAgICBdLFxuICAgIFwiTGliZWxsZUNsb3R1cmVcIjogW1xuICAgICAgICBcIkZpbiBkZSBtYW5kYXRcIixcbiAgICAgICAgXCJSZXRyYWl0IMOgIGwnaW5pdGlhdGl2ZSBkZSBsJ2F1dGV1clwiLFxuICAgICAgICBcIlLDqXBvbnNlIHB1Ymxpw6llXCIsXG4gICAgXSxcbiAgICBcIlR5cGVcIjogW1xuICAgICAgICBcIlFFXCIsXG4gICAgICAgIFwiUUdcIixcbiAgICAgICAgXCJRT1NEXCJcbiAgICBd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
|