499 lines
68 KiB
JavaScript
499 lines
68 KiB
JavaScript
(self["webpackChunk"] = self["webpackChunk"] || []).push([["app"],{
|
|
|
|
/***/ "./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$":
|
|
/*!****************************************************************************************************************!*\
|
|
!*** ./assets/controllers/ sync ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \.[jt]sx?$ ***!
|
|
\****************************************************************************************************************/
|
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
var map = {
|
|
"./hello_controller.js": "./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js"
|
|
};
|
|
|
|
|
|
function webpackContext(req) {
|
|
var id = webpackContextResolve(req);
|
|
return __webpack_require__(id);
|
|
}
|
|
function webpackContextResolve(req) {
|
|
if(!__webpack_require__.o(map, req)) {
|
|
var e = new Error("Cannot find module '" + req + "'");
|
|
e.code = 'MODULE_NOT_FOUND';
|
|
throw e;
|
|
}
|
|
return map[req];
|
|
}
|
|
webpackContext.keys = function webpackContextKeys() {
|
|
return Object.keys(map);
|
|
};
|
|
webpackContext.resolve = webpackContextResolve;
|
|
module.exports = webpackContext;
|
|
webpackContext.id = "./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$";
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@symfony/stimulus-bridge/dist/webpack/loader.js!./assets/controllers.json":
|
|
/*!************************************************************************************************!*\
|
|
!*** ./node_modules/@symfony/stimulus-bridge/dist/webpack/loader.js!./assets/controllers.json ***!
|
|
\************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
/* harmony export */ });
|
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js":
|
|
/*!******************************************************************************************************************!*\
|
|
!*** ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js ***!
|
|
\******************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "default": () => (/* binding */ _default)
|
|
/* harmony export */ });
|
|
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ "./node_modules/core-js/modules/es.object.set-prototype-of.js");
|
|
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.bind.js */ "./node_modules/core-js/modules/es.function.bind.js");
|
|
/* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
|
|
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
|
|
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
/* harmony import */ var core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.reflect.to-string-tag.js */ "./node_modules/core-js/modules/es.reflect.to-string-tag.js");
|
|
/* harmony import */ var core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
|
|
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5__);
|
|
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "./node_modules/core-js/modules/es.error.cause.js");
|
|
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__);
|
|
/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ "./node_modules/core-js/modules/es.error.to-string.js");
|
|
/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7__);
|
|
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ "./node_modules/core-js/modules/es.object.create.js");
|
|
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8__);
|
|
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
|
|
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9__);
|
|
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
|
|
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10__);
|
|
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
|
|
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11__);
|
|
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
|
|
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
|
|
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
|
|
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__);
|
|
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
|
|
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__);
|
|
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
|
|
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
|
|
/* harmony import */ var _hotwired_stimulus__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @hotwired/stimulus */ "./node_modules/@hotwired/stimulus/dist/stimulus.js");
|
|
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); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
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, descriptor.key, descriptor); } }
|
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
|
|
|
|
/*
|
|
* This is an example Stimulus controller!
|
|
*
|
|
* Any element with a data-controller="hello" attribute will cause
|
|
* this controller to be executed. The name "hello" comes from the filename:
|
|
* hello_controller.js -> "hello"
|
|
*
|
|
* Delete this file or adapt it for your use!
|
|
*/
|
|
var _default = /*#__PURE__*/function (_Controller) {
|
|
_inherits(_default, _Controller);
|
|
var _super = _createSuper(_default);
|
|
function _default() {
|
|
_classCallCheck(this, _default);
|
|
return _super.apply(this, arguments);
|
|
}
|
|
_createClass(_default, [{
|
|
key: "connect",
|
|
value: function connect() {
|
|
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
|
}
|
|
}]);
|
|
return _default;
|
|
}(_hotwired_stimulus__WEBPACK_IMPORTED_MODULE_16__.Controller);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./assets/app.js":
|
|
/*!***********************!*\
|
|
!*** ./assets/app.js ***!
|
|
\***********************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js");
|
|
/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
|
|
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
|
|
/* harmony import */ var _js_getCodeBarre__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/getCodeBarre */ "./assets/js/getCodeBarre.js");
|
|
/* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bootstrap */ "./assets/bootstrap.js");
|
|
/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
|
|
|
|
/*
|
|
* Welcome to your app's main JavaScript file!
|
|
*
|
|
* We recommend including the built version of this JavaScript file
|
|
* (and its CSS file) in your base layout (base.html.twig).
|
|
*/
|
|
|
|
// any CSS you import will output into a single css file (app.css in this case)
|
|
|
|
// start the Stimulus application
|
|
|
|
|
|
$(document).ready(function () {
|
|
setTimeout(function () {
|
|
// utils.init();
|
|
_js_getCodeBarre__WEBPACK_IMPORTED_MODULE_2__["default"].init();
|
|
}, 200);
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./assets/bootstrap.js":
|
|
/*!*****************************!*\
|
|
!*** ./assets/bootstrap.js ***!
|
|
\*****************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "app": () => (/* binding */ app)
|
|
/* harmony export */ });
|
|
/* harmony import */ var _symfony_stimulus_bridge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @symfony/stimulus-bridge */ "./node_modules/@symfony/stimulus-bridge/dist/index.js");
|
|
|
|
|
|
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
|
|
var app = (0,_symfony_stimulus_bridge__WEBPACK_IMPORTED_MODULE_0__.startStimulusApp)(__webpack_require__("./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$"));
|
|
|
|
// register any custom, 3rd party controllers here
|
|
// app.register('some_controller_name', SomeImportedController);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./assets/js/getCodeBarre.js":
|
|
/*!***********************************!*\
|
|
!*** ./assets/js/getCodeBarre.js ***!
|
|
\***********************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "default": () => (/* binding */ GetEvent)
|
|
/* harmony export */ });
|
|
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
|
|
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js");
|
|
/* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
|
|
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "./node_modules/core-js/modules/es.error.cause.js");
|
|
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ "./node_modules/core-js/modules/es.error.to-string.js");
|
|
/* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
|
|
|
|
|
|
|
|
|
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
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, descriptor.key, descriptor); } }
|
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
var GetEvent = /*#__PURE__*/function () {
|
|
function GetEvent() {
|
|
_classCallCheck(this, GetEvent);
|
|
}
|
|
_createClass(GetEvent, null, [{
|
|
key: "init",
|
|
value: function init() {
|
|
this.getEvent();
|
|
}
|
|
}, {
|
|
key: "getEvent",
|
|
value: function getEvent() {
|
|
var saisie = $('#saisie');
|
|
saisie.focus();
|
|
var value;
|
|
var $info = $('.info');
|
|
var $infoDon = $('#info-don');
|
|
var $infoDonneur = $('#info-donneur');
|
|
var $infoPsl = $('#info-psl');
|
|
var $don = $('#don');
|
|
var $nom = $('#nom');
|
|
var $prenom = $('#prenom');
|
|
var $naissance = $('#naissance');
|
|
var $typeDon = $('#typeDon');
|
|
var $typePoche = $('#typePoche');
|
|
var $nbreTube = $('#nbreTube');
|
|
var $step = $('#step');
|
|
var $indication = $('#indication');
|
|
var $evolution = $('#evolution');
|
|
var $label = $('#label');
|
|
var $type = $('#type');
|
|
var $current = $('#current');
|
|
var $todo = $('#todo');
|
|
var $picturePoche = $('#picturePoche');
|
|
var $pictureTube = $('#pictureTube');
|
|
var $input = $('#inputRange');
|
|
var $displayError = $('.error');
|
|
var $displaySuccess = $('.displaySuccess');
|
|
document.addEventListener('keydown', function (event) {
|
|
saisie.focus();
|
|
if (event.code == 'Tab') {
|
|
value = saisie.val();
|
|
saisie.val('');
|
|
$.ajax({
|
|
url: '/api/get-code-barre-type',
|
|
method: "POST",
|
|
dataType: "json",
|
|
data: {
|
|
'codeBarre': value
|
|
},
|
|
success: function success(response) {
|
|
console.log(response.data);
|
|
switch (response.data.step) {
|
|
case '0':
|
|
if (response.data.status == 'success') {
|
|
$don.html(response.data.codeBarre);
|
|
$nom.html(response.data.nom);
|
|
$prenom.html(response.data.prenom);
|
|
$naissance.html(new Date(response.data.birthdate).toLocaleDateString());
|
|
$typeDon.html(response.data.type_don);
|
|
$nbreTube.html(response.data.nbre_tube);
|
|
$step.html('Pour passer à la suite');
|
|
$indication.html('Scannez le DMU');
|
|
$pictureTube.css('display', 'none');
|
|
$picturePoche.css('display', 'flex');
|
|
$info.css('visibility', 'visible');
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'init') {
|
|
$don.html(response.data.codeBarre);
|
|
$nom.html(response.data.nom);
|
|
$prenom.html(response.data.prenom);
|
|
$naissance.html(new Date(response.data.birthdate).toLocaleDateString());
|
|
$typeDon.html(response.data.type_don);
|
|
$nbreTube.html(response.data.nbre_tube);
|
|
$step.html('Pour passer à la suite');
|
|
$indication.html('Scannez le DMU');
|
|
$typePoche.html('');
|
|
$info.css('visibility', 'visible');
|
|
$evolution.css('visibility', 'hidden');
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error') {
|
|
saisie.focus();
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
}
|
|
break;
|
|
case '1':
|
|
if (response.data.status == 'success') {
|
|
$typePoche.html(response.data.nbre_poche);
|
|
$step.html('ETAPE 1 / 2');
|
|
$indication.html('Scannez les étiquettes des poches');
|
|
saisie.focus();
|
|
$evolution.css('visibility', 'visible');
|
|
}
|
|
if (response.data.status == 'error_donneur') {
|
|
$displayError.html('erreur donneur');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_doublon') {
|
|
$displayError.html('erreur doublon');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
case '2':
|
|
if (response.data.status == 'success') {
|
|
$typePoche.html(response.data.nbre_poche);
|
|
console.log(response.data.nbre_poche);
|
|
$current.html(response.data.nbre_poche);
|
|
$type.html('Poches');
|
|
$todo.html(response.data.nbre_poche_max);
|
|
$input.attr('max', response.data.nbre_poche_max);
|
|
$input.attr('value', response.data.nbre_poche);
|
|
if (response.data.nbre_poche != response.data.nbre_poche_max) {
|
|
$picturePoche.append('<div class="sang"><img src="/poches/Poche_sang.png"></div>');
|
|
}
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'final') {
|
|
$typePoche.html(response.data.nbre_poche);
|
|
console.log(response.data.nbre_poche);
|
|
$current.html(response.data.nbre_poche);
|
|
$input.attr('max', response.data.nbre_poche_max);
|
|
$input.attr('value', response.data.nbre_poche);
|
|
console.log('valider avec un scan de poche!');
|
|
$indication.html('valider avec un scan de poche!');
|
|
$picturePoche.append('<div class="sang"><img src="/poches/Poche_sang.png"></div>');
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_scan') {
|
|
$displayError.html("Mauvais type d'étiquette");
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_doublon') {
|
|
$displayError.html('Etiquette déjà scannée');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_donneur') {
|
|
$displayError.html('Ne correspond pas au donneur');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
break;
|
|
case '3':
|
|
if (response.data.status == "success") {
|
|
$picturePoche.css('display', 'none');
|
|
$pictureTube.css('display', 'flex');
|
|
console.log('valider avec un scan de poche!');
|
|
$indication.html('Scannez les étiquettes de tubes!');
|
|
$input.attr('max', response.data.nbre_tube_max);
|
|
$todo.html(response.data.nbre_tube_max);
|
|
$input.attr('value', response.data.nbre_tube_max);
|
|
$current.html(response.data.nbre_tube_max);
|
|
$type.html('Tubes');
|
|
console.log("on passe aux tubes");
|
|
}
|
|
if (response.data.status == "error_scan") {
|
|
$displayError.html("Mauvais type d'étiquette");
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
}
|
|
break;
|
|
case '4':
|
|
if (response.data.status == 'success') {
|
|
$step.html('ETAPE 2 / 2');
|
|
$nbreTube.html(response.data.nbre_tube);
|
|
$current.html(response.data.nbre_tube);
|
|
$input.attr('max', response.data.nbre_tube_max);
|
|
$type.html('Tubes');
|
|
$todo.html(response.data.nbre_tube_max);
|
|
$input.attr('value', response.data.nbre_tube);
|
|
$pictureTube.append('<div class="sang"><img src="/tubes/Tube1.png"></div>');
|
|
saisie.focus();
|
|
console.log(response.data.nbre_poche);
|
|
}
|
|
if (response.data.status == 'final') {
|
|
$nbreTube.html(response.data.nbre_tube);
|
|
$current.html(response.data.nbre_tube);
|
|
$input.attr('max', response.data.nbre_tube_max);
|
|
$type.html('Tubes');
|
|
$todo.html(response.data.nbre_tube_max);
|
|
$input.attr('value', response.data.nbre_tube);
|
|
$pictureTube.append('<div class="sang"><img src="/tubes/Tube1.png"></div>');
|
|
$displaySuccess.css('display', 'flex');
|
|
setTimeout(function () {
|
|
$displaySuccess.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
console.log(response.data.nbre_poche);
|
|
}
|
|
if (response.data.status == 'error_scan') {
|
|
$displayError.html("Mauvais type d'étiquette");
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_doublon') {
|
|
$displayError.html('Etiquette déjà scannée');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
if (response.data.status == 'error_donneur') {
|
|
$displayError.html('Ne correspond pas au donneur');
|
|
$displayError.css('display', "flex");
|
|
setTimeout(function () {
|
|
$displayError.css('display', 'none');
|
|
}, 5000);
|
|
saisie.focus();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}]);
|
|
return GetEvent;
|
|
}();
|
|
|
|
|
|
/***/ })
|
|
|
|
},
|
|
/******/ __webpack_require__ => { // webpackRuntimeModules
|
|
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
/******/ __webpack_require__.O(0, ["vendors-node_modules_symfony_stimulus-bridge_dist_index_js-node_modules_core-js_modules_es_da-7a184a"], () => (__webpack_exec__("./assets/app.js")));
|
|
/******/ var __webpack_exports__ = __webpack_require__.O();
|
|
/******/ }
|
|
]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QixhQUFhLENBQUMwQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztvQkFDcEN6RCxVQUFVLENBQUMsWUFBTTtzQkFDYitCLGFBQWEsQ0FBQzBCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO29CQUN4QyxDQUFDLEVBQUUsSUFBSSxDQUFDO29CQUNSbEQsTUFBTSxDQUFDQyxLQUFLLEVBQUU7a0JBRWxCO2tCQUNBLElBQUdtQyxRQUFRLENBQUNGLElBQUksQ0FBQ00sTUFBTSxJQUFJLGVBQWUsRUFBQztvQkFFdkNoQixhQUFhLENBQUNpQixJQUFJLENBQUMsOEJBQThCLENBQUM7b0JBQ2xEakIsYUFBYSxDQUFDMEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7b0JBQ3BDekQsVUFBVSxDQUFDLFlBQU07c0JBQ2IrQixhQUFhLENBQUMwQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztvQkFDeEMsQ0FBQyxFQUFFLElBQUksQ0FBQztvQkFDUmxELE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO2tCQUVsQjtrQkFDQTtjQUFNO1lBRWxCO1VBRUosQ0FBQyxDQUFDO1FBQ047TUFDSixDQUFDLENBQUM7SUFDTjtFQUFDO0VBQUE7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8gXFwuW2p0XXN4Iiwid2VicGFjazovLy8uL2Fzc2V0cy9jb250cm9sbGVycy5qc29uIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb250cm9sbGVycy9oZWxsb19jb250cm9sbGVyLmpzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAuanMiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvb3RzdHJhcC5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZ2V0Q29kZUJhcnJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBtYXAgPSB7XG5cdFwiLi9oZWxsb19jb250cm9sbGVyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvQHN5bWZvbnkvc3RpbXVsdXMtYnJpZGdlL2xhenktY29udHJvbGxlci1sb2FkZXIuanMhLi9hc3NldHMvY29udHJvbGxlcnMvaGVsbG9fY29udHJvbGxlci5qc1wiXG59O1xuXG5cbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0KHJlcSkge1xuXHR2YXIgaWQgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKTtcblx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oaWQpO1xufVxuZnVuY3Rpb24gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSkge1xuXHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1hcCwgcmVxKSkge1xuXHRcdHZhciBlID0gbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIiArIHJlcSArIFwiJ1wiKTtcblx0XHRlLmNvZGUgPSAnTU9EVUxFX05PVF9GT1VORCc7XG5cdFx0dGhyb3cgZTtcblx0fVxuXHRyZXR1cm4gbWFwW3JlcV07XG59XG53ZWJwYWNrQ29udGV4dC5rZXlzID0gZnVuY3Rpb24gd2VicGFja0NvbnRleHRLZXlzKCkge1xuXHRyZXR1cm4gT2JqZWN0LmtleXMobWFwKTtcbn07XG53ZWJwYWNrQ29udGV4dC5yZXNvbHZlID0gd2VicGFja0NvbnRleHRSZXNvbHZlO1xubW9kdWxlLmV4cG9ydHMgPSB3ZWJwYWNrQ29udGV4dDtcbndlYnBhY2tDb250ZXh0LmlkID0gXCIuL2Fzc2V0cy9jb250cm9sbGVycyBzeW5jIHJlY3Vyc2l2ZSAuL25vZGVfbW9kdWxlcy9Ac3ltZm9ueS9zdGltdWx1cy1icmlkZ2UvbGF6eS1jb250cm9sbGVyLWxvYWRlci5qcyEgXFxcXC5banRdc3g/JFwiOyIsImV4cG9ydCBkZWZhdWx0IHtcbn07IiwiaW1wb3J0IHsgQ29udHJvbGxlciB9IGZyb20gJ0Bob3R3aXJlZC9zdGltdWx1cyc7XG5cbi8qXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgU3RpbXVsdXMgY29udHJvbGxlciFcbiAqXG4gKiBBbnkgZWxlbWVudCB3aXRoIGEgZGF0YS1jb250cm9sbGVyPVwiaGVsbG9cIiBhdHRyaWJ1dGUgd2lsbCBjYXVzZVxuICogdGhpcyBjb250cm9sbGVyIHRvIGJlIGV4ZWN1dGVkLiBUaGUgbmFtZSBcImhlbGxvXCIgY29tZXMgZnJvbSB0aGUgZmlsZW5hbWU6XG4gKiBoZWxsb19jb250cm9sbGVyLmpzIC0+IFwiaGVsbG9cIlxuICpcbiAqIERlbGV0ZSB0aGlzIGZpbGUgb3IgYWRhcHQgaXQgZm9yIHlvdXIgdXNlIVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBleHRlbmRzIENvbnRyb2xsZXIge1xuICAgIGNvbm5lY3QoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC50ZXh0Q29udGVudCA9ICdIZWxsbyBTdGltdWx1cyEgRWRpdCBtZSBpbiBhc3NldHMvY29udHJvbGxlcnMvaGVsbG9fY29udHJvbGxlci5qcyc7XG4gICAgfVxufVxuIiwiLypcbiAqIFdlbGNvbWUgdG8geW91ciBhcHAncyBtYWluIEphdmFTY3JpcHQgZmlsZSFcbiAqXG4gKiBXZSByZWNvbW1lbmQgaW5jbHVkaW5nIHRoZSBidWlsdCB2ZXJzaW9uIG9mIHRoaXMgSmF2YVNjcmlwdCBmaWxlXG4gKiAoYW5kIGl0cyBDU1MgZmlsZSkgaW4geW91ciBiYXNlIGxheW91dCAoYmFzZS5odG1sLnR3aWcpLlxuICovXG5cbi8vIGFueSBDU1MgeW91IGltcG9ydCB3aWxsIG91dHB1dCBpbnRvIGEgc2luZ2xlIGNzcyBmaWxlIChhcHAuY3NzIGluIHRoaXMgY2FzZSlcbmltcG9ydCAnanF1ZXJ5Jztcbi8vIHN0YXJ0IHRoZSBTdGltdWx1cyBhcHBsaWNhdGlvblxuaW1wb3J0IEdldEV2ZW50IGZyb20gJy4vanMvZ2V0Q29kZUJhcnJlJztcbmltcG9ydCAnLi9ib290c3RyYXAnO1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKT0+e1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgLy8gdXRpbHMuaW5pdCgpO1xuICAgICAgICBHZXRFdmVudC5pbml0KClcblxuICAgIH0sIDIwMCk7XG59KSIsImltcG9ydCB7IHN0YXJ0U3RpbXVsdXNBcHAgfSBmcm9tICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UnO1xuXG4vLyBSZWdpc3RlcnMgU3RpbXVsdXMgY29udHJvbGxlcnMgZnJvbSBjb250cm9sbGVycy5qc29uIGFuZCBpbiB0aGUgY29udHJvbGxlcnMvIGRpcmVjdG9yeVxuZXhwb3J0IGNvbnN0IGFwcCA9IHN0YXJ0U3RpbXVsdXNBcHAocmVxdWlyZS5jb250ZXh0KFxuICAgICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UvbGF6eS1jb250cm9sbGVyLWxvYWRlciEuL2NvbnRyb2xsZXJzJyxcbiAgICB0cnVlLFxuICAgIC9cXC5banRdc3g/JC9cbikpO1xuXG4vLyByZWdpc3RlciBhbnkgY3VzdG9tLCAzcmQgcGFydHkgY29udHJvbGxlcnMgaGVyZVxuLy8gYXBwLnJlZ2lzdGVyKCdzb21lX2NvbnRyb2xsZXJfbmFtZScsIFNvbWVJbXBvcnRlZENvbnRyb2xsZXIpO1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2V0RXZlbnR7XG4gICAgc3RhdGljIGluaXQoKXtcbiAgICAgICAgdGhpcy5nZXRFdmVudCgpXG4gICAgfVxuXG4gICAgc3RhdGljIGdldEV2ZW50KCl7XG4gICAgICAgIGxldCBzYWlzaWUgID0gJCgnI3NhaXNpZScpO1xuICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQgJGluZm8gPSAkKCcuaW5mbycpO1xuICAgICAgICBsZXQgJGluZm9Eb24gPSAkKCcjaW5mby1kb24nKTtcbiAgICAgICAgbGV0ICRpbmZvRG9ubmV1ciA9ICQoJyNpbmZvLWRvbm5ldXInKTtcbiAgICAgICAgbGV0ICRpbmZvUHNsID0gJCgnI2luZm8tcHNsJyk7XG4gICAgICAgIGxldCAkZG9uID0gJCgnI2RvbicpO1xuICAgICAgICBsZXQgJG5vbSA9ICQoJyNub20nKTtcbiAgICAgICAgbGV0ICRwcmVub20gPSAkKCcjcHJlbm9tJyk7XG4gICAgICAgIGxldCAkbmFpc3NhbmNlID0gJCgnI25haXNzYW5jZScpO1xuICAgICAgICBsZXQgJHR5cGVEb24gPSAkKCcjdHlwZURvbicpO1xuICAgICAgICBsZXQgJHR5cGVQb2NoZSA9ICQoJyN0eXBlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRuYnJlVHViZSA9ICQoJyNuYnJlVHViZScpO1xuICAgICAgICBsZXQgJHN0ZXAgPSAkKCcjc3RlcCcpO1xuICAgICAgICBsZXQgJGluZGljYXRpb24gPSAkKCcjaW5kaWNhdGlvbicpO1xuICAgICAgICBsZXQgJGV2b2x1dGlvbiA9ICQoJyNldm9sdXRpb24nKTtcbiAgICAgICAgbGV0ICRsYWJlbCA9ICQoJyNsYWJlbCcpO1xuICAgICAgICBsZXQgJHR5cGUgPSAkKCcjdHlwZScpO1xuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkKCcjY3VycmVudCcpO1xuICAgICAgICBsZXQgJHRvZG8gPSAkKCcjdG9kbycpO1xuICAgICAgICBsZXQgJHBpY3R1cmVQb2NoZSA9ICQoJyNwaWN0dXJlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRwaWN0dXJlVHViZSA9ICQoJyNwaWN0dXJlVHViZScpO1xuICAgICAgICBsZXQgJGlucHV0ID0gJCgnI2lucHV0UmFuZ2UnKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5RXJyb3IgPSAkKCcuZXJyb3InKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5U3VjY2VzcyA9ICQoJy5kaXNwbGF5U3VjY2VzcycpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgICAgIGlmKGV2ZW50LmNvZGUgPT0gJ1RhYicpe1xuICAgICAgICAgICAgICAgIHZhbHVlID0gc2Fpc2llLnZhbCgpO1xuICAgICAgICAgICAgICAgIHNhaXNpZS52YWwoJycpXG4gICAgICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnL2FwaS9nZXQtY29kZS1iYXJyZS10eXBlJyxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7J2NvZGVCYXJyZSc6IHZhbHVlfSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2Upe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaChyZXNwb25zZS5kYXRhLnN0ZXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnc3VjY2Vzcycpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaWN0dXJlUG9jaGUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJylcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnaW5pdCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZVBvY2hlLmh0bWwoJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZm8uY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2b2x1dGlvbi5jc3MoJ3Zpc2liaWxpdHknLCAnaGlkZGVuJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcicpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcxJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAxIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGVzIHBvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZvbHV0aW9uLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2Rvbm5ldXInKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvbm5ldXInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2RvdWJsb24nKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvdWJsb24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1BvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUgIT1yZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4ICl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBpY3R1cmVQb2NoZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzYW5nXCI+PGltZyBzcmM9XCIvcG9jaGVzL1BvY2hlX3NhbmcucG5nXCI+PC9kaXY+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGVQb2NoZS5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50Lmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmFsaWRlciBhdmVjIHVuIHNjYW4gZGUgcG9jaGUhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ3ZhbGlkZXIgYXZlYyB1biBzY2FuIGRlIHBvY2hlIScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNhbmdcIj48aW1nIHNyYz1cIi9wb2NoZXMvUG9jaGVfc2FuZy5wbmdcIj48L2Rpdj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGVyIGF2ZWMgdW4gc2NhbiBkZSBwb2NoZSEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGUgdHViZXMhJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cignbWF4JywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUuaHRtbCgnVHViZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJvbiBwYXNzZSBhdXggdHViZXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gXCJlcnJvcl9zY2FuXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnNCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdzdWNjZXNzJyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAyIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheVN1Y2Nlc3MuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlTdWNjZXNzLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn0iXSwibmFtZXMiOlsiQ29udHJvbGxlciIsImVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsIkdldEV2ZW50IiwiJCIsImRvY3VtZW50IiwicmVhZHkiLCJzZXRUaW1lb3V0IiwiaW5pdCIsInN0YXJ0U3RpbXVsdXNBcHAiLCJhcHAiLCJyZXF1aXJlIiwiY29udGV4dCIsImdldEV2ZW50Iiwic2Fpc2llIiwiZm9jdXMiLCJ2YWx1ZSIsIiRpbmZvIiwiJGluZm9Eb24iLCIkaW5mb0Rvbm5ldXIiLCIkaW5mb1BzbCIsIiRkb24iLCIkbm9tIiwiJHByZW5vbSIsIiRuYWlzc2FuY2UiLCIkdHlwZURvbiIsIiR0eXBlUG9jaGUiLCIkbmJyZVR1YmUiLCIkc3RlcCIsIiRpbmRpY2F0aW9uIiwiJGV2b2x1dGlvbiIsIiRsYWJlbCIsIiR0eXBlIiwiJGN1cnJlbnQiLCIkdG9kbyIsIiRwaWN0dXJlUG9jaGUiLCIkcGljdHVyZVR1YmUiLCIkaW5wdXQiLCIkZGlzcGxheUVycm9yIiwiJGRpc3BsYXlTdWNjZXNzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY29kZSIsInZhbCIsImFqYXgiLCJ1cmwiLCJtZXRob2QiLCJkYXRhVHlwZSIsImRhdGEiLCJzdWNjZXNzIiwicmVzcG9uc2UiLCJjb25zb2xlIiwibG9nIiwic3RlcCIsInN0YXR1cyIsImh0bWwiLCJjb2RlQmFycmUiLCJub20iLCJwcmVub20iLCJEYXRlIiwiYmlydGhkYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidHlwZV9kb24iLCJuYnJlX3R1YmUiLCJjc3MiLCJuYnJlX3BvY2hlIiwibmJyZV9wb2NoZV9tYXgiLCJhdHRyIiwiYXBwZW5kIiwibmJyZV90dWJlX21heCJdLCJzb3VyY2VSb290IjoiIn0=
|