@tricoteuses/assemblee 1.0.6 → 1.1.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/lib/api.js +3 -9
- package/lib/api.mjs +4 -5
- package/lib/bugs/acteur-00010/plugin.test.js +3 -50
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +2 -57
- package/lib/bugs/acteur-00010.mjs +1 -6
- package/lib/bugs/agenda-00002/plugin.test.js +3 -53
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -3
- package/lib/bugs/agenda-00002.js +3 -148
- package/lib/bugs/agenda-00002.mjs +1 -28
- package/lib/bugs/agenda-00008/plugin.test.js +3 -52
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +2 -61
- package/lib/bugs/agenda-00008.mjs +1 -5
- package/lib/bugs/agenda-00011/plugin.test.js +5 -99
- package/lib/bugs/agenda-00011/plugin.test.mjs +3 -3
- package/lib/bugs/agenda-00011.js +4 -105
- package/lib/bugs/agenda-00011.mjs +3 -29
- package/lib/bugs.js +3 -164
- package/lib/bugs.mjs +1 -26
- package/lib/cleaners/actes_legislatifs.js +11 -115
- package/lib/cleaners/actes_legislatifs.mjs +7 -82
- package/lib/cleaners/acteurs.js +12 -92
- package/lib/cleaners/acteurs.mjs +7 -38
- package/lib/cleaners/amendements.js +10 -103
- package/lib/cleaners/amendements.mjs +4 -58
- package/lib/cleaners/documents.js +5 -67
- package/lib/cleaners/documents.mjs +1 -37
- package/lib/cleaners/dossiers_legislatifs.js +5 -61
- package/lib/cleaners/dossiers_legislatifs.mjs +1 -29
- package/lib/cleaners/index.js +1 -9
- package/lib/cleaners/index.mjs +1 -1
- package/lib/cleaners/organes.js +1 -33
- package/lib/cleaners/organes.mjs +1 -17
- package/lib/cleaners/reunions.js +4 -119
- package/lib/cleaners/reunions.mjs +1 -64
- package/lib/cleaners/scrutins.js +10 -102
- package/lib/cleaners/scrutins.mjs +1 -48
- package/lib/cleaners/xml.js +8 -42
- package/lib/cleaners/xml.mjs +6 -8
- package/lib/datasets.js +14 -113
- package/lib/datasets.mjs +6 -46
- package/lib/dates.js +7 -37
- package/lib/dates.mjs +9 -14
- package/lib/dossiers_legislatifs.js +6 -68
- package/lib/dossiers_legislatifs.mjs +5 -36
- package/lib/file_systems.js +56 -139
- package/lib/file_systems.mjs +1 -9
- package/lib/git.js +4 -53
- package/lib/git.mjs +1 -12
- package/lib/index.js +1 -15
- package/lib/index.mjs +1 -1
- package/lib/inserters.js +23 -146
- package/lib/inserters.mjs +6 -87
- package/lib/loaders.js +44 -316
- package/lib/loaders.mjs +12 -135
- package/lib/organes.js +1 -7
- package/lib/organes.mjs +1 -4
- package/lib/parsers/documents.js +22 -151
- package/lib/parsers/documents.mjs +19 -81
- package/lib/parsers/index.js +1 -4
- package/lib/parsers/index.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +302 -527
- package/lib/parsers/recherche_amendements.mjs +8 -31
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -30
- package/lib/raw_types/acteurs_et_organes.js +5 -124
- package/lib/raw_types/acteurs_et_organes.mjs +5 -105
- package/lib/raw_types/agendas.js +6 -89
- package/lib/raw_types/agendas.mjs +9 -65
- package/lib/raw_types/amendements.d.ts +2 -0
- package/lib/raw_types/amendements.js +10 -90
- package/lib/raw_types/amendements.mjs +11 -69
- package/lib/raw_types/dossiers_legislatifs.d.ts +16 -115
- package/lib/raw_types/dossiers_legislatifs.js +26 -435
- package/lib/raw_types/dossiers_legislatifs.mjs +26 -412
- package/lib/raw_types/scrutins.js +6 -81
- package/lib/raw_types/scrutins.mjs +9 -57
- package/lib/scripts/bugs_helper.js +2 -181
- package/lib/scripts/bugs_helper.mjs +2 -39
- package/lib/scripts/clean_data.js +27 -143
- package/lib/scripts/clean_data.mjs +15 -34
- package/lib/scripts/clean_reorganized_data.js +76 -240
- package/lib/scripts/clean_reorganized_data.mjs +36 -99
- package/lib/scripts/diff_amendements.js +19 -79
- package/lib/scripts/diff_amendements.mjs +17 -35
- package/lib/scripts/document_dossiers_legislatifs.js +17 -142
- package/lib/scripts/document_dossiers_legislatifs.mjs +6 -90
- package/lib/scripts/get_today_reunions.js +4 -22
- package/lib/scripts/get_today_reunions.mjs +1 -7
- package/lib/scripts/merge_scrutins.js +3 -47
- package/lib/scripts/merge_scrutins.mjs +1 -9
- package/lib/scripts/parse_textes_lois.js +15 -44
- package/lib/scripts/parse_textes_lois.mjs +18 -19
- package/lib/scripts/raw_types_from_amendements.js +3 -95
- package/lib/scripts/raw_types_from_amendements.mjs +1 -16
- package/lib/scripts/reorganize_data.js +74 -294
- package/lib/scripts/reorganize_data.mjs +22 -133
- package/lib/scripts/retrieve_deputes_photos.js +6 -119
- package/lib/scripts/retrieve_deputes_photos.mjs +7 -33
- package/lib/scripts/retrieve_documents.js +4 -192
- package/lib/scripts/retrieve_documents.mjs +2 -50
- package/lib/scripts/retrieve_open_data.js +44 -116
- package/lib/scripts/retrieve_open_data.mjs +14 -19
- package/lib/scripts/retrieve_pending_amendments.js +4 -98
- package/lib/scripts/retrieve_pending_amendments.mjs +1 -14
- package/lib/scripts/retrieve_senateurs_photos.js +18 -114
- package/lib/scripts/retrieve_senateurs_photos.mjs +20 -48
- package/lib/scripts/retrieve_textes_lois.js +3 -122
- package/lib/scripts/retrieve_textes_lois.mjs +3 -21
- package/lib/scripts/test_load.js +2 -10
- package/lib/scripts/test_load.mjs +2 -1
- package/lib/scripts/test_load_big_files.js +2 -10
- package/lib/scripts/test_load_big_files.mjs +2 -1
- package/lib/scripts/validate_json.js +4 -119
- package/lib/scripts/validate_json.mjs +2 -36
- package/lib/shared_types/codes_actes.js +1 -24
- package/lib/shared_types/codes_actes.mjs +3 -10
- package/lib/strings.js +1 -5
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +9 -84
- package/lib/types/acteurs_et_organes.mjs +10 -63
- package/lib/types/agendas.js +8 -90
- package/lib/types/agendas.mjs +11 -66
- package/lib/types/amendements.d.ts +2 -0
- package/lib/types/amendements.js +12 -92
- package/lib/types/amendements.mjs +15 -70
- package/lib/types/dossiers_legislatifs.js +8 -96
- package/lib/types/dossiers_legislatifs.mjs +10 -72
- package/lib/types/legislatures.js +1 -3
- package/lib/types/legislatures.mjs +1 -2
- package/lib/types/scrutins.js +8 -82
- package/lib/types/scrutins.mjs +11 -58
- package/lib/urls.js +3 -27
- package/lib/urls.mjs +3 -21
- package/package.json +1 -1
|
@@ -1,111 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
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); }
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.function.name.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.array.from.js");
|
|
8
|
-
|
|
9
6
|
require("core-js/modules/es.array.is-array.js");
|
|
10
|
-
|
|
7
|
+
require("core-js/modules/es.object.define-property.js");
|
|
11
8
|
require("core-js/modules/es.symbol.to-string-tag.js");
|
|
12
|
-
|
|
13
9
|
require("core-js/modules/es.json.to-string-tag.js");
|
|
14
|
-
|
|
15
10
|
require("core-js/modules/es.math.to-string-tag.js");
|
|
16
|
-
|
|
17
|
-
require("core-js/modules/es.object.define-property.js");
|
|
18
|
-
|
|
19
11
|
require("core-js/modules/es.object.create.js");
|
|
20
|
-
|
|
21
12
|
require("core-js/modules/es.object.get-prototype-of.js");
|
|
22
|
-
|
|
23
13
|
require("core-js/modules/es.array.for-each.js");
|
|
24
|
-
|
|
25
14
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
26
|
-
|
|
27
15
|
require("core-js/modules/es.object.set-prototype-of.js");
|
|
28
|
-
|
|
29
16
|
require("core-js/modules/es.array.reverse.js");
|
|
30
|
-
|
|
31
17
|
require("core-js/modules/es.symbol.js");
|
|
32
|
-
|
|
33
18
|
require("core-js/modules/es.symbol.description.js");
|
|
34
|
-
|
|
35
19
|
require("core-js/modules/es.object.to-string.js");
|
|
36
|
-
|
|
37
20
|
require("core-js/modules/es.symbol.async-iterator.js");
|
|
38
|
-
|
|
39
21
|
require("core-js/modules/es.symbol.iterator.js");
|
|
40
|
-
|
|
41
22
|
require("core-js/modules/es.array.iterator.js");
|
|
42
|
-
|
|
43
23
|
require("core-js/modules/es.string.iterator.js");
|
|
44
|
-
|
|
45
24
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
46
|
-
|
|
47
25
|
require("core-js/modules/es.promise.js");
|
|
48
|
-
|
|
49
26
|
require("core-js/modules/es.regexp.exec.js");
|
|
50
|
-
|
|
51
27
|
require("core-js/modules/es.string.replace.js");
|
|
52
|
-
|
|
53
28
|
require("core-js/modules/es.string.trim.js");
|
|
54
|
-
|
|
55
29
|
require("core-js/modules/es.array.join.js");
|
|
56
|
-
|
|
57
30
|
require("core-js/modules/es.array.concat.js");
|
|
58
|
-
|
|
59
31
|
require("core-js/modules/es.array.slice.js");
|
|
60
|
-
|
|
61
32
|
var _child_process = require("child_process");
|
|
62
|
-
|
|
63
33
|
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
64
|
-
|
|
65
34
|
var _deepEqual = _interopRequireDefault(require("deep-equal"));
|
|
66
|
-
|
|
67
35
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
68
|
-
|
|
69
36
|
var _path = _interopRequireDefault(require("path"));
|
|
70
|
-
|
|
71
37
|
var _git = require("../git");
|
|
72
|
-
|
|
73
38
|
var _parsers = require("../parsers");
|
|
74
|
-
|
|
75
39
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
76
|
-
|
|
77
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
78
|
-
|
|
40
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
79
41
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
80
|
-
|
|
81
42
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
82
|
-
|
|
83
43
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
84
|
-
|
|
85
44
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
86
|
-
|
|
87
45
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
88
|
-
|
|
89
46
|
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."); }
|
|
90
|
-
|
|
91
47
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
92
|
-
|
|
93
48
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
94
|
-
|
|
95
49
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
96
|
-
|
|
97
50
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
98
|
-
|
|
99
51
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
100
|
-
|
|
101
52
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
102
|
-
|
|
103
53
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
104
|
-
|
|
105
54
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
106
|
-
|
|
107
55
|
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(value) { var ret = this.s["return"]; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, "throw": function _throw(value) { var thr = this.s["return"]; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
108
|
-
|
|
109
56
|
var optionsDefinitions = [{
|
|
110
57
|
alias: "C",
|
|
111
58
|
help: "clone repositories from given group (or organization) git URL",
|
|
@@ -149,20 +96,15 @@ var optionsDefinitions = [{
|
|
|
149
96
|
type: String
|
|
150
97
|
}];
|
|
151
98
|
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
152
|
-
|
|
153
99
|
function commitAndPush(repositoryDir, options, remotes) {
|
|
154
100
|
var error = false;
|
|
155
|
-
|
|
156
101
|
if (options.commit) {
|
|
157
102
|
(0, _git.commit)(repositoryDir, "Nouvelle moisson");
|
|
158
|
-
|
|
159
103
|
var _iterator2 = _createForOfIteratorHelper(remotes || []),
|
|
160
|
-
|
|
161
|
-
|
|
104
|
+
_step2;
|
|
162
105
|
try {
|
|
163
106
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
164
107
|
var remote = _step2.value;
|
|
165
|
-
|
|
166
108
|
try {
|
|
167
109
|
(0, _child_process.execSync)("git push ".concat(remote, " master"), {
|
|
168
110
|
cwd: repositoryDir,
|
|
@@ -182,24 +124,19 @@ function commitAndPush(repositoryDir, options, remotes) {
|
|
|
182
124
|
_iterator2.f();
|
|
183
125
|
}
|
|
184
126
|
}
|
|
185
|
-
|
|
186
127
|
return error;
|
|
187
128
|
}
|
|
188
|
-
|
|
189
129
|
function main() {
|
|
190
130
|
return _main.apply(this, arguments);
|
|
191
131
|
}
|
|
192
|
-
|
|
193
132
|
function _main() {
|
|
194
133
|
_main = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
195
134
|
var gitGroupUrl, amendementsDir, cacheDir, _i, _arr, etat, url, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step$value, amendementUrlPath, amendement, amendementUrlPathSplitted, amendementFilePath, existingAmendement;
|
|
196
|
-
|
|
197
135
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
198
136
|
while (1) {
|
|
199
137
|
switch (_context.prev = _context.next) {
|
|
200
138
|
case 0:
|
|
201
139
|
gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
202
|
-
|
|
203
140
|
if (gitGroupUrl !== undefined) {
|
|
204
141
|
(0, _child_process.execSync)("git clone ".concat(gitGroupUrl, "/Amendements_en_attente.git"), {
|
|
205
142
|
cwd: options.dataDir,
|
|
@@ -208,21 +145,17 @@ function _main() {
|
|
|
208
145
|
stdio: ["ignore", "ignore", "pipe"]
|
|
209
146
|
});
|
|
210
147
|
}
|
|
211
|
-
|
|
212
148
|
amendementsDir = _path["default"].join(options.dataDir, "Amendements_en_attente");
|
|
213
149
|
_context.next = 5;
|
|
214
150
|
return _fsExtra["default"].ensureDir(amendementsDir);
|
|
215
|
-
|
|
216
151
|
case 5:
|
|
217
152
|
cacheDir = _path["default"].join(options.dataDir, "Amendements_en_attente_cache");
|
|
218
153
|
_i = 0, _arr = ["En recevabilité", "En traitement"];
|
|
219
|
-
|
|
220
154
|
case 7:
|
|
221
155
|
if (!(_i < _arr.length)) {
|
|
222
156
|
_context.next = 58;
|
|
223
157
|
break;
|
|
224
158
|
}
|
|
225
|
-
|
|
226
159
|
etat = _arr[_i];
|
|
227
160
|
url = "https://www.assemblee-nationale.fr/dyn/".concat(options.legislature, "/amendements?etat=").concat(encodeURIComponent(etat));
|
|
228
161
|
_iteratorAbruptCompletion = false;
|
|
@@ -232,52 +165,41 @@ function _main() {
|
|
|
232
165
|
silent: options.silent,
|
|
233
166
|
verbose: options.verbose
|
|
234
167
|
}));
|
|
235
|
-
|
|
236
168
|
case 14:
|
|
237
169
|
_context.next = 16;
|
|
238
170
|
return _iterator.next();
|
|
239
|
-
|
|
240
171
|
case 16:
|
|
241
172
|
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
242
173
|
_context.next = 39;
|
|
243
174
|
break;
|
|
244
175
|
}
|
|
245
|
-
|
|
246
176
|
_step$value = _slicedToArray(_step.value, 2), amendementUrlPath = _step$value[0], amendement = _step$value[1];
|
|
247
177
|
amendementUrlPathSplitted = amendementUrlPath.split("/");
|
|
248
178
|
amendementFilePath = _path["default"].join.apply(_path["default"], [amendementsDir].concat(_toConsumableArray(amendementUrlPathSplitted.slice(2)))) + ".json";
|
|
249
179
|
_context.next = 22;
|
|
250
180
|
return _fsExtra["default"].ensureDir(_path["default"].dirname(amendementFilePath));
|
|
251
|
-
|
|
252
181
|
case 22:
|
|
253
182
|
_context.next = 24;
|
|
254
183
|
return _fsExtra["default"].pathExists(amendementFilePath);
|
|
255
|
-
|
|
256
184
|
case 24:
|
|
257
185
|
if (!_context.sent) {
|
|
258
186
|
_context.next = 30;
|
|
259
187
|
break;
|
|
260
188
|
}
|
|
261
|
-
|
|
262
189
|
_context.next = 27;
|
|
263
190
|
return _fsExtra["default"].readJson(amendementFilePath);
|
|
264
|
-
|
|
265
191
|
case 27:
|
|
266
192
|
_context.t0 = _context.sent;
|
|
267
193
|
_context.next = 31;
|
|
268
194
|
break;
|
|
269
|
-
|
|
270
195
|
case 30:
|
|
271
196
|
_context.t0 = null;
|
|
272
|
-
|
|
273
197
|
case 31:
|
|
274
198
|
existingAmendement = _context.t0;
|
|
275
|
-
|
|
276
199
|
if ((0, _deepEqual["default"])(amendement, existingAmendement)) {
|
|
277
200
|
_context.next = 36;
|
|
278
201
|
break;
|
|
279
202
|
}
|
|
280
|
-
|
|
281
203
|
if (!options.silent) {
|
|
282
204
|
if (existingAmendement === null) {
|
|
283
205
|
console.log("Adding amendement JSON: ".concat(amendementFilePath, "\u2026"));
|
|
@@ -285,65 +207,50 @@ function _main() {
|
|
|
285
207
|
console.log("Updating amendement JSON: ".concat(amendementFilePath, "\u2026"));
|
|
286
208
|
}
|
|
287
209
|
}
|
|
288
|
-
|
|
289
210
|
_context.next = 36;
|
|
290
211
|
return _fsExtra["default"].writeJson(amendementFilePath, amendement, {
|
|
291
212
|
spaces: 2
|
|
292
213
|
});
|
|
293
|
-
|
|
294
214
|
case 36:
|
|
295
215
|
_iteratorAbruptCompletion = false;
|
|
296
216
|
_context.next = 14;
|
|
297
217
|
break;
|
|
298
|
-
|
|
299
218
|
case 39:
|
|
300
219
|
_context.next = 45;
|
|
301
220
|
break;
|
|
302
|
-
|
|
303
221
|
case 41:
|
|
304
222
|
_context.prev = 41;
|
|
305
223
|
_context.t1 = _context["catch"](12);
|
|
306
224
|
_didIteratorError = true;
|
|
307
225
|
_iteratorError = _context.t1;
|
|
308
|
-
|
|
309
226
|
case 45:
|
|
310
227
|
_context.prev = 45;
|
|
311
228
|
_context.prev = 46;
|
|
312
|
-
|
|
313
229
|
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
|
|
314
230
|
_context.next = 50;
|
|
315
231
|
break;
|
|
316
232
|
}
|
|
317
|
-
|
|
318
233
|
_context.next = 50;
|
|
319
234
|
return _iterator["return"]();
|
|
320
|
-
|
|
321
235
|
case 50:
|
|
322
236
|
_context.prev = 50;
|
|
323
|
-
|
|
324
237
|
if (!_didIteratorError) {
|
|
325
238
|
_context.next = 53;
|
|
326
239
|
break;
|
|
327
240
|
}
|
|
328
|
-
|
|
329
241
|
throw _iteratorError;
|
|
330
|
-
|
|
331
242
|
case 53:
|
|
332
243
|
return _context.finish(50);
|
|
333
|
-
|
|
334
244
|
case 54:
|
|
335
245
|
return _context.finish(45);
|
|
336
|
-
|
|
337
246
|
case 55:
|
|
338
247
|
_i++;
|
|
339
248
|
_context.next = 7;
|
|
340
249
|
break;
|
|
341
|
-
|
|
342
250
|
case 58:
|
|
343
251
|
if (commitAndPush(amendementsDir, options, options.remote)) {
|
|
344
252
|
process.exit(2);
|
|
345
253
|
}
|
|
346
|
-
|
|
347
254
|
case 59:
|
|
348
255
|
case "end":
|
|
349
256
|
return _context.stop();
|
|
@@ -353,9 +260,8 @@ function _main() {
|
|
|
353
260
|
}));
|
|
354
261
|
return _main.apply(this, arguments);
|
|
355
262
|
}
|
|
356
|
-
|
|
357
263
|
main()["catch"](function (error) {
|
|
358
264
|
console.log(error);
|
|
359
265
|
process.exit(1);
|
|
360
266
|
});
|
|
361
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImhlbHAiLCJuYW1lIiwidHlwZSIsIlN0cmluZyIsIkJvb2xlYW4iLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwiY29tbWl0QW5kUHVzaCIsInJlcG9zaXRvcnlEaXIiLCJyZW1vdGVzIiwiZXJyb3IiLCJjb21taXQiLCJyZW1vdGUiLCJleGVjU3luYyIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwiY2hpbGRQcm9jZXNzIiwiY29uc29sZSIsIm91dHB1dCIsIm1haW4iLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJkYXRhRGlyIiwiYW1lbmRlbWVudHNEaXIiLCJwYXRoIiwiam9pbiIsImZzIiwiZW5zdXJlRGlyIiwiY2FjaGVEaXIiLCJldGF0IiwidXJsIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50RmlsZVBhdGgiLCJzbGljZSIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJleGlzdGluZ0FtZW5kZW1lbnQiLCJkZWVwRXF1YWwiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfcGVuZGluZ19hbWVuZG1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgY29tbWl0IH0gZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQgeyBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMgfSBmcm9tIFwiLi4vcGFyc2Vyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAge1xuICAgIGFsaWFzOiBcIkNcIixcbiAgICBoZWxwOiBcImNsb25lIHJlcG9zaXRvcmllcyBmcm9tIGdpdmVuIGdyb3VwIChvciBvcmdhbml6YXRpb24pIGdpdCBVUkxcIixcbiAgICBuYW1lOiBcImNsb25lXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IGNsZWFuIGZpbGVzXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiaVwiLFxuICAgIGhlbHA6IFwiaW5jcmVtZW50YWwgbW9kZTogcmV0cmlldmUgb25seSBhbWVuZG1lbnRzIHdob3NlIHBvc2l0aW9uIGluIHNlYXJjaCBoYXMgY2hhbmdlZFwiLFxuICAgIG5hbWU6IFwiaW5jcmVtZW50YWxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJyXCIsXG4gICAgaGVscDogXCJwdXNoIGNvbW1pdCB0byBnaXZlbiByZW1vdGVcIixcbiAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICBuYW1lOiBcInJlbW90ZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInNcIixcbiAgICBoZWxwOiBcImRvbid0IGxvZyBhbnl0aGluZ1wiLFxuICAgIG5hbWU6IFwic2lsZW50XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInZcIixcbiAgICBoZWxwOiBcInZlcmJvc2UgbG9nc1wiLFxuICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgIGhlbHA6IFwiZGlyZWN0b3J5IGNvbnRhaW5pbmcgQXNzZW1ibMOpZSBvcGVuIGRhdGEgZmlsZXNcIixcbiAgICBuYW1lOiBcImRhdGFEaXJcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuZnVuY3Rpb24gY29tbWl0QW5kUHVzaChcbiAgcmVwb3NpdG9yeURpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4gIHJlbW90ZXM/OiBzdHJpbmdbXSxcbik6IGJvb2xlYW4ge1xuICBsZXQgZXJyb3IgPSBmYWxzZVxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBjb21taXQocmVwb3NpdG9yeURpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIpXG4gICAgZm9yIChjb25zdCByZW1vdGUgb2YgcmVtb3RlcyB8fCBbXSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZXhlY1N5bmMoYGdpdCBwdXNoICR7cmVtb3RlfSBtYXN0ZXJgLCB7XG4gICAgICAgICAgY3dkOiByZXBvc2l0b3J5RGlyLFxuICAgICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICAgICAgfSlcbiAgICAgIH0gY2F0Y2ggKGNoaWxkUHJvY2Vzcykge1xuICAgICAgICAvLyBEb24ndCBzdG9wIHdoZW4gcHVzaCBmYWlscy5cbiAgICAgICAgY29uc29sZS5lcnJvcigoY2hpbGRQcm9jZXNzIGFzIGFueSkub3V0cHV0KVxuICAgICAgICBlcnJvciA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGVycm9yXG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGlmIChnaXRHcm91cFVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdEdyb3VwVXJsfS9BbWVuZGVtZW50c19lbl9hdHRlbnRlLmdpdGAsIHtcbiAgICAgIGN3ZDogb3B0aW9ucy5kYXRhRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgYW1lbmRlbWVudHNEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBcIkFtZW5kZW1lbnRzX2VuX2F0dGVudGVcIilcbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY29tbWl0QW5kUHVzaChhbWVuZGVtZW50c0Rpciwgb3B0aW9ucywgb3B0aW9ucy5yZW1vdGUpKSB7XG4gICAgcHJvY2Vzcy5leGl0KDIpXG4gIH1cbn1cblxubWFpbigpLmNhdGNoKChlcnJvcikgPT4ge1xuICBjb25zb2xlLmxvZyhlcnJvcilcbiAgcHJvY2Vzcy5leGl0KDEpXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7OzsrQ0FOQSxvSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxJQUFNQSxrQkFBa0IsR0FBRyxDQUN6QjtFQUNFQyxLQUFLLEVBQUUsR0FEVDtFQUVFQyxJQUFJLEVBQUUsK0RBRlI7RUFHRUMsSUFBSSxFQUFFLE9BSFI7RUFJRUMsSUFBSSxFQUFFQztBQUpSLENBRHlCLEVBT3pCO0VBQ0VKLEtBQUssRUFBRSxHQURUO0VBRUVDLElBQUksRUFBRSxvQkFGUjtFQUdFQyxJQUFJLEVBQUUsUUFIUjtFQUlFQyxJQUFJLEVBQUVFO0FBSlIsQ0FQeUIsRUFhekI7RUFDRUwsS0FBSyxFQUFFLEdBRFQ7RUFFRUMsSUFBSSxFQUFFLGlGQUZSO0VBR0VDLElBQUksRUFBRSxhQUhSO0VBSUVD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
|
|
267
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImhlbHAiLCJuYW1lIiwidHlwZSIsIlN0cmluZyIsIkJvb2xlYW4iLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwiY29tbWl0QW5kUHVzaCIsInJlcG9zaXRvcnlEaXIiLCJyZW1vdGVzIiwiZXJyb3IiLCJjb21taXQiLCJyZW1vdGUiLCJleGVjU3luYyIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwiY2hpbGRQcm9jZXNzIiwiY29uc29sZSIsIm91dHB1dCIsIm1haW4iLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJkYXRhRGlyIiwiYW1lbmRlbWVudHNEaXIiLCJwYXRoIiwiam9pbiIsImZzIiwiZW5zdXJlRGlyIiwiY2FjaGVEaXIiLCJldGF0IiwidXJsIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50RmlsZVBhdGgiLCJzbGljZSIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJleGlzdGluZ0FtZW5kZW1lbnQiLCJkZWVwRXF1YWwiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfcGVuZGluZ19hbWVuZG1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgY29tbWl0IH0gZnJvbSBcIi4uL2dpdFwiXG5pbXBvcnQgeyBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMgfSBmcm9tIFwiLi4vcGFyc2Vyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAge1xuICAgIGFsaWFzOiBcIkNcIixcbiAgICBoZWxwOiBcImNsb25lIHJlcG9zaXRvcmllcyBmcm9tIGdpdmVuIGdyb3VwIChvciBvcmdhbml6YXRpb24pIGdpdCBVUkxcIixcbiAgICBuYW1lOiBcImNsb25lXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IGNsZWFuIGZpbGVzXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiaVwiLFxuICAgIGhlbHA6IFwiaW5jcmVtZW50YWwgbW9kZTogcmV0cmlldmUgb25seSBhbWVuZG1lbnRzIHdob3NlIHBvc2l0aW9uIGluIHNlYXJjaCBoYXMgY2hhbmdlZFwiLFxuICAgIG5hbWU6IFwiaW5jcmVtZW50YWxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJyXCIsXG4gICAgaGVscDogXCJwdXNoIGNvbW1pdCB0byBnaXZlbiByZW1vdGVcIixcbiAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICBuYW1lOiBcInJlbW90ZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInNcIixcbiAgICBoZWxwOiBcImRvbid0IGxvZyBhbnl0aGluZ1wiLFxuICAgIG5hbWU6IFwic2lsZW50XCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInZcIixcbiAgICBoZWxwOiBcInZlcmJvc2UgbG9nc1wiLFxuICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgIGhlbHA6IFwiZGlyZWN0b3J5IGNvbnRhaW5pbmcgQXNzZW1ibMOpZSBvcGVuIGRhdGEgZmlsZXNcIixcbiAgICBuYW1lOiBcImRhdGFEaXJcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcblxuZnVuY3Rpb24gY29tbWl0QW5kUHVzaChcbiAgcmVwb3NpdG9yeURpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4gIHJlbW90ZXM/OiBzdHJpbmdbXSxcbik6IGJvb2xlYW4ge1xuICBsZXQgZXJyb3IgPSBmYWxzZVxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICBjb21taXQocmVwb3NpdG9yeURpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIpXG4gICAgZm9yIChjb25zdCByZW1vdGUgb2YgcmVtb3RlcyB8fCBbXSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZXhlY1N5bmMoYGdpdCBwdXNoICR7cmVtb3RlfSBtYXN0ZXJgLCB7XG4gICAgICAgICAgY3dkOiByZXBvc2l0b3J5RGlyLFxuICAgICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICAgICAgfSlcbiAgICAgIH0gY2F0Y2ggKGNoaWxkUHJvY2Vzcykge1xuICAgICAgICAvLyBEb24ndCBzdG9wIHdoZW4gcHVzaCBmYWlscy5cbiAgICAgICAgY29uc29sZS5lcnJvcigoY2hpbGRQcm9jZXNzIGFzIGFueSkub3V0cHV0KVxuICAgICAgICBlcnJvciA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGVycm9yXG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGlmIChnaXRHcm91cFVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdEdyb3VwVXJsfS9BbWVuZGVtZW50c19lbl9hdHRlbnRlLmdpdGAsIHtcbiAgICAgIGN3ZDogb3B0aW9ucy5kYXRhRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgYW1lbmRlbWVudHNEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBcIkFtZW5kZW1lbnRzX2VuX2F0dGVudGVcIilcbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY29tbWl0QW5kUHVzaChhbWVuZGVtZW50c0Rpciwgb3B0aW9ucywgb3B0aW9ucy5yZW1vdGUpKSB7XG4gICAgcHJvY2Vzcy5leGl0KDIpXG4gIH1cbn1cblxubWFpbigpLmNhdGNoKChlcnJvcikgPT4ge1xuICBjb25zb2xlLmxvZyhlcnJvcilcbiAgcHJvY2Vzcy5leGl0KDEpXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBd0Q7QUFBQSwrQ0FOeEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxJQUFNQSxrQkFBa0IsR0FBRyxDQUN6QjtFQUNFQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsK0RBQStEO0VBQ3JFQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUVDO0FBQ1IsQ0FBQyxFQUNEO0VBQ0VKLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxvQkFBb0I7RUFDMUJDLElBQUksRUFBRSxRQUFRO0VBQ2RDLElBQUksRUFBRUU7QUFDUixDQUFDLEVBQ0Q7RUFDRUwsS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLGlGQUFpRjtFQUN2RkMsSUFB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
|
|
@@ -48,13 +48,10 @@ const optionsDefinitions = [{
|
|
|
48
48
|
type: String
|
|
49
49
|
}];
|
|
50
50
|
const options = commandLineArgs(optionsDefinitions);
|
|
51
|
-
|
|
52
51
|
function commitAndPush(repositoryDir, options, remotes) {
|
|
53
52
|
let error = false;
|
|
54
|
-
|
|
55
53
|
if (options.commit) {
|
|
56
54
|
commit(repositoryDir, "Nouvelle moisson");
|
|
57
|
-
|
|
58
55
|
for (const remote of remotes || []) {
|
|
59
56
|
try {
|
|
60
57
|
execSync(`git push ${remote} master`, {
|
|
@@ -70,13 +67,10 @@ function commitAndPush(repositoryDir, options, remotes) {
|
|
|
70
67
|
}
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
|
-
|
|
74
70
|
return error;
|
|
75
71
|
}
|
|
76
|
-
|
|
77
72
|
async function main() {
|
|
78
73
|
const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
79
|
-
|
|
80
74
|
if (gitGroupUrl !== undefined) {
|
|
81
75
|
execSync(`git clone ${gitGroupUrl}/Amendements_en_attente.git`, {
|
|
82
76
|
cwd: options.dataDir,
|
|
@@ -85,14 +79,11 @@ async function main() {
|
|
|
85
79
|
stdio: ["ignore", "ignore", "pipe"]
|
|
86
80
|
});
|
|
87
81
|
}
|
|
88
|
-
|
|
89
82
|
const amendementsDir = path.join(options.dataDir, "Amendements_en_attente");
|
|
90
83
|
await fs.ensureDir(amendementsDir);
|
|
91
84
|
const cacheDir = path.join(options.dataDir, "Amendements_en_attente_cache");
|
|
92
|
-
|
|
93
85
|
for (const etat of ["En recevabilité", "En traitement"]) {
|
|
94
86
|
const url = `https://www.assemblee-nationale.fr/dyn/${options.legislature}/amendements?etat=${encodeURIComponent(etat)}`;
|
|
95
|
-
|
|
96
87
|
for await (const [amendementUrlPath, amendement] of iterRechercheRawAmendements(cacheDir, url, options.incremental, null, null, {
|
|
97
88
|
silent: options.silent,
|
|
98
89
|
verbose: options.verbose
|
|
@@ -101,7 +92,6 @@ async function main() {
|
|
|
101
92
|
const amendementFilePath = path.join(amendementsDir, ...amendementUrlPathSplitted.slice(2)) + ".json";
|
|
102
93
|
await fs.ensureDir(path.dirname(amendementFilePath));
|
|
103
94
|
const existingAmendement = (await fs.pathExists(amendementFilePath)) ? await fs.readJson(amendementFilePath) : null;
|
|
104
|
-
|
|
105
95
|
if (!deepEqual(amendement, existingAmendement)) {
|
|
106
96
|
if (!options.silent) {
|
|
107
97
|
if (existingAmendement === null) {
|
|
@@ -110,21 +100,18 @@ async function main() {
|
|
|
110
100
|
console.log(`Updating amendement JSON: ${amendementFilePath}…`);
|
|
111
101
|
}
|
|
112
102
|
}
|
|
113
|
-
|
|
114
103
|
await fs.writeJson(amendementFilePath, amendement, {
|
|
115
104
|
spaces: 2
|
|
116
105
|
});
|
|
117
106
|
}
|
|
118
107
|
}
|
|
119
108
|
}
|
|
120
|
-
|
|
121
109
|
if (commitAndPush(amendementsDir, options, options.remote)) {
|
|
122
110
|
process.exit(2);
|
|
123
111
|
}
|
|
124
112
|
}
|
|
125
|
-
|
|
126
113
|
main().catch(error => {
|
|
127
114
|
console.log(error);
|
|
128
115
|
process.exit(1);
|
|
129
116
|
});
|
|
130
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImRlZXBFcXVhbCIsImZzIiwicGF0aCIsImNvbW1pdCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIm5hbWUiLCJ0eXBlIiwiU3RyaW5nIiwiQm9vbGVhbiIsImRlZmF1bHRWYWx1ZSIsIm11bHRpcGxlIiwiZGVmYXVsdE9wdGlvbiIsIm9wdGlvbnMiLCJjb21taXRBbmRQdXNoIiwicmVwb3NpdG9yeURpciIsInJlbW90ZXMiLCJlcnJvciIsInJlbW90ZSIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwiY2hpbGRQcm9jZXNzIiwiY29uc29sZSIsIm91dHB1dCIsIm1haW4iLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJkYXRhRGlyIiwiYW1lbmRlbWVudHNEaXIiLCJqb2luIiwiZW5zdXJlRGlyIiwiY2FjaGVEaXIiLCJldGF0IiwidXJsIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50RmlsZVBhdGgiLCJzbGljZSIsImRpcm5hbWUiLCJleGlzdGluZ0FtZW5kZW1lbnQiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9wZW5kaW5nX2FtZW5kbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gXCJkZWVwLWVxdWFsXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBjb21taXQgfSBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiQ1wiLFxuICAgIGhlbHA6IFwiY2xvbmUgcmVwb3NpdG9yaWVzIGZyb20gZ2l2ZW4gZ3JvdXAgKG9yIG9yZ2FuaXphdGlvbikgZ2l0IFVSTFwiLFxuICAgIG5hbWU6IFwiY2xvbmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJjXCIsXG4gICAgaGVscDogXCJjb21taXQgY2xlYW4gZmlsZXNcIixcbiAgICBuYW1lOiBcImNvbW1pdFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJpXCIsXG4gICAgaGVscDogXCJpbmNyZW1lbnRhbCBtb2RlOiByZXRyaWV2ZSBvbmx5IGFtZW5kbWVudHMgd2hvc2UgcG9zaXRpb24gaW4gc2VhcmNoIGhhcyBjaGFuZ2VkXCIsXG4gICAgbmFtZTogXCJpbmNyZW1lbnRhbFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJsXCIsXG4gICAgZGVmYXVsdFZhbHVlOiBcIjE2XCIsXG4gICAgbmFtZTogXCJsZWdpc2xhdHVyZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInJcIixcbiAgICBoZWxwOiBcInB1c2ggY29tbWl0IHRvIGdpdmVuIHJlbW90ZVwiLFxuICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIG5hbWU6IFwicmVtb3RlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwic1wiLFxuICAgIGhlbHA6IFwiZG9uJ3QgbG9nIGFueXRoaW5nXCIsXG4gICAgbmFtZTogXCJzaWxlbnRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwidlwiLFxuICAgIGhlbHA6IFwidmVyYm9zZSBsb2dzXCIsXG4gICAgbmFtZTogXCJ2ZXJib3NlXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgaGVscDogXCJkaXJlY3RvcnkgY29udGFpbmluZyBBc3NlbWJsw6llIG9wZW4gZGF0YSBmaWxlc1wiLFxuICAgIG5hbWU6IFwiZGF0YURpclwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5mdW5jdGlvbiBjb21taXRBbmRQdXNoKFxuICByZXBvc2l0b3J5RGlyOiBzdHJpbmcsXG4gIG9wdGlvbnM6IGFueSxcbiAgcmVtb3Rlcz86IHN0cmluZ1tdLFxuKTogYm9vbGVhbiB7XG4gIGxldCBlcnJvciA9IGZhbHNlXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIGNvbW1pdChyZXBvc2l0b3J5RGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIilcbiAgICBmb3IgKGNvbnN0IHJlbW90ZSBvZiByZW1vdGVzIHx8IFtdKSB7XG4gICAgICB0cnkge1xuICAgICAgICBleGVjU3luYyhgZ2l0IHB1c2ggJHtyZW1vdGV9IG1hc3RlcmAsIHtcbiAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlEaXIsXG4gICAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoY2hpbGRQcm9jZXNzKSB7XG4gICAgICAgIC8vIERvbid0IHN0b3Agd2hlbiBwdXNoIGZhaWxzLlxuICAgICAgICBjb25zb2xlLmVycm9yKChjaGlsZFByb2Nlc3MgYXMgYW55KS5vdXRwdXQpXG4gICAgICAgIGVycm9yID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZXJyb3Jcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9L0FtZW5kZW1lbnRzX2VuX2F0dGVudGUuZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBhbWVuZGVtZW50c0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiKVxuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNEaXIpXG4gIGNvbnN0IGNhY2hlRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlX2NhY2hlXCIpXG4gIGZvciAoY29uc3QgZXRhdCBvZiBbXCJFbiByZWNldmFiaWxpdMOpXCIsIFwiRW4gdHJhaXRlbWVudFwiXSkge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL2R5bi8ke1xuICAgICAgb3B0aW9ucy5sZWdpc2xhdHVyZVxuICAgIH0vYW1lbmRlbWVudHM/ZXRhdD0ke2VuY29kZVVSSUNvbXBvbmVudChldGF0KX1gXG4gICAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICAgIGFtZW5kZW1lbnQsXG4gICAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgICBjYWNoZURpcixcbiAgICAgIHVybCxcbiAgICAgIG9wdGlvbnMuaW5jcmVtZW50YWwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIHsgc2lsZW50OiBvcHRpb25zLnNpbGVudCwgdmVyYm9zZTogb3B0aW9ucy52ZXJib3NlIH0sXG4gICAgKSkge1xuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCA9IGFtZW5kZW1lbnRVcmxQYXRoIS5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihhbWVuZGVtZW50c0RpciwgLi4uYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZC5zbGljZSgyKSkgK1xuICAgICAgICBcIi5qc29uXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudEZpbGVQYXRoKSlcbiAgICAgIGNvbnN0IGV4aXN0aW5nQW1lbmRlbWVudCA9IChhd2FpdCBmcy5wYXRoRXhpc3RzKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICAgID8gYXdhaXQgZnMucmVhZEpzb24oYW1lbmRlbWVudEZpbGVQYXRoKVxuICAgICAgICA6IG51bGxcbiAgICAgIGlmICghZGVlcEVxdWFsKGFtZW5kZW1lbnQsIGV4aXN0aW5nQW1lbmRlbWVudCkpIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBBZGRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVXBkYXRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBmcy53cml0ZUpzb24oYW1lbmRlbWVudEZpbGVQYXRoLCBhbWVuZGVtZW50LCB7IHNwYWNlczogMiB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChjb21taXRBbmRQdXNoKGFtZW5kZW1lbnRzRGlyLCBvcHRpb25zLCBvcHRpb25zLnJlbW90ZSkpIHtcbiAgICBwcm9jZXNzLmV4aXQoMilcbiAgfVxufVxuXG5tYWluKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUubG9nKGVycm9yKVxuICBwcm9jZXNzLmV4aXQoMSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVQsUUFBeUIsZUFBekI7QUFDQSxPQUFPQyxlQUFQLE1BQTRCLG1CQUE1QjtBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxPQUFPQyxFQUFQLE1BQWUsVUFBZjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsTUFBakI7U0FFU0MsTTtTQUNBQywyQjtBQUVULE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCO0VBQ0VDLEtBQUssRUFBRSxHQURUO0VBRUVDLElBQUksRUFBRSwrREFGUjtFQUdFQyxJQUFJLEVBQUUsT0FIUjtFQUlFQyxJQUFJLEVBQUVDO0FBSlIsQ0FEeUIsRUFPekI7RUFDRUosS0FBSyxFQUFFLEdBRFQ7RUFFRUMsSUFBSSxFQUFFLG9CQUZSO0VBR0VDLElBQUksRUFBRSxRQUhSO0VBSUVDLElBQUksRUFBRUU7QUFKUixDQVB5QixFQWF6QjtFQUNFTCxLQUFLLEVBQUUsR0FEVDtFQUVFQyxJQUFJLEVBQUUsaUZBRlI7RUFHRUMs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
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImRlZXBFcXVhbCIsImZzIiwicGF0aCIsImNvbW1pdCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIm5hbWUiLCJ0eXBlIiwiU3RyaW5nIiwiQm9vbGVhbiIsImRlZmF1bHRWYWx1ZSIsIm11bHRpcGxlIiwiZGVmYXVsdE9wdGlvbiIsIm9wdGlvbnMiLCJjb21taXRBbmRQdXNoIiwicmVwb3NpdG9yeURpciIsInJlbW90ZXMiLCJlcnJvciIsInJlbW90ZSIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwiY2hpbGRQcm9jZXNzIiwiY29uc29sZSIsIm91dHB1dCIsIm1haW4iLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJkYXRhRGlyIiwiYW1lbmRlbWVudHNEaXIiLCJqb2luIiwiZW5zdXJlRGlyIiwiY2FjaGVEaXIiLCJldGF0IiwidXJsIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50RmlsZVBhdGgiLCJzbGljZSIsImRpcm5hbWUiLCJleGlzdGluZ0FtZW5kZW1lbnQiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9wZW5kaW5nX2FtZW5kbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gXCJkZWVwLWVxdWFsXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBjb21taXQgfSBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiQ1wiLFxuICAgIGhlbHA6IFwiY2xvbmUgcmVwb3NpdG9yaWVzIGZyb20gZ2l2ZW4gZ3JvdXAgKG9yIG9yZ2FuaXphdGlvbikgZ2l0IFVSTFwiLFxuICAgIG5hbWU6IFwiY2xvbmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJjXCIsXG4gICAgaGVscDogXCJjb21taXQgY2xlYW4gZmlsZXNcIixcbiAgICBuYW1lOiBcImNvbW1pdFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJpXCIsXG4gICAgaGVscDogXCJpbmNyZW1lbnRhbCBtb2RlOiByZXRyaWV2ZSBvbmx5IGFtZW5kbWVudHMgd2hvc2UgcG9zaXRpb24gaW4gc2VhcmNoIGhhcyBjaGFuZ2VkXCIsXG4gICAgbmFtZTogXCJpbmNyZW1lbnRhbFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJsXCIsXG4gICAgZGVmYXVsdFZhbHVlOiBcIjE2XCIsXG4gICAgbmFtZTogXCJsZWdpc2xhdHVyZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcInJcIixcbiAgICBoZWxwOiBcInB1c2ggY29tbWl0IHRvIGdpdmVuIHJlbW90ZVwiLFxuICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIG5hbWU6IFwicmVtb3RlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwic1wiLFxuICAgIGhlbHA6IFwiZG9uJ3QgbG9nIGFueXRoaW5nXCIsXG4gICAgbmFtZTogXCJzaWxlbnRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwidlwiLFxuICAgIGhlbHA6IFwidmVyYm9zZSBsb2dzXCIsXG4gICAgbmFtZTogXCJ2ZXJib3NlXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgaGVscDogXCJkaXJlY3RvcnkgY29udGFpbmluZyBBc3NlbWJsw6llIG9wZW4gZGF0YSBmaWxlc1wiLFxuICAgIG5hbWU6IFwiZGF0YURpclwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5mdW5jdGlvbiBjb21taXRBbmRQdXNoKFxuICByZXBvc2l0b3J5RGlyOiBzdHJpbmcsXG4gIG9wdGlvbnM6IGFueSxcbiAgcmVtb3Rlcz86IHN0cmluZ1tdLFxuKTogYm9vbGVhbiB7XG4gIGxldCBlcnJvciA9IGZhbHNlXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIGNvbW1pdChyZXBvc2l0b3J5RGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIilcbiAgICBmb3IgKGNvbnN0IHJlbW90ZSBvZiByZW1vdGVzIHx8IFtdKSB7XG4gICAgICB0cnkge1xuICAgICAgICBleGVjU3luYyhgZ2l0IHB1c2ggJHtyZW1vdGV9IG1hc3RlcmAsIHtcbiAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlEaXIsXG4gICAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoY2hpbGRQcm9jZXNzKSB7XG4gICAgICAgIC8vIERvbid0IHN0b3Agd2hlbiBwdXNoIGZhaWxzLlxuICAgICAgICBjb25zb2xlLmVycm9yKChjaGlsZFByb2Nlc3MgYXMgYW55KS5vdXRwdXQpXG4gICAgICAgIGVycm9yID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZXJyb3Jcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9L0FtZW5kZW1lbnRzX2VuX2F0dGVudGUuZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBhbWVuZGVtZW50c0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiKVxuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNEaXIpXG4gIGNvbnN0IGNhY2hlRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlX2NhY2hlXCIpXG4gIGZvciAoY29uc3QgZXRhdCBvZiBbXCJFbiByZWNldmFiaWxpdMOpXCIsIFwiRW4gdHJhaXRlbWVudFwiXSkge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL2R5bi8ke1xuICAgICAgb3B0aW9ucy5sZWdpc2xhdHVyZVxuICAgIH0vYW1lbmRlbWVudHM/ZXRhdD0ke2VuY29kZVVSSUNvbXBvbmVudChldGF0KX1gXG4gICAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICAgIGFtZW5kZW1lbnQsXG4gICAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgICBjYWNoZURpcixcbiAgICAgIHVybCxcbiAgICAgIG9wdGlvbnMuaW5jcmVtZW50YWwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIHsgc2lsZW50OiBvcHRpb25zLnNpbGVudCwgdmVyYm9zZTogb3B0aW9ucy52ZXJib3NlIH0sXG4gICAgKSkge1xuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCA9IGFtZW5kZW1lbnRVcmxQYXRoIS5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihhbWVuZGVtZW50c0RpciwgLi4uYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZC5zbGljZSgyKSkgK1xuICAgICAgICBcIi5qc29uXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudEZpbGVQYXRoKSlcbiAgICAgIGNvbnN0IGV4aXN0aW5nQW1lbmRlbWVudCA9IChhd2FpdCBmcy5wYXRoRXhpc3RzKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICAgID8gYXdhaXQgZnMucmVhZEpzb24oYW1lbmRlbWVudEZpbGVQYXRoKVxuICAgICAgICA6IG51bGxcbiAgICAgIGlmICghZGVlcEVxdWFsKGFtZW5kZW1lbnQsIGV4aXN0aW5nQW1lbmRlbWVudCkpIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBBZGRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVXBkYXRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBmcy53cml0ZUpzb24oYW1lbmRlbWVudEZpbGVQYXRoLCBhbWVuZGVtZW50LCB7IHNwYWNlczogMiB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChjb21taXRBbmRQdXNoKGFtZW5kZW1lbnRzRGlyLCBvcHRpb25zLCBvcHRpb25zLnJlbW90ZSkpIHtcbiAgICBwcm9jZXNzLmV4aXQoMilcbiAgfVxufVxuXG5tYWluKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUubG9nKGVycm9yKVxuICBwcm9jZXNzLmV4aXQoMSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSxlQUFlO0FBQ3hDLE9BQU9DLGVBQWUsTUFBTSxtQkFBbUI7QUFDL0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsRUFBRSxNQUFNLFVBQVU7QUFDekIsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFBQSxTQUVkQyxNQUFNO0FBQUEsU0FDTkMsMkJBQTJCO0FBRXBDLE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCO0VBQ0VDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSwrREFBK0Q7RUFDckVDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRUM7QUFDUixDQUFDLEVBQ0Q7RUFDRUosS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLG9CQUFvQjtFQUMxQkMsSUFBSSxFQUFFLFFBQVE7RUFDZEMsSUFBSSxFQUFFRTtBQUNSLENBQUMsRUFDRDtFQUNFTCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVB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
|