From 9b85a34c353110ff71ab878e724a676ce8e08062 Mon Sep 17 00:00:00 2001 From: Eric Defore Date: Wed, 13 May 2020 11:19:16 -0400 Subject: [PATCH] v1.5.4 --- assets/dist/css/rbm-fh-select2.min.css | 544 +- .../dist/css/rbm-field-helpers-admin.min.css | 1257 +-- assets/dist/js/rbm-field-helpers-admin.min.js | 7108 +---------------- package-lock.json | 2 +- package.json | 2 +- rbm-field-helpers.php | 2 +- 6 files changed, 6 insertions(+), 8909 deletions(-) diff --git a/assets/dist/css/rbm-fh-select2.min.css b/assets/dist/css/rbm-fh-select2.min.css index d3f1645..6977be5 100644 --- a/assets/dist/css/rbm-fh-select2.min.css +++ b/assets/dist/css/rbm-fh-select2.min.css @@ -1,543 +1 @@ -.select2-container { - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - -.select2-container .select2-selection--single { - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-user-select: none; } - -.select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.select2-container .select2-selection--single .select2-selection__clear { - position: relative; } - -.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - -.select2-container .select2-selection--multiple { - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-user-select: none; } - -.select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline-block; - overflow: hidden; - padding-left: 8px; - text-overflow: ellipsis; - white-space: nowrap; } - -.select2-container .select2-search--inline { - float: left; } - -.select2-container .select2-search--inline .select2-search__field { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - padding: 0; } - -.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-user-select: none; } - -.select2-results__option[aria-selected] { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - -.select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - height: 1px !important; - margin: -1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - -.select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - -.select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; } - -.select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - -.select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - -.select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; } - -.select2-container--default .select2-selection--multiple .select2-selection__rendered { - -webkit-box-sizing: border-box; - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; } - -.select2-container--default .select2-selection--multiple .select2-selection__rendered li { - list-style: none; } - -.select2-container--default .select2-selection--multiple .select2-selection__placeholder { - color: #999; - margin-top: 5px; - float: left; } - -.select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-top: 5px; - margin-right: 10px; } - -.select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - -.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - -.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option[role=group] { - padding: 0; } - -.select2-container--default .select2-results__option[aria-disabled=true] { - color: #999; } - -.select2-container--default .select2-results__option[aria-selected=true] { - background-color: #ddd; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - -.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee)); - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - -.select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - -.select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-right: 10px; } - -.select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - -.select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc)); - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - -.select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - -.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee)); - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white)); - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; } - -.select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - -.select2-container--classic .select2-selection--multiple .select2-selection__rendered { - list-style: none; - margin: 0; - padding: 0 5px; } - -.select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - -.select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - -.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - color: #888; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - -.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - float: right; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - -webkit-box-shadow: none; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option[role=group] { - padding: 0; } - -.select2-container--classic .select2-results__option[aria-disabled=true] { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted[aria-selected] { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL2Rpc3QvY3NzL3NlbGVjdDIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsVUFBUztFQUNULG1CQUFrQjtFQUNsQix1QkFBc0IsRUFBSTs7QUFDMUI7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGFBQVk7RUFDWix1QkFBaUI7R0FBakIsc0JBQWlCO09BQWpCLGtCQUFpQjtFQUNqQiwwQkFBeUIsRUFBSTs7QUFDN0I7RUFDRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG9CQUFtQixFQUFJOztBQUN6QjtFQUNFLG1CQUFrQixFQUFJOztBQUMxQjtFQUNFLG1CQUFrQjtFQUNsQixtQkFBa0IsRUFBSTs7QUFDeEI7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGlCQUFnQjtFQUNoQix1QkFBaUI7R0FBakIsc0JBQWlCO09BQWpCLGtCQUFpQjtFQUNqQiwwQkFBeUIsRUFBSTs7QUFDN0I7RUFDRSxzQkFBcUI7RUFDckIsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQix3QkFBdUI7RUFDdkIsb0JBQW1CLEVBQUk7O0FBQzNCO0VBQ0UsWUFBVyxFQUFJOztBQUNmO0VBQ0UsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixhQUFZO0VBQ1osZ0JBQWU7RUFDZixnQkFBZTtFQUNmLFdBQVUsRUFBSTs7QUFDZDtFQUNFLHlCQUF3QixFQUFJOztBQUVwQztFQUNFLHdCQUF1QjtFQUN2Qix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLFlBQVc7RUFDWCxj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RUFBSTs7QUFDbkI7RUFDRSwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixlQUFjLEVBQUk7O0FBQ3BCO0VBQ0UsWUFBVztFQUNYLGdCQUFlO0VBQ2Ysc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixrQkFBaUIsRUFBSTs7QUFDckI7RUFDRSxZQUFXLEVBQUk7O0FBRXJCO0VBQ0UsYUFBWSxFQUFJOztBQUVsQjtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFBSTs7QUFFeEI7RUFDRSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQUk7O0FBRXhCO0VBQ0UsMEJBQXlCLEVBQUk7O0FBRS9CO0VBQ0UsaUJBQWdCO0VBQ2hCLDBCQUF5QjtFQUN6QiwyQkFBMEIsRUFBSTs7QUFFaEM7RUFDRSxvQkFBbUI7RUFDbkIsNkJBQTRCO0VBQzVCLDhCQUE2QixFQUFJOztBQUVuQztFQUNFLHVCQUFzQjtFQUN0QixXQUFVLEVBQUk7O0FBRWhCO0VBQ0UsV0FBVTtFQUNWLHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFBSTs7QUFFdEI7RUFDRSx3QkFBdUI7RUFDdkIsOEJBQTZCLEVBQUk7O0FBRW5DO0VBQ0Usb0JBQW1CLEVBQUk7O0FBRXpCO0VBQ0UsaUJBQWdCLEVBQUk7O0FBRXRCO0VBQ0Usa0JBQWlCO0VBQ2pCLGlCQUFnQixFQUFJOztBQUV0QjtFQUNFLFdBQVUsRUFBSTs7QUFFaEI7RUFDRSxZQUFXLEVBQUk7O0FBRWpCO0VBQ0UsMEJBQXlCO0VBQ3pCLGFBQVksRUFBSTs7QUFFbEI7RUFDRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxhQUFZLEVBQUk7O0FBRWxCO0VBQ0Usc0JBQXFCLEVBQUkiLCJmaWxlIjoicmJtLWZoLXNlbGVjdDIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNlbGVjdDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjhweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lcltkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwNTE7IH1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZzogNnB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xuICBsZWZ0OiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHg7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bi5zZWxlY3QyLXNlYXJjaC0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG5cbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiB0ZXh0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIHBhZGRpbmctbGVmdDogMmVtOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM2VtOyB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM2VtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRlbTsgfVxuICAgICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNGVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNWVtOyB9XG4gICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNmVtOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTdmYjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDZweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkNDQ0NDQycsIEdyYWRpZW50VHlwZT0wKTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZGRkZGRkYnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7XG4gIG91dGxpbmU6IDA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGU6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTU1OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBvdXRsaW5lOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHMgPiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbltyb2xlPWdyb3VwXSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY29sb3I6IGdyZXk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NWQ3O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzU4OTdmYjsgfVxuIl19 */ +.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(white),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(white));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} \ No newline at end of file diff --git a/assets/dist/css/rbm-field-helpers-admin.min.css b/assets/dist/css/rbm-field-helpers-admin.min.css index feddbda..003287e 100644 --- a/assets/dist/css/rbm-field-helpers-admin.min.css +++ b/assets/dist/css/rbm-field-helpers-admin.min.css @@ -1,1256 +1 @@ -.flatpickr-calendar { - background: transparent; - opacity: 0; - display: none; - text-align: center; - visibility: hidden; - padding: 0; - -webkit-animation: none; - animation: none; - direction: ltr; - border: 0; - font-size: 14px; - line-height: 24px; - border-radius: 5px; - position: absolute; - width: 307.875px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-touch-action: manipulation; - touch-action: manipulation; - background: #fff; - -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); - box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); } - -.flatpickr-calendar.open, -.flatpickr-calendar.inline { - opacity: 1; - max-height: 640px; - visibility: visible; } - -.flatpickr-calendar.open { - display: inline-block; - z-index: 99999; } - -.flatpickr-calendar.animate.open { - -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); - animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); } - -.flatpickr-calendar.inline { - display: block; - position: relative; - top: 2px; } - -.flatpickr-calendar.static { - position: absolute; - top: calc(100% + 2px); } - -.flatpickr-calendar.static.open { - z-index: 999; - display: block; } - -.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) { - -webkit-box-shadow: none !important; - box-shadow: none !important; } - -.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) { - -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; - box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; } - -.flatpickr-calendar .hasWeeks .dayContainer, -.flatpickr-calendar .hasTime .dayContainer { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - -.flatpickr-calendar .hasWeeks .dayContainer { - border-left: 0; } - -.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time { - height: 40px; - border-top: 1px solid #e6e6e6; } - -.flatpickr-calendar.noCalendar.hasTime .flatpickr-time { - height: auto; } - -.flatpickr-calendar:before, -.flatpickr-calendar:after { - position: absolute; - display: block; - pointer-events: none; - border: solid transparent; - content: ''; - height: 0; - width: 0; - left: 22px; } - -.flatpickr-calendar.rightMost:before, -.flatpickr-calendar.rightMost:after { - left: auto; - right: 22px; } - -.flatpickr-calendar:before { - border-width: 5px; - margin: 0 -5px; } - -.flatpickr-calendar:after { - border-width: 4px; - margin: 0 -4px; } - -.flatpickr-calendar.arrowTop:before, -.flatpickr-calendar.arrowTop:after { - bottom: 100%; } - -.flatpickr-calendar.arrowTop:before { - border-bottom-color: #e6e6e6; } - -.flatpickr-calendar.arrowTop:after { - border-bottom-color: #fff; } - -.flatpickr-calendar.arrowBottom:before, -.flatpickr-calendar.arrowBottom:after { - top: 100%; } - -.flatpickr-calendar.arrowBottom:before { - border-top-color: #e6e6e6; } - -.flatpickr-calendar.arrowBottom:after { - border-top-color: #fff; } - -.flatpickr-calendar:focus { - outline: 0; } - -.flatpickr-wrapper { - position: relative; - display: inline-block; } - -.flatpickr-months { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - -.flatpickr-months .flatpickr-month { - background: transparent; - color: rgba(0, 0, 0, 0.9); - fill: rgba(0, 0, 0, 0.9); - height: 34px; - line-height: 1; - text-align: center; - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - -.flatpickr-months .flatpickr-prev-month, -.flatpickr-months .flatpickr-next-month { - text-decoration: none; - cursor: pointer; - position: absolute; - top: 0; - height: 34px; - padding: 10px; - z-index: 3; - color: rgba(0, 0, 0, 0.9); - fill: rgba(0, 0, 0, 0.9); } - -.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, -.flatpickr-months .flatpickr-next-month.flatpickr-disabled { - display: none; } - -.flatpickr-months .flatpickr-prev-month i, -.flatpickr-months .flatpickr-next-month i { - position: relative; } - -.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, -.flatpickr-months .flatpickr-next-month.flatpickr-prev-month { - /* - /*rtl:begin:ignore*/ - /* - */ - left: 0; - /* - /*rtl:end:ignore*/ - /* - */ } - -/* - /*rtl:begin:ignore*/ -/* - /*rtl:end:ignore*/ -.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, -.flatpickr-months .flatpickr-next-month.flatpickr-next-month { - /* - /*rtl:begin:ignore*/ - /* - */ - right: 0; - /* - /*rtl:end:ignore*/ - /* - */ } - -/* - /*rtl:begin:ignore*/ -/* - /*rtl:end:ignore*/ -.flatpickr-months .flatpickr-prev-month:hover, -.flatpickr-months .flatpickr-next-month:hover { - color: #959ea9; } - -.flatpickr-months .flatpickr-prev-month:hover svg, -.flatpickr-months .flatpickr-next-month:hover svg { - fill: #f64747; } - -.flatpickr-months .flatpickr-prev-month svg, -.flatpickr-months .flatpickr-next-month svg { - width: 14px; - height: 14px; } - -.flatpickr-months .flatpickr-prev-month svg path, -.flatpickr-months .flatpickr-next-month svg path { - -webkit-transition: fill 0.1s; - transition: fill 0.1s; - fill: inherit; } - -.numInputWrapper { - position: relative; - height: auto; } - -.numInputWrapper input, -.numInputWrapper span { - display: inline-block; } - -.numInputWrapper input { - width: 100%; } - -.numInputWrapper input::-ms-clear { - display: none; } - -.numInputWrapper input::-webkit-outer-spin-button, -.numInputWrapper input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; } - -.numInputWrapper span { - position: absolute; - right: 0; - width: 14px; - padding: 0 4px 0 2px; - height: 50%; - line-height: 50%; - opacity: 0; - cursor: pointer; - border: 1px solid rgba(57, 57, 57, 0.15); - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.numInputWrapper span:hover { - background: rgba(0, 0, 0, 0.1); } - -.numInputWrapper span:active { - background: rgba(0, 0, 0, 0.2); } - -.numInputWrapper span:after { - display: block; - content: ""; - position: absolute; } - -.numInputWrapper span.arrowUp { - top: 0; - border-bottom: 0; } - -.numInputWrapper span.arrowUp:after { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid rgba(57, 57, 57, 0.6); - top: 26%; } - -.numInputWrapper span.arrowDown { - top: 50%; } - -.numInputWrapper span.arrowDown:after { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid rgba(57, 57, 57, 0.6); - top: 40%; } - -.numInputWrapper span svg { - width: inherit; - height: auto; } - -.numInputWrapper span svg path { - fill: rgba(0, 0, 0, 0.5); } - -.numInputWrapper:hover { - background: rgba(0, 0, 0, 0.05); } - -.numInputWrapper:hover span { - opacity: 1; } - -.flatpickr-current-month { - font-size: 135%; - line-height: inherit; - font-weight: 300; - color: inherit; - position: absolute; - width: 75%; - left: 12.5%; - padding: 7.48px 0 0 0; - line-height: 1; - height: 34px; - display: inline-block; - text-align: center; - -webkit-transform: translate3d(0px, 0px, 0px); - transform: translate3d(0px, 0px, 0px); } - -.flatpickr-current-month span.cur-month { - font-family: inherit; - font-weight: 700; - color: inherit; - display: inline-block; - margin-left: 0.5ch; - padding: 0; } - -.flatpickr-current-month span.cur-month:hover { - background: rgba(0, 0, 0, 0.05); } - -.flatpickr-current-month .numInputWrapper { - width: 6ch; - width: 7ch\0; - display: inline-block; } - -.flatpickr-current-month .numInputWrapper span.arrowUp:after { - border-bottom-color: rgba(0, 0, 0, 0.9); } - -.flatpickr-current-month .numInputWrapper span.arrowDown:after { - border-top-color: rgba(0, 0, 0, 0.9); } - -.flatpickr-current-month input.cur-year { - background: transparent; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - cursor: text; - padding: 0 0 0 0.5ch; - margin: 0; - display: inline-block; - font-size: inherit; - font-family: inherit; - font-weight: 300; - line-height: inherit; - height: auto; - border: 0; - border-radius: 0; - vertical-align: initial; - -webkit-appearance: textfield; - -moz-appearance: textfield; - appearance: textfield; } - -.flatpickr-current-month input.cur-year:focus { - outline: 0; } - -.flatpickr-current-month input.cur-year[disabled], -.flatpickr-current-month input.cur-year[disabled]:hover { - font-size: 100%; - color: rgba(0, 0, 0, 0.5); - background: transparent; - pointer-events: none; } - -.flatpickr-current-month .flatpickr-monthDropdown-months { - appearance: menulist; - background: transparent; - border: none; - border-radius: 0; - box-sizing: border-box; - color: inherit; - cursor: pointer; - font-size: inherit; - font-family: inherit; - font-weight: 300; - height: auto; - line-height: inherit; - margin: -1px 0 0 0; - outline: none; - padding: 0 0 0 0.5ch; - position: relative; - vertical-align: initial; - -webkit-box-sizing: border-box; - -webkit-appearance: menulist; - -moz-appearance: menulist; - width: auto; } - -.flatpickr-current-month .flatpickr-monthDropdown-months:focus, -.flatpickr-current-month .flatpickr-monthDropdown-months:active { - outline: none; } - -.flatpickr-current-month .flatpickr-monthDropdown-months:hover { - background: rgba(0, 0, 0, 0.05); } - -.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { - background-color: transparent; - outline: none; - padding: 0; } - -.flatpickr-weekdays { - background: transparent; - text-align: center; - overflow: hidden; - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 28px; } - -.flatpickr-weekdays .flatpickr-weekdaycontainer { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - -span.flatpickr-weekday { - cursor: default; - font-size: 90%; - background: transparent; - color: rgba(0, 0, 0, 0.54); - line-height: 1; - margin: 0; - text-align: center; - display: block; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - font-weight: bolder; } - -.dayContainer, -.flatpickr-weeks { - padding: 1px 0 0 0; } - -.flatpickr-days { - position: relative; - overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - width: 307.875px; } - -.flatpickr-days:focus { - outline: 0; } - -.dayContainer { - padding: 0; - outline: 0; - text-align: left; - width: 307.875px; - min-width: 307.875px; - max-width: 307.875px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: inline-block; - display: -ms-flexbox; - display: -webkit-box; - display: -webkit-flex; - display: flex; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-wrap: wrap; - -ms-flex-pack: justify; - -webkit-justify-content: space-around; - justify-content: space-around; - -webkit-transform: translate3d(0px, 0px, 0px); - transform: translate3d(0px, 0px, 0px); - opacity: 1; } - -.dayContainer + .dayContainer { - -webkit-box-shadow: -1px 0 0 #e6e6e6; - box-shadow: -1px 0 0 #e6e6e6; } - -.flatpickr-day { - background: none; - border: 1px solid transparent; - border-radius: 150px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #393939; - cursor: pointer; - font-weight: 400; - width: 14.2857143%; - -webkit-flex-basis: 14.2857143%; - -ms-flex-preferred-size: 14.2857143%; - flex-basis: 14.2857143%; - max-width: 39px; - height: 39px; - line-height: 39px; - margin: 0; - display: inline-block; - position: relative; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - text-align: center; } - -.flatpickr-day.inRange, -.flatpickr-day.prevMonthDay.inRange, -.flatpickr-day.nextMonthDay.inRange, -.flatpickr-day.today.inRange, -.flatpickr-day.prevMonthDay.today.inRange, -.flatpickr-day.nextMonthDay.today.inRange, -.flatpickr-day:hover, -.flatpickr-day.prevMonthDay:hover, -.flatpickr-day.nextMonthDay:hover, -.flatpickr-day:focus, -.flatpickr-day.prevMonthDay:focus, -.flatpickr-day.nextMonthDay:focus { - cursor: pointer; - outline: 0; - background: #e6e6e6; - border-color: #e6e6e6; } - -.flatpickr-day.today { - border-color: #959ea9; } - -.flatpickr-day.today:hover, -.flatpickr-day.today:focus { - border-color: #959ea9; - background: #959ea9; - color: #fff; } - -.flatpickr-day.selected, -.flatpickr-day.startRange, -.flatpickr-day.endRange, -.flatpickr-day.selected.inRange, -.flatpickr-day.startRange.inRange, -.flatpickr-day.endRange.inRange, -.flatpickr-day.selected:focus, -.flatpickr-day.startRange:focus, -.flatpickr-day.endRange:focus, -.flatpickr-day.selected:hover, -.flatpickr-day.startRange:hover, -.flatpickr-day.endRange:hover, -.flatpickr-day.selected.prevMonthDay, -.flatpickr-day.startRange.prevMonthDay, -.flatpickr-day.endRange.prevMonthDay, -.flatpickr-day.selected.nextMonthDay, -.flatpickr-day.startRange.nextMonthDay, -.flatpickr-day.endRange.nextMonthDay { - background: #569ff7; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - border-color: #569ff7; } - -.flatpickr-day.selected.startRange, -.flatpickr-day.startRange.startRange, -.flatpickr-day.endRange.startRange { - border-radius: 50px 0 0 50px; } - -.flatpickr-day.selected.endRange, -.flatpickr-day.startRange.endRange, -.flatpickr-day.endRange.endRange { - border-radius: 0 50px 50px 0; } - -.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), -.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) { - -webkit-box-shadow: -10px 0 0 #569ff7; - box-shadow: -10px 0 0 #569ff7; } - -.flatpickr-day.selected.startRange.endRange, -.flatpickr-day.startRange.startRange.endRange, -.flatpickr-day.endRange.startRange.endRange { - border-radius: 50px; } - -.flatpickr-day.inRange { - border-radius: 0; - -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; - box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; } - -.flatpickr-day.flatpickr-disabled, -.flatpickr-day.flatpickr-disabled:hover, -.flatpickr-day.prevMonthDay, -.flatpickr-day.nextMonthDay, -.flatpickr-day.notAllowed, -.flatpickr-day.notAllowed.prevMonthDay, -.flatpickr-day.notAllowed.nextMonthDay { - color: rgba(57, 57, 57, 0.3); - background: transparent; - border-color: transparent; - cursor: default; } - -.flatpickr-day.flatpickr-disabled, -.flatpickr-day.flatpickr-disabled:hover { - cursor: not-allowed; - color: rgba(57, 57, 57, 0.1); } - -.flatpickr-day.week.selected { - border-radius: 0; - -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; - box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; } - -.flatpickr-day.hidden { - visibility: hidden; } - -.rangeMode .flatpickr-day { - margin-top: 1px; } - -.flatpickr-weekwrapper { - float: left; } - -.flatpickr-weekwrapper .flatpickr-weeks { - padding: 0 12px; - -webkit-box-shadow: 1px 0 0 #e6e6e6; - box-shadow: 1px 0 0 #e6e6e6; } - -.flatpickr-weekwrapper .flatpickr-weekday { - float: none; - width: 100%; - line-height: 28px; } - -.flatpickr-weekwrapper span.flatpickr-day, -.flatpickr-weekwrapper span.flatpickr-day:hover { - display: block; - width: 100%; - max-width: none; - color: rgba(57, 57, 57, 0.3); - background: transparent; - cursor: default; - border: none; } - -.flatpickr-innerContainer { - display: block; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; } - -.flatpickr-rContainer { - display: inline-block; - padding: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.flatpickr-time { - text-align: center; - outline: 0; - display: block; - height: 0; - line-height: 40px; - max-height: 40px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - -.flatpickr-time:after { - content: ""; - display: table; - clear: both; } - -.flatpickr-time .numInputWrapper { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 40%; - height: 40px; - float: left; } - -.flatpickr-time .numInputWrapper span.arrowUp:after { - border-bottom-color: #393939; } - -.flatpickr-time .numInputWrapper span.arrowDown:after { - border-top-color: #393939; } - -.flatpickr-time.hasSeconds .numInputWrapper { - width: 26%; } - -.flatpickr-time.time24hr .numInputWrapper { - width: 49%; } - -.flatpickr-time input { - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - border: 0; - border-radius: 0; - text-align: center; - margin: 0; - padding: 0; - height: inherit; - line-height: inherit; - color: #393939; - font-size: 14px; - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: textfield; - -moz-appearance: textfield; - appearance: textfield; } - -.flatpickr-time input.flatpickr-hour { - font-weight: bold; } - -.flatpickr-time input.flatpickr-minute, -.flatpickr-time input.flatpickr-second { - font-weight: 400; } - -.flatpickr-time input:focus { - outline: 0; - border: 0; } - -.flatpickr-time .flatpickr-time-separator, -.flatpickr-time .flatpickr-am-pm { - height: inherit; - float: left; - line-height: inherit; - color: #393939; - font-weight: bold; - width: 2%; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; } - -.flatpickr-time .flatpickr-am-pm { - outline: 0; - width: 18%; - cursor: pointer; - text-align: center; - font-weight: 400; } - -.flatpickr-time input:hover, -.flatpickr-time .flatpickr-am-pm:hover, -.flatpickr-time input:focus, -.flatpickr-time .flatpickr-am-pm:focus { - background: #eee; } - -.flatpickr-input[readonly] { - cursor: pointer; } - -@-webkit-keyframes fpFadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } } - -@keyframes fpFadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } } - -.fieldhelpers-fieldset { - border: 1px solid #ddd; - padding: 0.5em; } - -.fieldhelpers-col { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; } - -.fieldhelpers-col-1 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; - width: 100%; } - @media only screen and (max-width: 640px) { - .fieldhelpers-col-1 { - width: 100%; } } - -.fieldhelpers-col-2 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; - width: 50%; } - @media only screen and (max-width: 640px) { - .fieldhelpers-col-2 { - width: 100%; } } - -.fieldhelpers-col-3 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; - width: 33.33333%; } - @media only screen and (max-width: 640px) { - .fieldhelpers-col-3 { - width: 100%; } } - -.fieldhelpers-col-4 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; - width: 25%; } - @media only screen and (max-width: 640px) { - .fieldhelpers-col-4 { - width: 100%; } } - -.fieldhelpers-col-5 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0.5em; - float: left; - width: 20%; } - @media only screen and (max-width: 640px) { - .fieldhelpers-col-5 { - width: 100%; } } - -.fieldhelpers-field { - margin-bottom: 1em; } - -.fieldhelpers-field-header { - margin-bottom: 0.5em; } - -.fieldhelpers-field-content > *, .fieldhelpers-field-content [data-image-preview] { - max-width: 100%; } - -.fieldhelpers-field-checkbox-container { - display: inline-block; - border: 1px solid #DFDFDF; - background: #fff; - width: 300px; - max-width: 100%; } - -.fieldhelpers-field-checkbox-row { - position: relative; - cursor: pointer; - -webkit-transition: background 150ms; - transition: background 150ms; - line-height: 30px; } - .fieldhelpers-field-checkbox-row:hover { - background: #f2f2f2; - -webkit-transition: background 0s; - transition: background 0s; } - .fieldhelpers-field-checkbox-row:after { - content: ''; - clear: both; - display: table; } - .fieldhelpers-field-checkbox-row:not(:last-of-type) { - border-bottom: 1px solid #DFDFDF; } - .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active { - background: #007AB1; } - .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active:hover { - background: #006898; } - .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active .fieldhelpers-field-checkbox-label { - color: #fff; } - .fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-input-container { - width: 15%; - float: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; } - .fieldhelpers-field-checkbox-row input[type="checkbox"] { - margin: 0.5em 0.5em; } - .fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-label { - display: block; - float: left; - width: 85%; - font-weight: bold; - padding: 0 0.5em; - border-left: 1px solid #DFDFDF; - line-height: 30px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.fieldhelpers-field-colorpicker { - position: relative; } - .fieldhelpers-field-colorpicker .wp-picker-holder { - position: absolute; - left: 0; - top: 100%; - -webkit-box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.5); - box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.5); - z-index: 100; } - -input[readonly].fieldhelpers-field-timepicker-preview, input[readonly].fieldhelpers-field-datetimepicker-preview, input[readonly].fieldhelpers-field-datepicker-preview { - background-color: #fff; } - -.fieldhelpers-field-hidden { - display: none; } - -.fieldhelpers-field-list .fieldhelpers-field-list-item { - border: 1px solid #ddd; - background-color: #fff; - padding: 0.5em; - margin-bottom: 0.5em; - cursor: move; } - -.fieldhelpers-field-list .fieldhelpers-field-list-item-handle { - color: #bbb; } - -.fieldhelpers-media-uploader .media-url { - display: block; - width: 100%; - word-break: break-all; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.fieldhelpers-media-uploader .image-preview { - max-width: 100%; } - -.fieldhelpers-field-number .fieldhelpers-field-number-container { - width: 100px; } - .fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix] { - position: relative; } - .fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]:after { - content: attr(data-postfix); - position: absolute; - right: calc(20px + 0.5em); - top: 50%; - color: #aaa; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); } - -.fieldhelpers-field-number input[type="text"].fieldhelpers-field-input { - height: 40px; - line-height: 40px; - width: 80px; - padding: 0; - margin: 0; - float: left; - text-align: center; } - -.fieldhelpers-field-number .fieldhelpers-field-number-increase, .fieldhelpers-field-number .fieldhelpers-field-number-decrease { - display: block; - height: 20px; - width: 20px; - line-height: 20px; - padding: 0; - font-size: 14px; - color: #fff; - background: #007AB1; - border: 1px solid #006898; - -webkit-box-shadow: 0 1px 0 #006898; - box-shadow: 0 1px 0 #006898; - outline: none; - border-radius: 0; - cursor: pointer; } - .fieldhelpers-field-number .fieldhelpers-field-number-increase:hover, .fieldhelpers-field-number .fieldhelpers-field-number-decrease:hover { - color: #fff; - background: #008ccb; - border-color: #007AB1; - -webkit-box-shadow: 0 1px 0 #007AB1; - box-shadow: 0 1px 0 #007AB1; } - .fieldhelpers-field-number .fieldhelpers-field-number-increase:active, .fieldhelpers-field-number .fieldhelpers-field-number-decrease:active { - -webkit-transform: translateY(1px); - -ms-transform: translateY(1px); - transform: translateY(1px); } - .fieldhelpers-field-number .fieldhelpers-field-number-increase .dashicons, .fieldhelpers-field-number .fieldhelpers-field-number-decrease .dashicons { - font-size: inherit; - line-height: inherit; - width: auto; - height: auto; } - -.fieldhelpers-field-number .fieldhelpers-field-number-increase { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-width: 0; } - -.fieldhelpers-field-number .fieldhelpers-field-number-decrease { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; } - -.fieldhelpers-field-radio-container { - display: inline-block; - border: 1px solid #DFDFDF; - background: #fff; - width: 300px; - max-width: 100%; } - -.fieldhelpers-field-radio-row { - position: relative; - cursor: pointer; - -webkit-transition: background 150ms; - transition: background 150ms; } - .fieldhelpers-field-radio-row:hover { - background: #f2f2f2; - -webkit-transition: background 0s; - transition: background 0s; } - .fieldhelpers-field-radio-row:after { - content: ''; - clear: both; - display: table; } - .fieldhelpers-field-radio-row:not(:last-of-type) { - border-bottom: 1px solid #DFDFDF; } - .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active { - background: #007AB1; } - .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active:hover { - background: #006898; } - .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active .fieldhelpers-field-radio-label { - color: #fff; } - .fieldhelpers-field-radio-row .fieldhelpers-field-radio-input-container { - width: 15%; - float: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; } - .fieldhelpers-field-radio-row input[type="radio"] { - margin: 0.5em 0.5em; } - .fieldhelpers-field-radio-row .fieldhelpers-field-radio-label { - display: block; - float: left; - width: 85%; - font-weight: bold; - padding: 0 0.5em; - border-left: 1px solid #DFDFDF; - line-height: 30px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.fieldhelpers-field-repeater-label { - font-weight: bold; } - -.fieldhelpers-field-repeater-list .fieldhelpers-sortable-placeholder { - border: 3px dashed #ddd; } - -.fieldhelpers-field-repeater-list .fieldhelpers-field-repeater-content:after { - content: ''; - display: table; - clear: both; } - -.fieldhelpers-field-repeater-row { - padding: 0.5em; - margin: 0.5em 0; - border: 1px solid #ddd; - background: #fff; } - .fieldhelpers-field-repeater-row:before { - content: ''; - display: table; - clear: both; } - .fieldhelpers-field-repeater-row.ui-sortable-helper { - opacity: 0.5; } - .fieldhelpers-field-repeater-row .fieldhelpers-field-repeater-handle { - height: 20px; - cursor: move; - margin-bottom: 10px; - background-image: -webkit-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%); - background-image: repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%); - background-size: 3px 3px; } - -.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-content { - display: none; } - -.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior { - padding: 0 0.5em 0 0.5em; } - .fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior .fieldhelpers-field-repeater-delete-button { - float: right; } - -.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-handle { - cursor: pointer; } - -.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-row.opened .fieldhelpers-field-repeater-collapsable-collapse-icon { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); } - -.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon { - -webkit-transition: -webkit-transform 300ms ease-in 0s; - transition: -webkit-transform 300ms ease-in 0s; - transition: transform 300ms ease-in 0s; - transition: transform 300ms ease-in 0s, -webkit-transform 300ms ease-in 0s; } - .fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon:hover { - cursor: pointer; } - -.select2-container--default .fieldhelpers-select2.select2-selection--single.select2-selection, .select2-container--default .fieldhelpers-select2.select2-selection--multiple.select2-selection { - border-radius: 0; - border: 1px solid #ddd; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07); - outline: none; - margin: 1px; - height: auto; } - -.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__rendered, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__rendered { - line-height: inherit; - padding: 3px 5px; - font-size: 14px; } - -.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-search, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-search { - margin-bottom: 0; } - -.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__choice, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__choice { - border-radius: 0; } - -.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__clear, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__clear { - margin-right: 15px; } - -.select2-container--default .fieldhelpers-select2.select2-dropdown { - border-radius: 0; - border: 1px solid #ddd; - -webkit-box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); - box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); } - .select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option--highlighted[aria-selected] { - background-color: #007AB1; } - .select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option { - margin-bottom: 0; } - -.fieldhelpers-field-table .fieldhelpers-field-table-loading { - text-align: center; } - .fieldhelpers-field-table .fieldhelpers-field-table-loading .spinner { - float: none; - display: inline-block; } - -.fieldhelpers-field-table table { - width: 100%; - border-collapse: collapse; } - -.fieldhelpers-field-table th, .fieldhelpers-field-table td { - padding: 5px; } - -.fieldhelpers-field-table thead input[type="text"] { - background: #fff78a; } - -.fieldhelpers-field-table input[type="text"] { - width: 100%; } - -.fieldhelpers-field-table .fieldhelpers-field-table-delete-columns { - text-align: center; } - -.fieldhelpers-field-toggle-container { - position: relative; - display: inline-block; - width: 60px; - height: 34px; } - .fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider { - background-color: #007AB1; } - .fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider:before { - -webkit-transform: translateX(26px); - -ms-transform: translateX(26px); - transform: translateX(26px); } - .fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #ccc; - -webkit-transition: -webkit-transform 300ms; - transition: -webkit-transform 300ms; - transition: transform 300ms; - transition: transform 300ms, -webkit-transform 300ms; } - .fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider:before { - position: absolute; - content: ""; - height: 26px; - width: 26px; - left: 4px; - bottom: 4px; - background-color: white; - -webkit-transition: -webkit-transform 300ms; - transition: -webkit-transform 300ms; - transition: transform 300ms; - transition: transform 300ms, -webkit-transform 300ms; } - -.fieldhelpers-field-wysiwyg-label { - font-weight: bold; } - -.fieldhelpers-field-tip { - position: relative; - display: inline-block; } - .fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text { - left: -10px; } - .fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text:before { - left: 10px; } - .fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text { - right: -10px; } - .fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text:before { - right: 10px; } - .fieldhelpers-field-tip:hover .fieldhelpers-field-tip-text { - visibility: visible; - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); } - .fieldhelpers-field-tip:hover .fieldhelpers-field-tip-toggle { - color: #007AB1; } - .fieldhelpers-field-tip .fieldhelpers-field-tip-toggle { - cursor: pointer; - -webkit-transition: color 300ms; - transition: color 300ms; } - .fieldhelpers-field-tip .fieldhelpers-field-tip-text { - position: absolute; - visibility: hidden; - opacity: 0; - top: 100%; - margin-top: 15px; - background: #007AB1; - color: #fff; - padding: 1em; - width: 300px; - text-align: left; - -webkit-box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); - box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); - -webkit-transform: translateY(10px); - -ms-transform: translateY(10px); - transform: translateY(10px); - -webkit-transition: visibility 300ms, opacity 300ms, -webkit-transform 300ms; - transition: visibility 300ms, opacity 300ms, -webkit-transform 300ms; - transition: visibility 300ms, opacity 300ms, transform 300ms; - transition: visibility 300ms, opacity 300ms, transform 300ms, -webkit-transform 300ms; - z-index: 100; } - .fieldhelpers-field-tip .fieldhelpers-field-tip-text:before { - content: ''; - position: absolute; - bottom: 100%; - width: 0; - height: 0; - border-style: solid; - border-width: 0 10px 10px 10px; - border-color: transparent transparent #007AB1 transparent; } - .fieldhelpers-field-tip .fieldhelpers-field-tip-text:after { - content: ''; - position: absolute; - bottom: 100%; - left: 0; - width: 100%; - height: 15px; } - .fieldhelpers-field-tip .fieldhelpers-field-tip-text a { - color: inherit !important; - text-decoration: underline; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mbGF0cGlja3IvZGlzdC9mbGF0cGlja3IuY3NzIiwiZ2xvYmFsL19jb21tb24uc2NzcyIsImdsb2JhbC9fbGF5b3V0LnNjc3MiLCJmaWVsZHMvX2ZpZWxkLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWNoZWNrYm94LnNjc3MiLCJnbG9iYWwvX3NldHRpbmdzLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWNvbG9ycGlja2VyLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWRhdGV0aW1lcGlja2VyLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWhpZGRlbi5zY3NzIiwiZmllbGRzL19maWVsZC1saXN0LnNjc3MiLCJmaWVsZHMvX2ZpZWxkLW1lZGlhLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLW51bWJlci5zY3NzIiwiZmllbGRzL19maWVsZC1yYWRpby5zY3NzIiwiZmllbGRzL19maWVsZC1yZXBlYXRlci5zY3NzIiwiZmllbGRzL19maWVsZC1zZWxlY3Quc2NzcyIsImZpZWxkcy9fZmllbGQtdGFibGUuc2NzcyIsImZpZWxkcy9fZmllbGQtdG9nZ2xlLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLXd5c2l3eWcuc2NzcyIsImNvbXBvbmVudHMvX2ZpZWxkLXRpcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usd0JBQXVCO0VBQ3ZCLFdBQVU7RUFDVixjQUFhO0VBQ2IsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1Ysd0JBQXVCO0VBQ2YsZ0JBQWU7RUFDdkIsZUFBYztFQUNkLFVBQVM7RUFDVCxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQiwrQkFBOEI7RUFDdEIsdUJBQXNCO0VBQzlCLCtCQUE4QjtFQUMxQiwyQkFBMEI7RUFDOUIsaUJBQWdCO0VBQ2hCLHlIQUFxSDtFQUM3RyxpSEFBNkcsRUFDdEg7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLGtCQUFpQjtFQUNqQixvQkFBbUIsRUFDcEI7O0FBQ0Q7RUFDRSxzQkFBcUI7RUFDckIsZUFBYyxFQUNmOztBQUNEO0VBQ0UscUVBQW9FO0VBQzVELDZEQUE0RCxFQUNyRTs7QUFDRDtFQUNFLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsU0FBUSxFQUNUOztBQUNEO0VBQ0UsbUJBQWtCO0VBQ2xCLHNCQUFxQixFQUN0Qjs7QUFDRDtFQUNFLGFBQVk7RUFDWixlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxvQ0FBbUM7RUFDM0IsNEJBQTJCLEVBQ3BDOztBQUNEO0VBQ0Usc0RBQXFEO0VBQzdDLDhDQUE2QyxFQUN0RDs7QUFDRDs7RUFFRSxpQkFBZ0I7RUFDaEIsOEJBQTZCO0VBQzdCLDZCQUE0QixFQUM3Qjs7QUFDRDtFQUNFLGVBQWMsRUFDZjs7QUFDRDtFQUNFLGFBQVk7RUFDWiw4QkFBNkIsRUFDOUI7O0FBQ0Q7RUFDRSxhQUFZLEVBQ2I7O0FBQ0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxxQkFBb0I7RUFDcEIsMEJBQXlCO0VBQ3pCLFlBQVc7RUFDWCxVQUFTO0VBQ1QsU0FBUTtFQUNSLFdBQVUsRUFDWDs7QUFDRDs7RUFFRSxXQUFVO0VBQ1YsWUFBVyxFQUNaOztBQUNEO0VBQ0Usa0JBQWlCO0VBQ2pCLGVBQWMsRUFDZjs7QUFDRDtFQUNFLGtCQUFpQjtFQUNqQixlQUFjLEVBQ2Y7O0FBQ0Q7O0VBRUUsYUFBWSxFQUNiOztBQUNEO0VBQ0UsNkJBQTRCLEVBQzdCOztBQUNEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUNEOztFQUVFLFVBQVMsRUFDVjs7QUFDRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFDRDtFQUNFLHVCQUFzQixFQUN2Qjs7QUFDRDtFQUNFLFdBQVUsRUFDWDs7QUFDRDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUIsRUFDdEI7O0FBQ0Q7RUFDRSxxQkFBb0I7RUFDcEIsc0JBQXFCO0VBQ3JCLHFCQUFvQjtFQUNwQixjQUFhLEVBQ2Q7O0FBQ0Q7RUFDRSx3QkFBdUI7RUFDdkIsMEJBQXNCO0VBQ3RCLHlCQUFxQjtFQUNyQixhQUFZO0VBQ1osZUFBYztFQUNkLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsMEJBQXlCO0VBQ3RCLHVCQUFzQjtFQUNyQixzQkFBcUI7RUFDakIsa0JBQWlCO0VBQ3pCLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDWCxZQUFXO0VBQ1AsUUFBTyxFQUNoQjs7QUFDRDs7RUFFRSxzQkFBcUI7RUFDckIsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLGFBQVk7RUFDWixjQUFhO0VBQ2IsV0FBVTtFQUNWLDBCQUFzQjtFQUN0Qix5QkFBcUIsRUFDdEI7O0FBQ0Q7O0VBRUUsY0FBYSxFQUNkOztBQUNEOztFQUVFLG1CQUFrQixFQUNuQjs7QUFDRDs7RUFFQTswQkFDMEI7RUFDMUI7UUFDUTtFQUNOLFFBQU87RUFDVDt3QkFDd0I7RUFDeEI7UUFDUSxFQUNQOztBQUNEOzBCQUMwQjtBQUMxQjt3QkFDd0I7QUFDeEI7O0VBRUE7MEJBQzBCO0VBQzFCO1FBQ1E7RUFDTixTQUFRO0VBQ1Y7d0JBQ3dCO0VBQ3hCO1FBQ1EsRUFDUDs7QUFDRDswQkFDMEI7QUFDMUI7d0JBQ3dCO0FBQ3hCOztFQUVFLGVBQWMsRUFDZjs7QUFDRDs7RUFFRSxjQUFhLEVBQ2Q7O0FBQ0Q7O0VBRUUsWUFBVztFQUNYLGFBQVksRUFDYjs7QUFDRDs7RUFFRSw4QkFBNkI7RUFDN0Isc0JBQXFCO0VBQ3JCLGNBQWEsRUFDZDs7QUFDRDtFQUNFLG1CQUFrQjtFQUNsQixhQUFZLEVBQ2I7O0FBQ0Q7O0VBRUUsc0JBQXFCLEVBQ3RCOztBQUNEO0VBQ0UsWUFBVyxFQUNaOztBQUNEO0VBQ0UsY0FBYSxFQUNkOztBQUNEOztFQUVFLFVBQVM7RUFDVCx5QkFBd0IsRUFDekI7O0FBQ0Q7RUFDRSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFlBQVc7RUFDWCxxQkFBb0I7RUFDcEIsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixXQUFVO0VBQ1YsZ0JBQWU7RUFDZix5Q0FBcUM7RUFDckMsK0JBQThCO0VBQ3RCLHVCQUFzQixFQUMvQjs7QUFDRDtFQUNFLCtCQUEyQixFQUM1Qjs7QUFDRDtFQUNFLCtCQUEyQixFQUM1Qjs7QUFDRDtFQUNFLGVBQWM7RUFDZCxZQUFXO0VBQ1gsbUJBQWtCLEVBQ25COztBQUNEO0VBQ0UsT0FBTTtFQUNOLGlCQUFnQixFQUNqQjs7QUFDRDtFQUNFLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFDbkMsK0NBQTJDO0VBQzNDLFNBQVEsRUFDVDs7QUFDRDtFQUNFLFNBQVEsRUFDVDs7QUFDRDtFQUNFLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFDbkMsNENBQXdDO0VBQ3hDLFNBQVEsRUFDVDs7QUFDRDtFQUNFLGVBQWM7RUFDZCxhQUFZLEVBQ2I7O0FBQ0Q7RUFDRSx5QkFBcUIsRUFDdEI7O0FBQ0Q7RUFDRSxnQ0FBNEIsRUFDN0I7O0FBQ0Q7RUFDRSxXQUFVLEVBQ1g7O0FBQ0Q7RUFDRSxnQkFBZTtFQUNmLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsWUFBVztFQUNYLHNCQUFxQjtFQUNyQixlQUFjO0VBQ2QsYUFBWTtFQUNaLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsOENBQTZDO0VBQ3JDLHNDQUFxQyxFQUM5Qzs7QUFDRDtFQUNFLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsZ0NBQTRCLEVBQzdCOztBQUNEO0VBQ0UsV0FBVTtFQUNWLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7O0FBQ0Q7RUFDRSx3Q0FBb0MsRUFDckM7O0FBQ0Q7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSx3QkFBdUI7RUFDdkIsK0JBQThCO0VBQ3RCLHVCQUFzQjtFQUM5QixlQUFjO0VBQ2QsYUFBWTtFQUNaLHFCQUFvQjtFQUNwQixVQUFTO0VBQ1Qsc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsaUJBQWdCO0VBQ2hCLHFCQUFvQjtFQUNwQixhQUFZO0VBQ1osVUFBUztFQUNULGlCQUFnQjtFQUNoQix3QkFBdUI7RUFDdkIsOEJBQTZCO0VBQzdCLDJCQUEwQjtFQUMxQixzQkFBcUIsRUFDdEI7O0FBQ0Q7RUFDRSxXQUFVLEVBQ1g7O0FBQ0Q7O0VBRUUsZ0JBQWU7RUFDZiwwQkFBc0I7RUFDdEIsd0JBQXVCO0VBQ3ZCLHFCQUFvQixFQUNyQjs7QUFDRDtFQUNFLHFCQUFvQjtFQUNwQix3QkFBdUI7RUFDdkIsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLHFCQUFvQjtFQUNwQixtQkFBa0I7RUFDbEIsY0FBYTtFQUNiLHFCQUFvQjtFQUNwQixtQkFBa0I7RUFDbEIsd0JBQXVCO0VBQ3ZCLCtCQUE4QjtFQUM5Qiw2QkFBNEI7RUFDNUIsMEJBQXlCO0VBQ3pCLFlBQVcsRUFDWjs7QUFDRDs7RUFFRSxjQUFhLEVBQ2Q7O0FBQ0Q7RUFDRSxnQ0FBNEIsRUFDN0I7O0FBQ0Q7RUFDRSw4QkFBNkI7RUFDN0IsY0FBYTtFQUNiLFdBQVUsRUFDWDs7QUFDRDtFQUNFLHdCQUF1QjtFQUN2QixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxxQkFBb0I7RUFDcEIsc0JBQXFCO0VBQ3JCLHFCQUFvQjtFQUNwQixjQUFhO0VBQ2IsMEJBQXlCO0VBQ3pCLDRCQUEyQjtFQUN2Qix1QkFBc0I7RUFDbEIsb0JBQW1CO0VBQzNCLGFBQVksRUFDYjs7QUFDRDtFQUNFLHFCQUFvQjtFQUNwQixzQkFBcUI7RUFDckIscUJBQW9CO0VBQ3BCLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDWCxZQUFXO0VBQ1AsUUFBTyxFQUNoQjs7QUFDRDtFQUNFLGdCQUFlO0VBQ2YsZUFBYztFQUNkLHdCQUF1QjtFQUN2QiwyQkFBdUI7RUFDdkIsZUFBYztFQUNkLFVBQVM7RUFDVCxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLG9CQUFtQjtFQUNuQixnQkFBZTtFQUNYLFlBQVc7RUFDUCxRQUFPO0VBQ2Ysb0JBQW1CLEVBQ3BCOztBQUNEOztFQUVFLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIscUJBQW9CO0VBQ3BCLHNCQUFxQjtFQUNyQixxQkFBb0I7RUFDcEIsY0FBYTtFQUNiLHlCQUF3QjtFQUN4QixnQ0FBK0I7RUFDM0Isc0JBQXFCO0VBQ2pCLHdCQUF1QjtFQUMvQixpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxXQUFVLEVBQ1g7O0FBQ0Q7RUFDRSxXQUFVO0VBQ1YsV0FBVTtFQUNWLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIscUJBQW9CO0VBQ3BCLHFCQUFvQjtFQUNwQiwrQkFBOEI7RUFDdEIsdUJBQXNCO0VBQzlCLHNCQUFxQjtFQUNyQixxQkFBb0I7RUFDcEIscUJBQW9CO0VBQ3BCLHNCQUFxQjtFQUNyQixjQUFhO0VBQ2Isd0JBQXVCO0VBQ2YsZ0JBQWU7RUFDdkIsb0JBQW1CO0VBQ25CLHVCQUFzQjtFQUN0QixzQ0FBcUM7RUFDN0IsOEJBQTZCO0VBQ3JDLDhDQUE2QztFQUNyQyxzQ0FBcUM7RUFDN0MsV0FBVSxFQUNYOztBQUNEO0VBQ0UscUNBQW9DO0VBQzVCLDZCQUE0QixFQUNyQzs7QUFDRDtFQUNFLGlCQUFnQjtFQUNoQiw4QkFBNkI7RUFDN0IscUJBQW9CO0VBQ3BCLCtCQUE4QjtFQUN0Qix1QkFBc0I7RUFDOUIsZUFBYztFQUNkLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixnQ0FBK0I7RUFDM0IscUNBQW9DO0VBQ2hDLHdCQUF1QjtFQUMvQixnQkFBZTtFQUNmLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsVUFBUztFQUNULHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIseUJBQXdCO0VBQ3hCLGdDQUErQjtFQUMzQixzQkFBcUI7RUFDakIsd0JBQXVCO0VBQy9CLG1CQUFrQixFQUNuQjs7QUFDRDs7Ozs7Ozs7Ozs7O0VBWUUsZ0JBQWU7RUFDZixXQUFVO0VBQ1Ysb0JBQW1CO0VBQ25CLHNCQUFxQixFQUN0Qjs7QUFDRDtFQUNFLHNCQUFxQixFQUN0Qjs7QUFDRDs7RUFFRSxzQkFBcUI7RUFDckIsb0JBQW1CO0VBQ25CLFlBQVcsRUFDWjs7QUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JFLG9CQUFtQjtFQUNuQix5QkFBd0I7RUFDaEIsaUJBQWdCO0VBQ3hCLFlBQVc7RUFDWCxzQkFBcUIsRUFDdEI7O0FBQ0Q7OztFQUdFLDZCQUE0QixFQUM3Qjs7QUFDRDs7O0VBR0UsNkJBQTRCLEVBQzdCOztBQUNEOzs7RUFHRSxzQ0FBcUM7RUFDN0IsOEJBQTZCLEVBQ3RDOztBQUNEOzs7RUFHRSxvQkFBbUIsRUFDcEI7O0FBQ0Q7RUFDRSxpQkFBZ0I7RUFDaEIsc0RBQXFEO0VBQzdDLDhDQUE2QyxFQUN0RDs7QUFDRDs7Ozs7OztFQU9FLDZCQUF5QjtFQUN6Qix3QkFBdUI7RUFDdkIsMEJBQXlCO0VBQ3pCLGdCQUFlLEVBQ2hCOztBQUNEOztFQUVFLG9CQUFtQjtFQUNuQiw2QkFBeUIsRUFDMUI7O0FBQ0Q7RUFDRSxpQkFBZ0I7RUFDaEIsc0RBQXFEO0VBQzdDLDhDQUE2QyxFQUN0RDs7QUFDRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUNEO0VBQ0UsWUFBVyxFQUNaOztBQUNEO0VBQ0UsZ0JBQWU7RUFDZixvQ0FBbUM7RUFDM0IsNEJBQTJCLEVBQ3BDOztBQUNEO0VBQ0UsWUFBVztFQUNYLFlBQVc7RUFDWCxrQkFBaUIsRUFDbEI7O0FBQ0Q7O0VBRUUsZUFBYztFQUNkLFlBQVc7RUFDWCxnQkFBZTtFQUNmLDZCQUF5QjtFQUN6Qix3QkFBdUI7RUFDdkIsZ0JBQWU7RUFDZixhQUFZLEVBQ2I7O0FBQ0Q7RUFDRSxlQUFjO0VBQ2QscUJBQW9CO0VBQ3BCLHNCQUFxQjtFQUNyQixxQkFBb0I7RUFDcEIsY0FBYTtFQUNiLCtCQUE4QjtFQUN0Qix1QkFBc0I7RUFDOUIsaUJBQWdCLEVBQ2pCOztBQUNEO0VBQ0Usc0JBQXFCO0VBQ3JCLFdBQVU7RUFDViwrQkFBOEI7RUFDdEIsdUJBQXNCLEVBQy9COztBQUNEO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixlQUFjO0VBQ2QsVUFBUztFQUNULGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsK0JBQThCO0VBQ3RCLHVCQUFzQjtFQUM5QixpQkFBZ0I7RUFDaEIscUJBQW9CO0VBQ3BCLHNCQUFxQjtFQUNyQixxQkFBb0I7RUFDcEIsY0FBYSxFQUNkOztBQUNEO0VBQ0UsWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDWCxZQUFXO0VBQ1AsUUFBTztFQUNmLFdBQVU7RUFDVixhQUFZO0VBQ1osWUFBVyxFQUNaOztBQUNEO0VBQ0UsNkJBQTRCLEVBQzdCOztBQUNEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUNEO0VBQ0UsV0FBVSxFQUNYOztBQUNEO0VBQ0UsV0FBVSxFQUNYOztBQUNEO0VBQ0Usd0JBQXVCO0VBQ3ZCLHlCQUF3QjtFQUNoQixpQkFBZ0I7RUFDeEIsVUFBUztFQUNULGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsVUFBUztFQUNULFdBQVU7RUFDVixnQkFBZTtFQUNmLHFCQUFvQjtFQUNwQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsK0JBQThCO0VBQ3RCLHVCQUFzQjtFQUM5Qiw4QkFBNkI7RUFDN0IsMkJBQTBCO0VBQzFCLHNCQUFxQixFQUN0Qjs7QUFDRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFDRDs7RUFFRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxXQUFVO0VBQ1YsVUFBUyxFQUNWOztBQUNEOztFQUVFLGdCQUFlO0VBQ2YsWUFBVztFQUNYLHFCQUFvQjtFQUNwQixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLFVBQVM7RUFDVCwwQkFBeUI7RUFDdEIsdUJBQXNCO0VBQ3JCLHNCQUFxQjtFQUNqQixrQkFBaUI7RUFDekIsMkJBQTBCO0VBQ3RCLDRCQUEyQjtFQUN2QixtQkFBa0IsRUFDM0I7O0FBQ0Q7RUFDRSxXQUFVO0VBQ1YsV0FBVTtFQUNWLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQUNqQjs7QUFDRDs7OztFQUlFLGlCQUFnQixFQUNqQjs7QUFDRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUNEO0VBQ0U7SUFDRSxXQUFVO0lBQ1YsNENBQTJDO0lBQ25DLG9DQUFtQyxFQUFBO0VBRTdDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QztJQUMvQixnQ0FBK0IsRUFBQSxFQUFBOztBQUczQztFQUNFO0lBQ0UsV0FBVTtJQUNWLDRDQUEyQztJQUNuQyxvQ0FBbUMsRUFBQTtFQUU3QztJQUNFLFdBQVU7SUFDVix3Q0FBdUM7SUFDL0IsZ0NBQStCLEVBQUEsRUFBQTs7QUM3d0IzQztFQUNFLHVCQUFzQjtFQUN0QixlQUFjLEVBQ2Y7O0FDR0Q7RUFMRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxZQUFXLEVBS1o7O0FBSUM7RUFYQSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxZQUFXO0VBWVQsWUFBTyxFQUtSO0VBSEM7SUFMRjtNQU1JLFlBQVcsRUFFZCxFQUFBOztBQVJEO0VBWEEsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixlQUFjO0VBQ2QsWUFBVztFQVlULFdBQU8sRUFLUjtFQUhDO0lBTEY7TUFNSSxZQUFXLEVBRWQsRUFBQTs7QUFSRDtFQVhBLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLFlBQVc7RUFZVCxpQkFBTyxFQUtSO0VBSEM7SUFMRjtNQU1JLFlBQVcsRUFFZCxFQUFBOztBQVJEO0VBWEEsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixlQUFjO0VBQ2QsWUFBVztFQVlULFdBQU8sRUFLUjtFQUhDO0lBTEY7TUFNSSxZQUFXLEVBRWQsRUFBQTs7QUFSRDtFQVhBLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLFlBQVc7RUFZVCxXQUFPLEVBS1I7RUFIQztJQUxGO01BTUksWUFBVyxFQUVkLEVBQUE7O0FDcEJIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UscUJBQW9CLEVBQ3JCOztBQUVEO0VBR0UsZ0JBQWUsRUFDZjs7QUNaRjtFQUNFLHNCQUFxQjtFQUNyQiwwQkFBeUI7RUFDekIsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWixnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLHFDQUE0QjtFQUE1Qiw2QkFBNEI7RUFDNUIsa0JBQWlCLEVBa0RsQjtFQXRERDtJQU9JLG9CQUE0QjtJQUM1QixrQ0FBeUI7SUFBekIsMEJBQXlCLEVBQzFCO0VBVEg7SUFZSSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWMsRUFDZjtFQWZIO0lBa0JJLGlDQUFnQyxFQUNqQztFQW5CSDtJQXNCTSxvQkM5QmlCLEVEdUNwQjtJQS9CSDtNQXlCUSxvQkFBc0MsRUFDekM7SUExQkw7TUE2Qk0sWUFBVyxFQUNaO0VBOUJMO0lBa0NJLFdBQVU7SUFDVixZQUFXO0lBQ1gsK0JBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixtQkFBa0IsRUFDbkI7RUF0Q0g7SUF5Q0ksb0JBQW1CLEVBQ3BCO0VBMUNIO0lBNkNJLGVBQWM7SUFDZCxZQUFXO0lBQ1gsV0FBVTtJQUNWLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsK0JBQThCO0lBQzlCLGtCQUFpQjtJQUNqQiwrQkFBc0I7WUFBdEIsdUJBQXNCLEVBQ3ZCOztBRTdESDtFQUNFLG1CQUFrQixFQVNuQjtFQVZEO0lBSUksbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxVQUFTO0lBQ1Qsb0RBQWtDO1lBQWxDLDRDQUFrQztJQUNsQyxhQUFZLEVBQ2I7O0FDVEg7RUFJRSx1QkFBc0IsRUFFdEI7O0FDTkY7RUFDRSxjQUFhLEVBQ2Q7O0FDRkQ7RUFFSSx1QkFBc0I7RUFDdEIsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxxQkFBb0I7RUFDcEIsYUFBWSxFQUNiOztBQVBIO0VBVUksWUFBVyxFQUNaOztBQ1hIO0VBRUksZUFBYztFQUNkLFlBQVc7RUFDWCxzQkFBcUI7RUFDckIsK0JBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QUFOSDtFQVNJLGdCQUFlLEVBQ2hCOztBQ1ZIO0VBRUksYUFBWSxFQWNiO0VBaEJIO0lBS00sbUJBQWtCLEVBVW5CO0lBZkw7TUFRUSw0QkFBMkI7TUFDM0IsbUJBQWtCO01BQ2xCLDBCQUF5QjtNQUN6QixTQUFRO01BQ1IsWUFBVztNQUNYLG9DQUEyQjtVQUEzQixnQ0FBMkI7Y0FBM0IsNEJBQTJCLEVBQzVCOztBQWRQO0VBb0JJLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsWUFBVztFQUNYLFdBQVU7RUFDVixVQUFTO0VBQ1QsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUEzQkg7RUE4QkksZUFBYztFQUNkLGFBQVk7RUFDWixZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLFdBQVU7RUFDVixnQkFBZTtFQUNmLFlBQVc7RUFDWCxvQk5yQ21CO0VNc0NuQiwwQkFBNEM7RUFDNUMsb0NBQThDO1VBQTlDLDRCQUE4QztFQUM5QyxjQUFhO0VBQ2IsaUJBQWdCO0VBQ2hCLGdCQUFlLEVBbUJoQjtFQTdESDtJQTZDTSxZQUFXO0lBQ1gsb0JBQXVDO0lBQ3ZDLHNCTi9DaUI7SU1nRGpCLG9DTmhEaUI7WU1nRGpCLDRCTmhEaUIsRU1pRGxCO0VBakRMO0lBb0RNLG1DQUEwQjtRQUExQiwrQkFBMEI7WUFBMUIsMkJBQTBCLEVBQzNCO0VBckRMO0lBd0RNLG1CQUFrQjtJQUNsQixxQkFBb0I7SUFDcEIsWUFBVztJQUNYLGFBQVksRUFDYjs7QUE1REw7RUFnRUksNEJBQTJCO0VBQzNCLDZCQUE0QjtFQUM1Qix1QkFBc0IsRUFDdkI7O0FBbkVIO0VBc0VJLCtCQUE4QjtFQUM5QixnQ0FBK0IsRUFDaEM7O0FDeEVIO0VBQ0Usc0JBQXFCO0VBQ3JCLDBCQUF5QjtFQUN6QixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YscUNBQTRCO0VBQTVCLDZCQUE0QixFQWtEN0I7RUFyREQ7SUFNSSxvQkFBNEI7SUFDNUIsa0NBQXlCO0lBQXpCLDBCQUF5QixFQUMxQjtFQVJIO0lBV0ksWUFBVztJQUNYLFlBQVc7SUFDWCxlQUFjLEVBQ2Y7RUFkSDtJQWlCSSxpQ0FBZ0MsRUFDakM7RUFsQkg7SUFxQkksb0JQN0JtQixFT3NDcEI7SUE5Qkg7TUF3Qk0sb0JBQXNDLEVBQ3ZDO0lBekJMO01BNEJNLFlBQVcsRUFDWjtFQTdCTDtJQWlDSSxXQUFVO0lBQ1YsWUFBVztJQUNYLCtCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsbUJBQWtCLEVBQ25CO0VBckNIO0lBd0NJLG9CQUFtQixFQUNwQjtFQXpDSDtJQTRDSSxlQUFjO0lBQ2QsWUFBVztJQUNYLFdBQVU7SUFDVixrQkFBaUI7SUFDakIsaUJBQWdCO0lBQ2hCLCtCQUE4QjtJQUM5QixrQkFBaUI7SUFDakIsK0JBQXNCO1lBQXRCLHVCQUFzQixFQUN2Qjs7QUM1REg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7RUFHSSx3QkFBdUIsRUFDeEI7O0FBSkg7RUFRTSxZQUFXO0VBQ1gsZUFBYztFQUNkLFlBQVcsRUFDWjs7QUFLTDtFQUNFLGVBQWM7RUFDZCxnQkFBZTtFQUNmLHVCQUFzQjtFQUN0QixpQkFBZ0IsRUFzQmpCO0VBMUJEO0lBT0ksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEVBQ1o7RUFWSDtJQWFJLGFBQVksRUFDYjtFQWRIO0lBaUJJLGFBQVk7SUFDWixhQUFZO0lBQ1osb0JBQW1CO0lBQ25CLGtKQUErSTtJQUcvSSwwSUFBdUk7SUFDdkkseUJBQXdCLEVBQ3pCOztBQUdIO0VBRUksY0FBYSxFQUNkOztBQUhIO0VBTUkseUJBQXdCLEVBS3pCO0VBWEg7SUFTTSxhQUFZLEVBQ2I7O0FBVkw7RUFjSSxnQkFBZSxFQUNoQjs7QUFmSDtFQW1CTSxrQ0FBeUI7TUFBekIsOEJBQXlCO1VBQXpCLDBCQUF5QixFQUMxQjs7QUFwQkw7RUF3QkksdURBQXNDO0VBQXRDLCtDQUFzQztFQUF0Qyx1Q0FBc0M7RUFBdEMsMkVBQXNDLEVBS3ZDO0VBN0JIO0lBMkJNLGdCQUFlLEVBQ2hCOztBQzVFTDtFQU1NLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsd0RBQXFDO1VBQXJDLGdEQUFxQztFQUNyQyxjQUFhO0VBQ2IsWUFBVztFQUNYLGFBQVksRUFDYjs7QUFaTDtFQWVNLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FBbEJMO0VBcUJNLGlCQUFnQixFQUNqQjs7QUF0Qkw7RUF5Qk0saUJBQWdCLEVBQ2pCOztBQTFCTDtFQTZCTSxtQkFBa0IsRUFDbkI7O0FBOUJMO0VBa0NJLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsb0RBQWtDO1VBQWxDLDRDQUFrQyxFQVNuQztFQTdDSDtJQXVDTSwwQlR2Q2lCLEVTd0NsQjtFQXhDTDtJQTJDTSxpQkFBZ0IsRUFDakI7O0FDNUNMO0VBR0ksbUJBQWtCLEVBTW5CO0VBVEg7SUFNTSxZQUFXO0lBQ1gsc0JBQXFCLEVBQ3RCOztBQVJMO0VBWUksWUFBVztFQUNYLDBCQUF5QixFQUMxQjs7QUFkSDtFQWlCSSxhQUFZLEVBQ2I7O0FBbEJIO0VBc0JNLG9CQUFtQixFQUNwQjs7QUF2Qkw7RUEyQkksWUFBVyxFQUNaOztBQTVCSDtFQStCSSxtQkFBa0IsRUFDbkI7O0FDaENIO0VBQ0UsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixZQUFXO0VBQ1gsYUFBWSxFQWlDYjtFQXJDRDtJQVFNLDBCWFJpQixFV2FsQjtJQWJMO01BV1Esb0NBQTJCO1VBQTNCLGdDQUEyQjtjQUEzQiw0QkFBMkIsRUFDNUI7RUFaUDtJQWlCSSxtQkFBa0I7SUFDbEIsZ0JBQWU7SUFDZixPQUFNO0lBQ04sUUFBTztJQUNQLFNBQVE7SUFDUixVQUFTO0lBQ1QsdUJBQXNCO0lBQ3RCLDRDQUEyQjtJQUEzQixvQ0FBMkI7SUFBM0IsNEJBQTJCO0lBQTNCLHFEQUEyQixFQVk1QjtJQXBDSDtNQTJCTSxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLGFBQVk7TUFDWixZQUFXO01BQ1gsVUFBUztNQUNULFlBQVc7TUFDWCx3QkFBdUI7TUFDdkIsNENBQTJCO01BQTNCLG9DQUEyQjtNQUEzQiw0QkFBMkI7TUFBM0IscURBQTJCLEVBQzVCOztBQ25DTDtFQUNFLGtCQUFpQixFQUNsQjs7QUNGRDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUIsRUFnRnRCO0VBbEZEO0lBTU0sWUFBVyxFQUtaO0lBWEw7TUFTUSxXQUFVLEVBQ1g7RUFWUDtJQWdCTSxhQUFZLEVBS2I7SUFyQkw7TUFtQlEsWUFBVyxFQUNaO0VBcEJQO0lBMEJNLG9CQUFtQjtJQUNuQixXQUFVO0lBQ1YsaUNBQXdCO1FBQXhCLDZCQUF3QjtZQUF4Qix5QkFBd0IsRUFDekI7RUE3Qkw7SUFnQ00sZWJoQ2lCLEVhaUNsQjtFQWpDTDtJQXFDSSxnQkFBZTtJQUNmLGdDQUF1QjtJQUF2Qix3QkFBdUIsRUFDeEI7RUF2Q0g7SUEwQ0ksbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsVUFBUztJQUNULGlCQUFnQjtJQUNoQixvQmIvQ21CO0lhZ0RuQixZQUFXO0lBQ1gsYUFBWTtJQUNaLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsb0RBQWtDO1lBQWxDLDRDQUFrQztJQUNsQyxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQiw2RUFBNEQ7SUFBNUQscUVBQTREO0lBQTVELDZEQUE0RDtJQUE1RCxzRkFBNEQ7SUFDNUQsYUFBWSxFQTBCYjtJQWpGSDtNQTBETSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixTQUFRO01BQ1IsVUFBUztNQUNULG9CQUFtQjtNQUNuQiwrQkFBOEI7TUFDOUIsMERBQWdFLEVBQ2pFO0lBbEVMO01BcUVNLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLFFBQU87TUFDUCxZQUFXO01BQ1gsYUFBWSxFQUNiO0lBM0VMO01BOEVNLDBCQUF5QjtNQUN6QiwyQkFBMEIsRUFDM0IiLCJmaWxlIjoicmJtLWZpZWxkLWhlbHBlcnMtYWRtaW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZsYXRwaWNrci1jYWxlbmRhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAwIDAgI2U2ZTZlNiwgLTFweCAwIDAgI2U2ZTZlNiwgMCAxcHggMCAjZTZlNmU2LCAwIC0xcHggMCAjZTZlNmU2LCAwIDNweCAxM3B4IHJnYmEoMCwwLDAsMC4wOCk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2LCAtMXB4IDAgMCAjZTZlNmU2LCAwIDFweCAwICNlNmU2ZTYsIDAgLTFweCAwICNlNmU2ZTYsIDAgM3B4IDEzcHggcmdiYSgwLDAsMCwwLjA4KTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIub3Blbixcbi5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lIHtcbiAgb3BhY2l0eTogMTtcbiAgbWF4LWhlaWdodDogNjQwcHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlSW5Eb3duIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICAgICAgICBhbmltYXRpb246IGZwRmFkZUluRG93biAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5zdGF0aWMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMnB4KTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW4ge1xuICB6LWluZGV4OiA5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzEpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzcpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzIpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzEpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMnB4IDAgMCAjZTZlNmU2LCA1cHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTJweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1RpbWUgLmRheUNvbnRhaW5lciB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lciB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5zaG93VGltZUlucHV0Lmhhc1RpbWUgLmZsYXRwaWNrci10aW1lIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubm9DYWxlbmRhci5oYXNUaW1lIC5mbGF0cGlja3ItdGltZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGVmdDogMjJweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIycHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBtYXJnaW46IDAgLTVweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luOiAwIC00cHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xuICBib3R0b206IDEwMCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlNmU2ZTY7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciB7XG4gIHRvcDogMTAwJTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZmxhdHBpY2tyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItbW9udGhzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW1vbnRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7XG4gIGZpbGw6IHJnYmEoMCwwLDAsMC45KTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGgsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIGksXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICBsZWZ0OiAwO1xuLypcbiAgICAgIC8qcnRsOmVuZDppZ25vcmUqL1xuLypcbiAgICAgICovXG59XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICByaWdodDogMDtcbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi8qXG4gICAgICAqL1xufVxuLypcbiAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgLypydGw6ZW5kOmlnbm9yZSovXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIge1xuICBjb2xvcjogIzk1OWVhOTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3ZlciBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIgc3ZnIHtcbiAgZmlsbDogI2Y2NDc0Nztcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcgcGF0aCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbCAwLjFzO1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuMXM7XG4gIGZpbGw6IGluaGVyaXQ7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0LFxuLm51bUlucHV0V3JhcHBlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTRweDtcbiAgcGFkZGluZzogMCA0cHggMCAycHg7XG4gIGhlaWdodDogNTAlO1xuICBsaW5lLWhlaWdodDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsMC4xNSk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LDAuNik7XG4gIHRvcDogMjYlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gIHRvcDogNTAlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywwLjYpO1xuICB0b3A6IDQwJTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xufVxuLm51bUlucHV0V3JhcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyOmhvdmVyIHNwYW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHtcbiAgZm9udC1zaXplOiAxMzUlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDc1JTtcbiAgbGVmdDogMTIuNSU7XG4gIHBhZGRpbmc6IDcuNDhweCAwIDAgMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMzRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVjaDtcbiAgcGFkZGluZzogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA2Y2g7XG4gIHdpZHRoOiA3Y2hcXDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAwIDAgMCAwLjVjaDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdOmhvdmVyIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRocyB7XG4gIGFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWNoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6Zm9jdXMsXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoczphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHMgLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxhdHBpY2tyLXdlZWtkYXlzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbi5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG5zcGFuLmZsYXRwaWNrci13ZWVrZGF5IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDkwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3Itd2Vla3Mge1xuICBwYWRkaW5nOiAxcHggMCAwIDA7XG59XG4uZmxhdHBpY2tyLWRheXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG59XG4uZmxhdHBpY2tyLWRheXM6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmRheUNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIG1pbi13aWR0aDogMzA3Ljg3NXB4O1xuICBtYXgtd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gIG9wYWNpdHk6IDE7XG59XG4uZGF5Q29udGFpbmVyICsgLmRheUNvbnRhaW5lciB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwIDAgI2U2ZTZlNjtcbiAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTQuMjg1NzE0MyU7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTQuMjg1NzE0MyU7XG4gICAgICAgICAgZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIG1heC13aWR0aDogMzlweDtcbiAgaGVpZ2h0OiAzOXB4O1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmxhdHBpY2tyLWRheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnRvZGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkudG9kYXkge1xuICBib3JkZXItY29sb3I6ICM5NTllYTk7XG59XG4uZmxhdHBpY2tyLWRheS50b2RheTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU5ZWE5O1xuICBiYWNrZ3JvdW5kOiAjOTU5ZWE5O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6Zm9jdXMsXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQucHJldk1vbnRoRGF5LFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLm5leHRNb250aERheSB7XG4gIGJhY2tncm91bmQ6ICM1NjlmZjc7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UgKyAuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuaW5SYW5nZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTVweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC01cHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsXG4uZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5IHtcbiAgY29sb3I6IHJnYmEoNTcsNTcsNTcsMC4zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiByZ2JhKDU3LDU3LDU3LDAuMSk7XG59XG4uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtNXB4IDAgMCAjNTY5ZmY3LCA1cHggMCAwICM1NjlmZjc7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTVweCAwIDAgIzU2OWZmNywgNXB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheSB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrcyB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksXG4uZmxhdHBpY2tyLXdlZWt3cmFwcGVyIHNwYW4uZmxhdHBpY2tyLWRheTpob3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBjb2xvcjogcmdiYSg1Nyw1Nyw1NywwLjMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGF0cGlja3ItckNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZmxhdHBpY2tyLXRpbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG91dGxpbmU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiAyNiU7XG59XG4uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA0OSU7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMzkzOTM5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSxcbi5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25kIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yLFxuLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG0ge1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMiU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtIHtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDE4JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6aG92ZXIsXG4uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3Zlcixcbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyxcbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cbi5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBGYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIiwiLmZpZWxkaGVscGVycy1maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNWVtO1xufSIsIkBtaXhpbiBmaWVsZGhlbHBlcnMtY29sKCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5maWVsZGhlbHBlcnMtY29sIHtcbiAgQGluY2x1ZGUgZmllbGRoZWxwZXJzLWNvbCgpO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuXG4gIC5maWVsZGhlbHBlcnMtY29sLSN7JGl9IHtcblxuICAgIEBpbmNsdWRlIGZpZWxkaGVscGVycy1jb2woKTtcbiAgICB3aWR0aDogI3sxMDAgLyAkaX0je1wiJVwifTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtY29udGVudCB7XG5cdFxuXHQmID4gKiwgW2RhdGEtaW1hZ2UtcHJldmlld10ge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXHRcbn0iLCIuZmllbGRoZWxwZXJzLWZpZWxkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXM7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcztcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGO1xuICB9XG5cbiAgJi5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtcm93LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtaW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW46IDAuNWVtIDAuNWVtO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59IiwiJHByaW1hcnktY29sb3I6ICMwMDdBQjE7IiwiLmZpZWxkaGVscGVycy1maWVsZC1jb2xvcnBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3AtcGlja2VyLWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMzBweCByZ2JhKCMwMDAsIDAuNSk7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG59IiwiaW5wdXRbcmVhZG9ubHldIHtcblxuXHQmLmZpZWxkaGVscGVycy1maWVsZC10aW1lcGlja2VyLXByZXZpZXcsICYuZmllbGRoZWxwZXJzLWZpZWxkLWRhdGV0aW1lcGlja2VyLXByZXZpZXcsICYuZmllbGRoZWxwZXJzLWZpZWxkLWRhdGVwaWNrZXItcHJldmlldyB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdH1cblxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuZmllbGRoZWxwZXJzLWZpZWxkLWxpc3Qge1xuICAuZmllbGRoZWxwZXJzLWZpZWxkLWxpc3QtaXRlbSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtbGlzdC1pdGVtLWhhbmRsZSB7XG4gICAgY29sb3I6ICNiYmI7XG4gIH1cbn0iLCIuZmllbGRoZWxwZXJzLW1lZGlhLXVwbG9hZGVyIHtcbiAgLm1lZGlhLXVybCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuaW1hZ2UtcHJldmlldyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC1udW1iZXIge1xuICAuZmllbGRoZWxwZXJzLWZpZWxkLW51bWJlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICZbZGF0YS1wb3N0Zml4XSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcG9zdGZpeCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMjBweCArIDAuNWVtKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRXhjZXNzaXZlIHNlbGVjdG9yIGJlY2F1c2UgV1AgdHJpZXMgdG8gY2hhbmdlIGl0IGZvciBtb2JpbGVcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0uZmllbGRoZWxwZXJzLWZpZWxkLWlucHV0IHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1udW1iZXItaW5jcmVhc2UsIC5maWVsZGhlbHBlcnMtZmllbGQtbnVtYmVyLWRlY3JlYXNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA1JSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAwICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIH1cblxuICAgIC5kYXNoaWNvbnMge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLW51bWJlci1pbmNyZWFzZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtbnVtYmVyLWRlY3JlYXNlIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtcmFkaW8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkaGVscGVycy1maWVsZC1yYWRpby1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oI2ZmZiwgNSUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMHM7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgfVxuXG4gICYuZmllbGRoZWxwZXJzLWZpZWxkLXJhZGlvLXJvdy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXJhZGlvLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmFkaW8taW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBtYXJnaW46IDAuNWVtIDAuNWVtO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yYWRpby1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLWxpc3Qge1xuXG4gIC5maWVsZGhlbHBlcnMtc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIGJvcmRlcjogM3B4IGRhc2hlZCAjZGRkO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb250ZW50e1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItcm93IHtcbiAgcGFkZGluZzogMC41ZW07XG4gIG1hcmdpbjogMC41ZW0gMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAmLnVpLXNvcnRhYmxlLWhlbHBlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1oYW5kbGUge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtcmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChjZW50ZXIgY2VudGVyLCByZ2JhKDAsIDAsIDAsIC4yKSwgcmdiYSgwLCAwLCAwLCAuMikgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDNweCAzcHg7XG4gIH1cbn1cblxuLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb2xsYXBzYWJsZSB7XG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItaGVhZGVyLWludGVyaW9yIHtcbiAgICBwYWRkaW5nOiAwIDAuNWVtIDAgMC41ZW07XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLWRlbGV0ZS1idXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29sbGFwc2FibGUtaGFuZGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLXJvdy5vcGVuZWQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29sbGFwc2FibGUtY29sbGFwc2UtaWNvbntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb2xsYXBzYWJsZS1jb2xsYXBzZS1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbiAwcztcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufSIsIi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuZmllbGRoZWxwZXJzLXNlbGVjdDIge1xuXG4gICYuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSxcbiAgJi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuXG4gICAgJi5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCMwMDAsIDAuMDcpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlYXJjaCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCA0MHB4IHJnYmEoIzAwMCwgMC4zKTtcblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC10YWJsZSB7XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC10YWJsZS1sb2FkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuc3Bpbm5lciB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIHRoLCB0ZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY3OGE7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC10YWJsZS1kZWxldGUtY29sdW1ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC10b2dnbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDM0cHg7XG5cbiAgJi5jaGVja2VkIHtcbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXRvZ2dsZS1zbGlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtdG9nZ2xlLXNsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXM7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICBib3R0b206IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zO1xuICAgIH1cbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtd3lzaXd5Zy1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJi5maWVsZGhlbHBlcnMtZmllbGQtdGlwLWFsaWduLWxlZnQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgbGVmdDogLTEwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkaGVscGVycy1maWVsZC10aXAtYWxpZ24tcmlnaHQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLmZpZWxkaGVscGVycy1maWVsZC10aXAtdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLXRpcC10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcztcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCA0MHB4IHJnYmEoIzAwMCwgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAzMDBtcywgb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkcHJpbWFyeS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSJdfQ== */ +.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.fieldhelpers-fieldset{border:1px solid #ddd;padding:.5em}.fieldhelpers-col{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left}.fieldhelpers-col-1{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:100%}@media only screen and (max-width:640px){.fieldhelpers-col-1{width:100%}}.fieldhelpers-col-2{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:50%}@media only screen and (max-width:640px){.fieldhelpers-col-2{width:100%}}.fieldhelpers-col-3{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:33.33333%}@media only screen and (max-width:640px){.fieldhelpers-col-3{width:100%}}.fieldhelpers-col-4{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:25%}@media only screen and (max-width:640px){.fieldhelpers-col-4{width:100%}}.fieldhelpers-col-5{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:20%}@media only screen and (max-width:640px){.fieldhelpers-col-5{width:100%}}.fieldhelpers-field{margin-bottom:1em}.fieldhelpers-field-header{margin-bottom:.5em}.fieldhelpers-field-content [data-image-preview],.fieldhelpers-field-content>*{max-width:100%}.fieldhelpers-field-checkbox-container{display:inline-block;border:1px solid #dfdfdf;background:#fff;width:300px;max-width:100%}.fieldhelpers-field-checkbox-row{position:relative;cursor:pointer;-webkit-transition:background 150ms;transition:background 150ms;line-height:30px}.fieldhelpers-field-checkbox-row:hover{background:#f2f2f2;-webkit-transition:background 0s;transition:background 0s}.fieldhelpers-field-checkbox-row:after{content:'';clear:both;display:table}.fieldhelpers-field-checkbox-row:not(:last-of-type){border-bottom:1px solid #dfdfdf}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active{background:#007ab1}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active:hover{background:#006898}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active .fieldhelpers-field-checkbox-label{color:#fff}.fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-input-container{width:15%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.fieldhelpers-field-checkbox-row input[type=checkbox]{margin:.5em .5em}.fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-label{display:block;float:left;width:85%;font-weight:700;padding:0 .5em;border-left:1px solid #dfdfdf;line-height:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-field-colorpicker{position:relative}.fieldhelpers-field-colorpicker .wp-picker-holder{position:absolute;left:0;top:100%;-webkit-box-shadow:5px 5px 30px rgba(0,0,0,.5);box-shadow:5px 5px 30px rgba(0,0,0,.5);z-index:100}input[readonly].fieldhelpers-field-datepicker-preview,input[readonly].fieldhelpers-field-datetimepicker-preview,input[readonly].fieldhelpers-field-timepicker-preview{background-color:#fff}.fieldhelpers-field-hidden{display:none}.fieldhelpers-field-list .fieldhelpers-field-list-item{border:1px solid #ddd;background-color:#fff;padding:.5em;margin-bottom:.5em;cursor:move}.fieldhelpers-field-list .fieldhelpers-field-list-item-handle{color:#bbb}.fieldhelpers-media-uploader .media-url{display:block;width:100%;word-break:break-all;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-media-uploader .image-preview{max-width:100%}.fieldhelpers-field-number .fieldhelpers-field-number-container{width:100px}.fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]{position:relative}.fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]:after{content:attr(data-postfix);position:absolute;right:calc(20px + .5em);top:50%;color:#aaa;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.fieldhelpers-field-number input[type=text].fieldhelpers-field-input{height:40px;line-height:40px;width:80px;padding:0;margin:0;float:left;text-align:center}.fieldhelpers-field-number .fieldhelpers-field-number-decrease,.fieldhelpers-field-number .fieldhelpers-field-number-increase{display:block;height:20px;width:20px;line-height:20px;padding:0;font-size:14px;color:#fff;background:#007ab1;border:1px solid #006898;-webkit-box-shadow:0 1px 0 #006898;box-shadow:0 1px 0 #006898;outline:0;border-radius:0;cursor:pointer}.fieldhelpers-field-number .fieldhelpers-field-number-decrease:hover,.fieldhelpers-field-number .fieldhelpers-field-number-increase:hover{color:#fff;background:#008ccb;border-color:#007ab1;-webkit-box-shadow:0 1px 0 #007ab1;box-shadow:0 1px 0 #007ab1}.fieldhelpers-field-number .fieldhelpers-field-number-decrease:active,.fieldhelpers-field-number .fieldhelpers-field-number-increase:active{-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.fieldhelpers-field-number .fieldhelpers-field-number-decrease .dashicons,.fieldhelpers-field-number .fieldhelpers-field-number-increase .dashicons{font-size:inherit;line-height:inherit;width:auto;height:auto}.fieldhelpers-field-number .fieldhelpers-field-number-increase{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-width:0}.fieldhelpers-field-number .fieldhelpers-field-number-decrease{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.fieldhelpers-field-radio-container{display:inline-block;border:1px solid #dfdfdf;background:#fff;width:300px;max-width:100%}.fieldhelpers-field-radio-row{position:relative;cursor:pointer;-webkit-transition:background 150ms;transition:background 150ms}.fieldhelpers-field-radio-row:hover{background:#f2f2f2;-webkit-transition:background 0s;transition:background 0s}.fieldhelpers-field-radio-row:after{content:'';clear:both;display:table}.fieldhelpers-field-radio-row:not(:last-of-type){border-bottom:1px solid #dfdfdf}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active{background:#007ab1}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active:hover{background:#006898}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active .fieldhelpers-field-radio-label{color:#fff}.fieldhelpers-field-radio-row .fieldhelpers-field-radio-input-container{width:15%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.fieldhelpers-field-radio-row input[type=radio]{margin:.5em .5em}.fieldhelpers-field-radio-row .fieldhelpers-field-radio-label{display:block;float:left;width:85%;font-weight:700;padding:0 .5em;border-left:1px solid #dfdfdf;line-height:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-field-repeater-label{font-weight:700}.fieldhelpers-field-repeater-list .fieldhelpers-sortable-placeholder{border:3px dashed #ddd}.fieldhelpers-field-repeater-list .fieldhelpers-field-repeater-content:after{content:'';display:table;clear:both}.fieldhelpers-field-repeater-row{padding:.5em;margin:.5em 0;border:1px solid #ddd;background:#fff}.fieldhelpers-field-repeater-row:before{content:'';display:table;clear:both}.fieldhelpers-field-repeater-row.ui-sortable-helper{opacity:.5}.fieldhelpers-field-repeater-row .fieldhelpers-field-repeater-handle{height:20px;cursor:move;margin-bottom:10px;background-image:-webkit-repeating-radial-gradient(center center,rgba(0,0,0,.2),rgba(0,0,0,.2) 1px,transparent 1px,transparent 100%);background-image:repeating-radial-gradient(center center,rgba(0,0,0,.2),rgba(0,0,0,.2) 1px,transparent 1px,transparent 100%);background-size:3px 3px}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-content{display:none}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior{padding:0 .5em 0 .5em}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior .fieldhelpers-field-repeater-delete-button{float:right}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-handle{cursor:pointer}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-row.opened .fieldhelpers-field-repeater-collapsable-collapse-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon{-webkit-transition:-webkit-transform .3s ease-in 0s;transition:-webkit-transform .3s ease-in 0s;transition:transform .3s ease-in 0s;transition:transform .3s ease-in 0s,-webkit-transform .3s ease-in 0s}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon:hover{cursor:pointer}.select2-container--default .fieldhelpers-select2.select2-selection--multiple.select2-selection,.select2-container--default .fieldhelpers-select2.select2-selection--single.select2-selection{border-radius:0;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);outline:0;margin:1px;height:auto}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__rendered,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__rendered{line-height:inherit;padding:3px 5px;font-size:14px}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-search,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-search{margin-bottom:0}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__choice,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__choice{border-radius:0}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__clear,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__clear{margin-right:15px}.select2-container--default .fieldhelpers-select2.select2-dropdown{border-radius:0;border:1px solid #ddd;-webkit-box-shadow:5px 5px 40px rgba(0,0,0,.3);box-shadow:5px 5px 40px rgba(0,0,0,.3)}.select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option--highlighted[aria-selected]{background-color:#007ab1}.select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option{margin-bottom:0}.fieldhelpers-field-table .fieldhelpers-field-table-loading{text-align:center}.fieldhelpers-field-table .fieldhelpers-field-table-loading .spinner{float:none;display:inline-block}.fieldhelpers-field-table table{width:100%;border-collapse:collapse}.fieldhelpers-field-table td,.fieldhelpers-field-table th{padding:5px}.fieldhelpers-field-table thead input[type=text]{background:#fff78a}.fieldhelpers-field-table input[type=text]{width:100%}.fieldhelpers-field-table .fieldhelpers-field-table-delete-columns{text-align:center}.fieldhelpers-field-toggle-container{position:relative;display:inline-block;width:60px;height:34px}.fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider{background-color:#007ab1}.fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.fieldhelpers-field-wysiwyg-label{font-weight:700}.fieldhelpers-field-tip{position:relative;display:inline-block}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text{left:-10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text:before{left:10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text{right:-10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text:before{right:10px}.fieldhelpers-field-tip:hover .fieldhelpers-field-tip-text{visibility:visible;opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.fieldhelpers-field-tip:hover .fieldhelpers-field-tip-toggle{color:#007ab1}.fieldhelpers-field-tip .fieldhelpers-field-tip-toggle{cursor:pointer;-webkit-transition:color .3s;transition:color .3s}.fieldhelpers-field-tip .fieldhelpers-field-tip-text{position:absolute;visibility:hidden;opacity:0;top:100%;margin-top:15px;background:#007ab1;color:#fff;padding:1em;width:300px;text-align:left;-webkit-box-shadow:5px 5px 40px rgba(0,0,0,.3);box-shadow:5px 5px 40px rgba(0,0,0,.3);-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px);-webkit-transition:visibility .3s,opacity .3s,-webkit-transform .3s;transition:visibility .3s,opacity .3s,-webkit-transform .3s;transition:visibility .3s,opacity .3s,transform .3s;transition:visibility .3s,opacity .3s,transform .3s,-webkit-transform .3s;z-index:100}.fieldhelpers-field-tip .fieldhelpers-field-tip-text:before{content:'';position:absolute;bottom:100%;width:0;height:0;border-style:solid;border-width:0 10px 10px 10px;border-color:transparent transparent #007ab1 transparent}.fieldhelpers-field-tip .fieldhelpers-field-tip-text:after{content:'';position:absolute;bottom:100%;left:0;width:100%;height:15px}.fieldhelpers-field-tip .fieldhelpers-field-tip-text a{color:inherit!important;text-decoration:underline} \ No newline at end of file diff --git a/assets/dist/js/rbm-field-helpers-admin.min.js b/assets/dist/js/rbm-field-helpers-admin.min.js index 7e8277b..9adcedc 100644 --- a/assets/dist/js/rbm-field-helpers-admin.min.js +++ b/assets/dist/js/rbm-field-helpers-admin.min.js @@ -1,7107 +1 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 2); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Main field class. - * - * @since 1.4.0 - */ -var Field = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $field - * @param {string} type - */ - function Field($field, type) { - _classCallCheck(this, Field); - - this.$field = $field; - this.$wrapper = $field.closest('.fieldhelpers-field'); - this.type = type; - this.name = this.$wrapper.attr('data-fieldhelpers-name'); - this.instance = this.$wrapper.attr('data-fieldhelpers-instance'); - - this.getRepeater(); - - this.getOptions(); - - if (this.repeater) { - - this.repeaterSupport(); - } - - // Put in global scope for other methods to interact with it - if (typeof RBM_FieldHelpers[this.instance]['fieldObjects'] == 'undefined') { - RBM_FieldHelpers[this.instance]['fieldObjects'] = {}; - } - - if (typeof RBM_FieldHelpers[this.instance]['fieldObjects'][this.type] == 'undefined') { - RBM_FieldHelpers[this.instance]['fieldObjects'][this.type] = {}; - } - - RBM_FieldHelpers[this.instance]['fieldObjects'][this.type][this.name] = this; - } - - /** - * Initializes the field. - * - * @since 1.4.0 - */ - - - _createClass(Field, [{ - key: 'initField', - value: function initField() {} - - /** - * Gets field options. - * - * @since 1.4.0 - */ - - }, { - key: 'getOptions', - value: function getOptions() { - - this.options = {}; - - if (typeof RBM_FieldHelpers[this.instance] === 'undefined') { - - console.error('Field Helpers Error: Data for ' + this.instance + ' instance cannot be found.'); - return; - } - - if (this.repeater) { - - if (typeof RBM_FieldHelpers[this.instance]['repeaterFields'][this.repeater] === 'undefined') { - - console.error('Field Helpers Error: Data for repeater ' + this.type + ' sub-fields cannot be found.'); - return; - } - - if (typeof RBM_FieldHelpers[this.instance]['repeaterFields'][this.repeater][this.name] === 'undefined') { - - console.error('Field Helpers Error: Cannot find field options for repeater ' + this.type + ' sub-field with name: ' + this.name + '.'); - return; - } - - this.options = RBM_FieldHelpers[this.instance]['repeaterFields'][this.repeater][this.name]; - } else { - - if (typeof RBM_FieldHelpers[this.instance][this.type] === 'undefined') { - - console.error('Field Helpers Error: Data for ' + this.type + ' fields cannot be found.'); - return; - } - - if (typeof RBM_FieldHelpers[this.instance][this.type][this.name] === 'undefined') { - - console.error('Field Helpers Error: Cannot find field options for ' + this.type + ' field with name: ' + this.name + '.'); - return; - } - - this.options = RBM_FieldHelpers[this.instance][this.type][this.name]; - } - } - - /** - * If field is in a Repeater, it will need support. - * - * @since 1.4.0 - */ - - }, { - key: 'getRepeater', - value: function getRepeater() { - - if (this.$field.closest('[data-fieldhelpers-field-repeater]').length) { - - this.$repeater = this.$field.parent().closest('[data-fieldhelpers-field-repeater]'); - this.repeater = this.$repeater.closest('.fieldhelpers-field-repeater').attr('data-fieldhelpers-name'); - } - } - - /** - * Runs some functions if inside a Repeater. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterSupport', - value: function repeaterSupport() { - var _this = this; - - // Triggers fields can utilize. Wrapped in anonymous to utilize self access. - this.$repeater.on('repeater-before-init', function (event, $repeater, options) { - _this.repeaterBeforeInit($repeater, options); - }); - this.$repeater.on('repeater-init', function (event, $repeater, options) { - _this.repeaterOnInit($repeater, options); - }); - this.$repeater.on('repeater-before-add-item', function () { - _this.repeaterBeforeAddItem(); - }); - this.$repeater.on('repeater-add-item', function () { - _this.repeaterOnAddItem(); - }); - this.$field.closest('[data-repeater-item]').on('repeater-before-delete-item', function () { - _this.repeaterBeforeDeleteSelf(); - }); - this.$repeater.on('repeater-before-delete-item', function () { - _this.repeaterBeforeDeleteItem(); - }); - this.$repeater.on('repeater-delete-item', function () { - _this.repeaterOnDeleteItem(); - }); - this.$repeater.find('.fieldhelpers-field-repeater-list').on('list-update', function () { - _this.repeaterOnSort(); - }); - - this.repeaterSetID(); - this.fieldCleanup(); - } - - /** - * Fires before Repeater init. - * - * @since 1.5.0 - */ - - }, { - key: 'repeaterBeforeInit', - value: function repeaterBeforeInit($repeater, options) {} - - /** - * Fires on Repeater init. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnInit', - value: function repeaterOnInit($repeater, options) {} - - /** - * Fires before Repeater add item. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterBeforeAddItem', - value: function repeaterBeforeAddItem() {} - - /** - * Fires on Repeater add item. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnAddItem', - value: function repeaterOnAddItem() {} - - /** - * Fires before Repeater delete item (localized to self). - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterBeforeDeleteSelf', - value: function repeaterBeforeDeleteSelf() {} - - /** - * Fires before Repeater delete item. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterBeforeDeleteItem', - value: function repeaterBeforeDeleteItem() {} - - /** - * Fires on Repeater delete item. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnDeleteItem', - value: function repeaterOnDeleteItem() {} - - /** - * Fires on Repeat sort item. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnSort', - value: function repeaterOnSort() {} - - /** - * Sets the ID to be unique, based off the repeater item index. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterSetID', - value: function repeaterSetID() { - - var index = this.$field.closest('[data-repeater-item]').index(); - var newID = this.options.id + '_' + index; - - this.$field.attr('id', newID); - } - - /** - * Cleans up after a repeater add/init. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() {} - - /** - * Sets the field to default. Override in child class if need different method. - * - * @since 1.4.0 - */ - - }, { - key: 'setDefault', - value: function setDefault() { - - if (this.options.default) { - - this.$field.val(this.options.default).change(); - } - } - }]); - - return Field; -}(); - -exports.default = Field; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _fieldNumber = __webpack_require__(6); - -var _fieldNumber2 = _interopRequireDefault(_fieldNumber); - -var _fieldColorpicker = __webpack_require__(7); - -var _fieldColorpicker2 = _interopRequireDefault(_fieldColorpicker); - -var _fieldDatepicker = __webpack_require__(8); - -var _fieldDatepicker2 = _interopRequireDefault(_fieldDatepicker); - -var _fieldTimepicker = __webpack_require__(9); - -var _fieldTimepicker2 = _interopRequireDefault(_fieldTimepicker); - -var _fieldDatetimepicker = __webpack_require__(10); - -var _fieldDatetimepicker2 = _interopRequireDefault(_fieldDatetimepicker); - -var _fieldTable = __webpack_require__(11); - -var _fieldTable2 = _interopRequireDefault(_fieldTable); - -var _fieldMedia = __webpack_require__(12); - -var _fieldMedia2 = _interopRequireDefault(_fieldMedia); - -var _fieldList = __webpack_require__(13); - -var _fieldList2 = _interopRequireDefault(_fieldList); - -var _fieldRepeater = __webpack_require__(14); - -var _fieldRepeater2 = _interopRequireDefault(_fieldRepeater); - -var _fieldSelect = __webpack_require__(15); - -var _fieldSelect2 = _interopRequireDefault(_fieldSelect); - -var _fieldTextarea = __webpack_require__(16); - -var _fieldTextarea2 = _interopRequireDefault(_fieldTextarea); - -var _fieldCheckbox = __webpack_require__(17); - -var _fieldCheckbox2 = _interopRequireDefault(_fieldCheckbox); - -var _fieldRadio = __webpack_require__(18); - -var _fieldRadio2 = _interopRequireDefault(_fieldRadio); - -var _fieldToggle = __webpack_require__(19); - -var _fieldToggle2 = _interopRequireDefault(_fieldToggle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Handles all field initializations. - * - * @since 1.4.0 - */ -var FieldsInitialize = - -/** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ -function FieldsInitialize($root) { - _classCallCheck(this, FieldsInitialize); - - this.fields = { - checkbox: new _fieldCheckbox2.default($root), - toggle: new _fieldToggle2.default($root), - radio: new _fieldRadio2.default($root), - select: new _fieldSelect2.default($root), - textarea: new _fieldTextarea2.default($root), - number: new _fieldNumber2.default($root), - colorpicker: new _fieldColorpicker2.default($root), - datepicker: new _fieldDatepicker2.default($root), - timepicker: new _fieldTimepicker2.default($root), - datetimepicker: new _fieldDatetimepicker2.default($root), - table: new _fieldTable2.default($root), - media: new _fieldMedia2.default($root), - list: new _fieldList2.default($root), - repeater: new _fieldRepeater2.default($root) - }; -}; - -exports.default = FieldsInitialize; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(3); - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(4); - -__webpack_require__(5); - -var _fieldsInit = __webpack_require__(1); - -var _fieldsInit2 = _interopRequireDefault(_fieldsInit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// Initialize app on jQuery Ready. -jQuery(function () { - - var Fields = new _fieldsInit2.default(jQuery(document)); -}); - -// Re-init any fields within a container -window.rbmFHinitField = function ($root) { - - new _fieldsInit2.default($root); -}; - -// Grab Field Object from the RBM_FieldHelpers global in order to run methods on them -window.rbmFHgetFieldObject = function (name) { - var instance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var fieldType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - - if (instance === null) { - - instance = jQuery('.fieldhelpers-field[data-fieldhelpers-name="' + name + '"]').data('fieldhelpers-instance'); - } - - if (fieldType === null) { - - var classNames = jQuery('.fieldhelpers-field[data-fieldhelpers-name="' + name + '"][data-fieldhelpers-instance="' + instance + '"]').first().attr('class'); - - var test = /fieldhelpers-field-(\S*)/.exec(classNames); - - if (test !== null && test[1].length > 0) { - - fieldType = test[1]; - } - } - - try { - - return RBM_FieldHelpers[instance]['fieldObjects'][fieldType][name]; - } catch (error) { - - if (instance === null || fieldType === null || RBM_FieldHelpers[instance]['fieldObjects'][fieldType][name].length < 0) { - console.error('Field Helpers Error: Field Object for "' + name + '" Not Found'); - } - - return false; - } -}; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// jquery.repeater version 1.2.1 -// https://github.com/DubFriend/jquery.repeater -// (MIT) 09-10-2016 -// Brian Detering (http://www.briandetering.net/) -(function ($) { - 'use strict'; - - var identity = function identity(x) { - return x; - }; - - var isArray = function isArray(value) { - return $.isArray(value); - }; - - var isObject = function isObject(value) { - return !isArray(value) && value instanceof Object; - }; - - var isNumber = function isNumber(value) { - return value instanceof Number; - }; - - var isFunction = function isFunction(value) { - return value instanceof Function; - }; - - var indexOf = function indexOf(object, value) { - return $.inArray(value, object); - }; - - var inArray = function inArray(array, value) { - return indexOf(array, value) !== -1; - }; - - var foreach = function foreach(collection, callback) { - for (var i in collection) { - if (collection.hasOwnProperty(i)) { - callback(collection[i], i, collection); - } - } - }; - - var last = function last(array) { - return array[array.length - 1]; - }; - - var argumentsToArray = function argumentsToArray(args) { - return Array.prototype.slice.call(args); - }; - - var extend = function extend() { - var extended = {}; - foreach(argumentsToArray(arguments), function (o) { - foreach(o, function (val, key) { - extended[key] = val; - }); - }); - return extended; - }; - - var mapToArray = function mapToArray(collection, callback) { - var mapped = []; - foreach(collection, function (value, key, coll) { - mapped.push(callback(value, key, coll)); - }); - return mapped; - }; - - var mapToObject = function mapToObject(collection, callback, keyCallback) { - var mapped = {}; - foreach(collection, function (value, key, coll) { - key = keyCallback ? keyCallback(key, value) : key; - mapped[key] = callback(value, key, coll); - }); - return mapped; - }; - - var map = function map(collection, callback, keyCallback) { - return isArray(collection) ? mapToArray(collection, callback) : mapToObject(collection, callback, keyCallback); - }; - - var pluck = function pluck(arrayOfObjects, key) { - return map(arrayOfObjects, function (val) { - return val[key]; - }); - }; - - var filter = function filter(collection, callback) { - var filtered; - - if (isArray(collection)) { - filtered = []; - foreach(collection, function (val, key, coll) { - if (callback(val, key, coll)) { - filtered.push(val); - } - }); - } else { - filtered = {}; - foreach(collection, function (val, key, coll) { - if (callback(val, key, coll)) { - filtered[key] = val; - } - }); - } - - return filtered; - }; - - var call = function call(collection, functionName, args) { - return map(collection, function (object, name) { - return object[functionName].apply(object, args || []); - }); - }; - - //execute callback immediately and at most one time on the minimumInterval, - //ignore block attempts - var throttle = function throttle(minimumInterval, callback) { - var timeout = null; - return function () { - var that = this, - args = arguments; - if (timeout === null) { - timeout = setTimeout(function () { - timeout = null; - }, minimumInterval); - callback.apply(that, args); - } - }; - }; - - var mixinPubSub = function mixinPubSub(object) { - object = object || {}; - var topics = {}; - - object.publish = function (topic, data) { - foreach(topics[topic], function (callback) { - callback(data); - }); - }; - - object.subscribe = function (topic, callback) { - topics[topic] = topics[topic] || []; - topics[topic].push(callback); - }; - - object.unsubscribe = function (callback) { - foreach(topics, function (subscribers) { - var index = indexOf(subscribers, callback); - if (index !== -1) { - subscribers.splice(index, 1); - } - }); - }; - - return object; - }; - - // jquery.input version 0.0.0 - // https://github.com/DubFriend/jquery.input - // (MIT) 09-04-2014 - // Brian Detering (http://www.briandetering.net/) - (function ($) { - 'use strict'; - - var createBaseInput = function createBaseInput(fig, my) { - var self = mixinPubSub(), - $self = fig.$; - - self.getType = function () { - throw 'implement me (return type. "text", "radio", etc.)'; - }; - - self.$ = function (selector) { - return selector ? $self.find(selector) : $self; - }; - - self.disable = function () { - self.$().prop('disabled', true); - self.publish('isEnabled', false); - }; - - self.enable = function () { - self.$().prop('disabled', false); - self.publish('isEnabled', true); - }; - - my.equalTo = function (a, b) { - return a === b; - }; - - my.publishChange = function () { - var oldValue; - return function (e, domElement) { - var newValue = self.get(); - if (!my.equalTo(newValue, oldValue)) { - self.publish('change', { e: e, domElement: domElement }); - } - oldValue = newValue; - }; - }(); - - return self; - }; - - var createInput = function createInput(fig, my) { - var self = createBaseInput(fig, my); - - self.get = function () { - return self.$().val(); - }; - - self.set = function (newValue) { - self.$().val(newValue); - }; - - self.clear = function () { - self.set(''); - }; - - my.buildSetter = function (callback) { - return function (newValue) { - callback.call(self, newValue); - }; - }; - - return self; - }; - - var inputEqualToArray = function inputEqualToArray(a, b) { - a = isArray(a) ? a : [a]; - b = isArray(b) ? b : [b]; - - var isEqual = true; - if (a.length !== b.length) { - isEqual = false; - } else { - foreach(a, function (value) { - if (!inArray(b, value)) { - isEqual = false; - } - }); - } - - return isEqual; - }; - - var createInputButton = function createInputButton(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'button'; - }; - - self.$().on('change', function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputCheckbox = function createInputCheckbox(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'checkbox'; - }; - - self.get = function () { - var values = []; - self.$().filter(':checked').each(function () { - values.push($(this).val()); - }); - return values; - }; - - self.set = function (newValues) { - newValues = isArray(newValues) ? newValues : [newValues]; - - self.$().each(function () { - $(this).prop('checked', false); - }); - - foreach(newValues, function (value) { - self.$().filter('[value="' + value + '"]').prop('checked', true); - }); - }; - - my.equalTo = inputEqualToArray; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputEmail = function createInputEmail(fig) { - var my = {}, - self = createInputText(fig, my); - - self.getType = function () { - return 'email'; - }; - - return self; - }; - - var createInputFile = function createInputFile(fig) { - var my = {}, - self = createBaseInput(fig, my); - - self.getType = function () { - return 'file'; - }; - - self.get = function () { - return last(self.$().val().split('\\')); - }; - - self.clear = function () { - // http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery - this.$().each(function () { - $(this).wrap('
').closest('form').get(0).reset(); - $(this).unwrap(); - }); - }; - - self.$().change(function (e) { - my.publishChange(e, this); - // self.publish('change', self); - }); - - return self; - }; - - var createInputHidden = function createInputHidden(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'hidden'; - }; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - var createInputMultipleFile = function createInputMultipleFile(fig) { - var my = {}, - self = createBaseInput(fig, my); - - self.getType = function () { - return 'file[multiple]'; - }; - - self.get = function () { - // http://stackoverflow.com/questions/14035530/how-to-get-value-of-html-5-multiple-file-upload-variable-using-jquery - var fileListObject = self.$().get(0).files || [], - names = [], - i; - - for (i = 0; i < (fileListObject.length || 0); i += 1) { - names.push(fileListObject[i].name); - } - - return names; - }; - - self.clear = function () { - // http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery - this.$().each(function () { - $(this).wrap('').closest('form').get(0).reset(); - $(this).unwrap(); - }); - }; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputMultipleSelect = function createInputMultipleSelect(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'select[multiple]'; - }; - - self.get = function () { - return self.$().val() || []; - }; - - self.set = function (newValues) { - self.$().val(newValues === '' ? [] : isArray(newValues) ? newValues : [newValues]); - }; - - my.equalTo = inputEqualToArray; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputPassword = function createInputPassword(fig) { - var my = {}, - self = createInputText(fig, my); - - self.getType = function () { - return 'password'; - }; - - return self; - }; - - var createInputRadio = function createInputRadio(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'radio'; - }; - - self.get = function () { - return self.$().filter(':checked').val() || null; - }; - - self.set = function (newValue) { - if (!newValue) { - self.$().each(function () { - $(this).prop('checked', false); - }); - } else { - self.$().filter('[value="' + newValue + '"]').prop('checked', true); - } - }; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputRange = function createInputRange(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'range'; - }; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputSelect = function createInputSelect(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'select'; - }; - - self.$().change(function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputText = function createInputText(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'text'; - }; - - self.$().on('change keyup keydown', function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputTextarea = function createInputTextarea(fig) { - var my = {}, - self = createInput(fig, my); - - self.getType = function () { - return 'textarea'; - }; - - self.$().on('change keyup keydown', function (e) { - my.publishChange(e, this); - }); - - return self; - }; - - var createInputURL = function createInputURL(fig) { - var my = {}, - self = createInputText(fig, my); - - self.getType = function () { - return 'url'; - }; - - return self; - }; - - var buildFormInputs = function buildFormInputs(fig) { - var inputs = {}, - $self = fig.$; - - var constructor = fig.constructorOverride || { - button: createInputButton, - text: createInputText, - url: createInputURL, - email: createInputEmail, - password: createInputPassword, - range: createInputRange, - textarea: createInputTextarea, - select: createInputSelect, - 'select[multiple]': createInputMultipleSelect, - radio: createInputRadio, - checkbox: createInputCheckbox, - file: createInputFile, - 'file[multiple]': createInputMultipleFile, - hidden: createInputHidden - }; - - var addInputsBasic = function addInputsBasic(type, selector) { - var $input = isObject(selector) ? selector : $self.find(selector); - - $input.each(function () { - var name = $(this).attr('name'); - inputs[name] = constructor[type]({ - $: $(this) - }); - }); - }; - - var addInputsGroup = function addInputsGroup(type, selector) { - var names = [], - $input = isObject(selector) ? selector : $self.find(selector); - - if (isObject(selector)) { - inputs[$input.attr('name')] = constructor[type]({ - $: $input - }); - } else { - // group by name attribute - $input.each(function () { - if (indexOf(names, $(this).attr('name')) === -1) { - names.push($(this).attr('name')); - } - }); - - foreach(names, function (name) { - inputs[name] = constructor[type]({ - $: $self.find('input[name="' + name + '"]') - }); - }); - } - }; - - if ($self.is('input, select, textarea')) { - if ($self.is('input[type="button"], button, input[type="submit"]')) { - addInputsBasic('button', $self); - } else if ($self.is('textarea')) { - addInputsBasic('textarea', $self); - } else if ($self.is('input[type="text"]') || $self.is('input') && !$self.attr('type')) { - addInputsBasic('text', $self); - } else if ($self.is('input[type="password"]')) { - addInputsBasic('password', $self); - } else if ($self.is('input[type="email"]')) { - addInputsBasic('email', $self); - } else if ($self.is('input[type="url"]')) { - addInputsBasic('url', $self); - } else if ($self.is('input[type="range"]')) { - addInputsBasic('range', $self); - } else if ($self.is('select')) { - if ($self.is('[multiple]')) { - addInputsBasic('select[multiple]', $self); - } else { - addInputsBasic('select', $self); - } - } else if ($self.is('input[type="file"]')) { - if ($self.is('[multiple]')) { - addInputsBasic('file[multiple]', $self); - } else { - addInputsBasic('file', $self); - } - } else if ($self.is('input[type="hidden"]')) { - addInputsBasic('hidden', $self); - } else if ($self.is('input[type="radio"]')) { - addInputsGroup('radio', $self); - } else if ($self.is('input[type="checkbox"]')) { - addInputsGroup('checkbox', $self); - } else { - //in all other cases default to a "text" input interface. - addInputsBasic('text', $self); - } - } else { - addInputsBasic('button', 'input[type="button"], button, input[type="submit"]'); - addInputsBasic('text', 'input[type="text"]'); - addInputsBasic('password', 'input[type="password"]'); - addInputsBasic('email', 'input[type="email"]'); - addInputsBasic('url', 'input[type="url"]'); - addInputsBasic('range', 'input[type="range"]'); - addInputsBasic('textarea', 'textarea'); - addInputsBasic('select', 'select:not([multiple])'); - addInputsBasic('select[multiple]', 'select[multiple]'); - addInputsBasic('file', 'input[type="file"]:not([multiple])'); - addInputsBasic('file[multiple]', 'input[type="file"][multiple]'); - addInputsBasic('hidden', 'input[type="hidden"]'); - addInputsGroup('radio', 'input[type="radio"]'); - addInputsGroup('checkbox', 'input[type="checkbox"]'); - } - - return inputs; - }; - - $.fn.inputVal = function (newValue) { - var $self = $(this); - - var inputs = buildFormInputs({ $: $self }); - - if ($self.is('input, textarea, select')) { - if (typeof newValue === 'undefined') { - return inputs[$self.attr('name')].get(); - } else { - inputs[$self.attr('name')].set(newValue); - return $self; - } - } else { - if (typeof newValue === 'undefined') { - return call(inputs, 'get'); - } else { - foreach(newValue, function (value, inputName) { - inputs[inputName].set(value); - }); - return $self; - } - } - }; - - $.fn.inputOnChange = function (callback) { - var $self = $(this); - var inputs = buildFormInputs({ $: $self }); - foreach(inputs, function (input) { - input.subscribe('change', function (data) { - callback.call(data.domElement, data.e); - }); - }); - return $self; - }; - - $.fn.inputDisable = function () { - var $self = $(this); - call(buildFormInputs({ $: $self }), 'disable'); - return $self; - }; - - $.fn.inputEnable = function () { - var $self = $(this); - call(buildFormInputs({ $: $self }), 'enable'); - return $self; - }; - - $.fn.inputClear = function () { - var $self = $(this); - call(buildFormInputs({ $: $self }), 'clear'); - return $self; - }; - })(jQuery); - - $.fn.repeaterVal = function () { - var parse = function parse(raw) { - var parsed = []; - - foreach(raw, function (val, key) { - var parsedKey = []; - if (key !== "undefined") { - parsedKey.push(key.match(/^[^\[]*/)[0]); - parsedKey = parsedKey.concat(map(key.match(/\[[^\]]*\]/g), function (bracketed) { - return bracketed.replace(/[\[\]]/g, ''); - })); - - parsed.push({ - val: val, - key: parsedKey - }); - } - }); - - return parsed; - }; - - var build = function build(parsed) { - if (parsed.length === 1 && (parsed[0].key.length === 0 || parsed[0].key.length === 1 && !parsed[0].key[0])) { - return parsed[0].val; - } - - foreach(parsed, function (p) { - p.head = p.key.shift(); - }); - - var grouped = function () { - var grouped = {}; - - foreach(parsed, function (p) { - if (!grouped[p.head]) { - grouped[p.head] = []; - } - grouped[p.head].push(p); - }); - - return grouped; - }(); - - var built; - - if (/^[0-9]+$/.test(parsed[0].head)) { - built = []; - foreach(grouped, function (group) { - built.push(build(group)); - }); - } else { - built = {}; - foreach(grouped, function (group, key) { - built[key] = build(group); - }); - } - - return built; - }; - - return build(parse($(this).inputVal())); - }; - - $.fn.repeater = function (fig) { - fig = fig || {}; - - var setList; - - $(this).each(function () { - - var $self = $(this); - - var show = fig.show || function () { - $(this).show(); - }; - - var hide = fig.hide || function (removeElement) { - removeElement(); - }; - - var $list = $self.find('[data-repeater-list]').first(); - - var $filterNested = function $filterNested($items, repeaters) { - return $items.filter(function () { - return repeaters ? $(this).closest(pluck(repeaters, 'selector').join(',')).length === 0 : true; - }); - }; - - var $items = function $items() { - return $filterNested($list.find('[data-repeater-item]'), fig.repeaters); - }; - - var $itemTemplate = $list.find('[data-repeater-item]').first().clone().hide(); - - var $firstDeleteButton = $filterNested($filterNested($(this).find('[data-repeater-item]'), fig.repeaters).first().find('[data-repeater-delete]'), fig.repeaters); - - if (fig.isFirstItemUndeletable && $firstDeleteButton) { - $firstDeleteButton.remove(); - } - - var getGroupName = function getGroupName() { - var groupName = $list.data('repeater-list'); - return fig.$parent ? fig.$parent.data('item-name') + '[' + groupName + ']' : groupName; - }; - - var initNested = function initNested($listItems) { - if (fig.repeaters) { - $listItems.each(function () { - var $item = $(this); - foreach(fig.repeaters, function (nestedFig) { - $item.find(nestedFig.selector).repeater(extend(nestedFig, { $parent: $item })); - }); - }); - } - }; - - var $foreachRepeaterInItem = function $foreachRepeaterInItem(repeaters, $item, cb) { - if (repeaters) { - foreach(repeaters, function (nestedFig) { - cb.call($item.find(nestedFig.selector)[0], nestedFig); - }); - } - }; - - var setIndexes = function setIndexes($items, groupName, repeaters) { - $items.each(function (index) { - var $item = $(this); - $item.data('item-name', groupName + '[' + index + ']'); - $filterNested($item.find('[name]'), repeaters).each(function () { - var $input = $(this); - // match non empty brackets (ex: "[foo]") - var matches = $input.attr('name').match(/\[[^\]]+\]/g); - - var name = matches ? - // strip "[" and "]" characters - last(matches).replace(/\[|\]/g, '') : $input.attr('name'); - - var newName = groupName + '[' + index + '][' + name + ']' + ($input.is(':checkbox') || $input.attr('multiple') ? '[]' : ''); - - $input.attr('name', newName); - - $foreachRepeaterInItem(repeaters, $item, function (nestedFig) { - var $repeater = $(this); - setIndexes($filterNested($repeater.find('[data-repeater-item]'), nestedFig.repeaters || []), groupName + '[' + index + ']' + '[' + $repeater.find('[data-repeater-list]').first().data('repeater-list') + ']', nestedFig.repeaters); - }); - }); - }); - - $list.find('input[name][checked]').removeAttr('checked').prop('checked', true); - }; - - setIndexes($items(), getGroupName(), fig.repeaters); - initNested($items()); - if (fig.initEmpty) { - $items().remove(); - } - - if (fig.ready) { - fig.ready(function () { - setIndexes($items(), getGroupName(), fig.repeaters); - }); - } - - var appendItem = function () { - var setItemsValues = function setItemsValues($item, data, repeaters) { - if (data || fig.defaultValues) { - var inputNames = {}; - $filterNested($item.find('[name]'), repeaters).each(function () { - var key = $(this).attr('name').match(/\[([^\]]*)(\]|\]\[\])$/)[1]; - inputNames[key] = $(this).attr('name'); - }); - - $item.inputVal(map(filter(data || fig.defaultValues, function (val, name) { - return inputNames[name]; - }), identity, function (name) { - return inputNames[name]; - })); - } - - $foreachRepeaterInItem(repeaters, $item, function (nestedFig) { - var $repeater = $(this); - $filterNested($repeater.find('[data-repeater-item]'), nestedFig.repeaters).each(function () { - var fieldName = $repeater.find('[data-repeater-list]').data('repeater-list'); - if (data && data[fieldName]) { - var $template = $(this).clone(); - $repeater.find('[data-repeater-item]').remove(); - foreach(data[fieldName], function (data) { - var $item = $template.clone(); - setItemsValues($item, data, nestedFig.repeaters || []); - $repeater.find('[data-repeater-list]').append($item); - }); - } else { - setItemsValues($(this), nestedFig.defaultValues, nestedFig.repeaters || []); - } - }); - }); - }; - - return function ($item, data) { - $list.append($item); - setIndexes($items(), getGroupName(), fig.repeaters); - $item.find('[name]').each(function () { - $(this).inputClear(); - }); - setItemsValues($item, data || fig.defaultValues, fig.repeaters); - }; - }(); - - var addItem = function addItem(data) { - var $item = $itemTemplate.clone(); - appendItem($item, data); - if (fig.repeaters) { - initNested($item); - } - show.call($item.get(0)); - }; - - setList = function setList(rows) { - $items().remove(); - foreach(rows, addItem); - }; - - $filterNested($self.find('[data-repeater-create]'), fig.repeaters).click(function () { - addItem(); - }); - - $list.on('click', '[data-repeater-delete]', function () { - var self = $(this).closest('[data-repeater-item]').get(0); - hide.call(self, function () { - $(self).remove(); - setIndexes($items(), getGroupName(), fig.repeaters); - }); - }); - }); - - this.setList = setList; - - return this; - }; -})(jQuery); - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/* flatpickr v4.6.2, @license MIT */ -(function (global, factory) { - ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (global = global || self, global.flatpickr = factory()); -})(undefined, function () { - 'use strict'; - - /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); you may not use - this file except in compliance with the License. You may obtain a copy of the - License at http://www.apache.org/licenses/LICENSE-2.0 - THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED - WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, - MERCHANTABLITY OR NON-INFRINGEMENT. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. - ***************************************************************************** */ - - var _assign = function __assign() { - _assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) { - if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - } - return t; - }; - return _assign.apply(this, arguments); - }; - - var HOOKS = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"]; - var defaults = { - _disable: [], - _enable: [], - allowInput: false, - altFormat: "F j, Y", - altInput: false, - altInputClass: "form-control input", - animate: (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === "object" && window.navigator.userAgent.indexOf("MSIE") === -1, - ariaDateFormat: "F j, Y", - clickOpens: true, - closeOnSelect: true, - conjunction: ", ", - dateFormat: "Y-m-d", - defaultHour: 12, - defaultMinute: 0, - defaultSeconds: 0, - disable: [], - disableMobile: false, - enable: [], - enableSeconds: false, - enableTime: false, - errorHandler: function errorHandler(err) { - return typeof console !== "undefined" && console.warn(err); - }, - getWeek: function getWeek(givenDate) { - var date = new Date(givenDate.getTime()); - date.setHours(0, 0, 0, 0); - // Thursday in current week decides the year. - date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7); - // January 4 is always in week 1. - var week1 = new Date(date.getFullYear(), 0, 4); - // Adjust to Thursday in week 1 and count number of weeks from date to week1. - return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7); - }, - hourIncrement: 1, - ignoredFocusElements: [], - inline: false, - locale: "default", - minuteIncrement: 5, - mode: "single", - monthSelectorType: "dropdown", - nextArrow: "", - noCalendar: false, - now: new Date(), - onChange: [], - onClose: [], - onDayCreate: [], - onDestroy: [], - onKeyDown: [], - onMonthChange: [], - onOpen: [], - onParseConfig: [], - onReady: [], - onValueUpdate: [], - onYearChange: [], - onPreCalendarPosition: [], - plugins: [], - position: "auto", - positionElement: undefined, - prevArrow: "", - shorthandCurrentMonth: false, - showMonths: 1, - static: false, - time_24hr: false, - weekNumbers: false, - wrap: false - }; - - var english = { - weekdays: { - shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] - }, - months: { - shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] - }, - daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - firstDayOfWeek: 0, - ordinal: function ordinal(nth) { - var s = nth % 100; - if (s > 3 && s < 21) return "th"; - switch (s % 10) { - case 1: - return "st"; - case 2: - return "nd"; - case 3: - return "rd"; - default: - return "th"; - } - }, - rangeSeparator: " to ", - weekAbbreviation: "Wk", - scrollTitle: "Scroll to increment", - toggleTitle: "Click to toggle", - amPM: ["AM", "PM"], - yearAriaLabel: "Year", - hourAriaLabel: "Hour", - minuteAriaLabel: "Minute", - time_24hr: false - }; - - var pad = function pad(number) { - return ("0" + number).slice(-2); - }; - var int = function int(bool) { - return bool === true ? 1 : 0; - }; - /* istanbul ignore next */ - function debounce(func, wait, immediate) { - if (immediate === void 0) { - immediate = false; - } - var timeout; - return function () { - var context = this, - args = arguments; - timeout !== null && clearTimeout(timeout); - timeout = window.setTimeout(function () { - timeout = null; - if (!immediate) func.apply(context, args); - }, wait); - if (immediate && !timeout) func.apply(context, args); - }; - } - var arrayify = function arrayify(obj) { - return obj instanceof Array ? obj : [obj]; - }; - - function toggleClass(elem, className, bool) { - if (bool === true) return elem.classList.add(className); - elem.classList.remove(className); - } - function createElement(tag, className, content) { - var e = window.document.createElement(tag); - className = className || ""; - content = content || ""; - e.className = className; - if (content !== undefined) e.textContent = content; - return e; - } - function clearNode(node) { - while (node.firstChild) { - node.removeChild(node.firstChild); - } - } - function findParent(node, condition) { - if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition); - return undefined; // nothing found - } - function createNumberInput(inputClassName, opts) { - var wrapper = createElement("div", "numInputWrapper"), - numInput = createElement("input", "numInput " + inputClassName), - arrowUp = createElement("span", "arrowUp"), - arrowDown = createElement("span", "arrowDown"); - if (navigator.userAgent.indexOf("MSIE 9.0") === -1) { - numInput.type = "number"; - } else { - numInput.type = "text"; - numInput.pattern = "\\d*"; - } - if (opts !== undefined) for (var key in opts) { - numInput.setAttribute(key, opts[key]); - }wrapper.appendChild(numInput); - wrapper.appendChild(arrowUp); - wrapper.appendChild(arrowDown); - return wrapper; - } - function getEventTarget(event) { - if (typeof event.composedPath === "function") { - var path = event.composedPath(); - return path[0]; - } - return event.target; - } - - var doNothing = function doNothing() { - return undefined; - }; - var monthToStr = function monthToStr(monthNumber, shorthand, locale) { - return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber]; - }; - var revFormat = { - D: doNothing, - F: function F(dateObj, monthName, locale) { - dateObj.setMonth(locale.months.longhand.indexOf(monthName)); - }, - G: function G(dateObj, hour) { - dateObj.setHours(parseFloat(hour)); - }, - H: function H(dateObj, hour) { - dateObj.setHours(parseFloat(hour)); - }, - J: function J(dateObj, day) { - dateObj.setDate(parseFloat(day)); - }, - K: function K(dateObj, amPM, locale) { - dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], "i").test(amPM))); - }, - M: function M(dateObj, shortMonth, locale) { - dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth)); - }, - S: function S(dateObj, seconds) { - dateObj.setSeconds(parseFloat(seconds)); - }, - U: function U(_, unixSeconds) { - return new Date(parseFloat(unixSeconds) * 1000); - }, - W: function W(dateObj, weekNum, locale) { - var weekNumber = parseInt(weekNum); - var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0); - date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek); - return date; - }, - Y: function Y(dateObj, year) { - dateObj.setFullYear(parseFloat(year)); - }, - Z: function Z(_, ISODate) { - return new Date(ISODate); - }, - d: function d(dateObj, day) { - dateObj.setDate(parseFloat(day)); - }, - h: function h(dateObj, hour) { - dateObj.setHours(parseFloat(hour)); - }, - i: function i(dateObj, minutes) { - dateObj.setMinutes(parseFloat(minutes)); - }, - j: function j(dateObj, day) { - dateObj.setDate(parseFloat(day)); - }, - l: doNothing, - m: function m(dateObj, month) { - dateObj.setMonth(parseFloat(month) - 1); - }, - n: function n(dateObj, month) { - dateObj.setMonth(parseFloat(month) - 1); - }, - s: function s(dateObj, seconds) { - dateObj.setSeconds(parseFloat(seconds)); - }, - u: function u(_, unixMillSeconds) { - return new Date(parseFloat(unixMillSeconds)); - }, - w: doNothing, - y: function y(dateObj, year) { - dateObj.setFullYear(2000 + parseFloat(year)); - } - }; - var tokenRegex = { - D: "(\\w+)", - F: "(\\w+)", - G: "(\\d\\d|\\d)", - H: "(\\d\\d|\\d)", - J: "(\\d\\d|\\d)\\w+", - K: "", - M: "(\\w+)", - S: "(\\d\\d|\\d)", - U: "(.+)", - W: "(\\d\\d|\\d)", - Y: "(\\d{4})", - Z: "(.+)", - d: "(\\d\\d|\\d)", - h: "(\\d\\d|\\d)", - i: "(\\d\\d|\\d)", - j: "(\\d\\d|\\d)", - l: "(\\w+)", - m: "(\\d\\d|\\d)", - n: "(\\d\\d|\\d)", - s: "(\\d\\d|\\d)", - u: "(.+)", - w: "(\\d\\d|\\d)", - y: "(\\d{2})" - }; - var formats = { - // get the date in UTC - Z: function Z(date) { - return date.toISOString(); - }, - // weekday name, short, e.g. Thu - D: function D(date, locale, options) { - return locale.weekdays.shorthand[formats.w(date, locale, options)]; - }, - // full month name e.g. January - F: function F(date, locale, options) { - return monthToStr(formats.n(date, locale, options) - 1, false, locale); - }, - // padded hour 1-12 - G: function G(date, locale, options) { - return pad(formats.h(date, locale, options)); - }, - // hours with leading zero e.g. 03 - H: function H(date) { - return pad(date.getHours()); - }, - // day (1-30) with ordinal suffix e.g. 1st, 2nd - J: function J(date, locale) { - return locale.ordinal !== undefined ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate(); - }, - // AM/PM - K: function K(date, locale) { - return locale.amPM[int(date.getHours() > 11)]; - }, - // shorthand month e.g. Jan, Sep, Oct, etc - M: function M(date, locale) { - return monthToStr(date.getMonth(), true, locale); - }, - // seconds 00-59 - S: function S(date) { - return pad(date.getSeconds()); - }, - // unix timestamp - U: function U(date) { - return date.getTime() / 1000; - }, - W: function W(date, _, options) { - return options.getWeek(date); - }, - // full year e.g. 2016 - Y: function Y(date) { - return date.getFullYear(); - }, - // day in month, padded (01-30) - d: function d(date) { - return pad(date.getDate()); - }, - // hour from 1-12 (am/pm) - h: function h(date) { - return date.getHours() % 12 ? date.getHours() % 12 : 12; - }, - // minutes, padded with leading zero e.g. 09 - i: function i(date) { - return pad(date.getMinutes()); - }, - // day in month (1-30) - j: function j(date) { - return date.getDate(); - }, - // weekday name, full, e.g. Thursday - l: function l(date, locale) { - return locale.weekdays.longhand[date.getDay()]; - }, - // padded month number (01-12) - m: function m(date) { - return pad(date.getMonth() + 1); - }, - // the month number (1-12) - n: function n(date) { - return date.getMonth() + 1; - }, - // seconds 0-59 - s: function s(date) { - return date.getSeconds(); - }, - // Unix Milliseconds - u: function u(date) { - return date.getTime(); - }, - // number of the day of the week - w: function w(date) { - return date.getDay(); - }, - // last two digits of year e.g. 16 for 2016 - y: function y(date) { - return String(date.getFullYear()).substring(2); - } - }; - - var createDateFormatter = function createDateFormatter(_a) { - var _b = _a.config, - config = _b === void 0 ? defaults : _b, - _c = _a.l10n, - l10n = _c === void 0 ? english : _c; - return function (dateObj, frmt, overrideLocale) { - var locale = overrideLocale || l10n; - if (config.formatDate !== undefined) { - return config.formatDate(dateObj, frmt, locale); - } - return frmt.split("").map(function (c, i, arr) { - return formats[c] && arr[i - 1] !== "\\" ? formats[c](dateObj, locale, config) : c !== "\\" ? c : ""; - }).join(""); - }; - }; - var createDateParser = function createDateParser(_a) { - var _b = _a.config, - config = _b === void 0 ? defaults : _b, - _c = _a.l10n, - l10n = _c === void 0 ? english : _c; - return function (date, givenFormat, timeless, customLocale) { - if (date !== 0 && !date) return undefined; - var locale = customLocale || l10n; - var parsedDate; - var dateOrig = date; - if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== "string" && date.toFixed !== undefined // timestamp - ) - // create a copy - parsedDate = new Date(date);else if (typeof date === "string") { - // date string - var format = givenFormat || (config || defaults).dateFormat; - var datestr = String(date).trim(); - if (datestr === "today") { - parsedDate = new Date(); - timeless = true; - } else if (/Z$/.test(datestr) || /GMT$/.test(datestr) // datestrings w/ timezone - ) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else { - parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0)); - var matched = void 0, - ops = []; - for (var i = 0, matchIndex = 0, regexStr = ""; i < format.length; i++) { - var token_1 = format[i]; - var isBackSlash = token_1 === "\\"; - var escaped = format[i - 1] === "\\" || isBackSlash; - if (tokenRegex[token_1] && !escaped) { - regexStr += tokenRegex[token_1]; - var match = new RegExp(regexStr).exec(date); - if (match && (matched = true)) { - ops[token_1 !== "Y" ? "push" : "unshift"]({ - fn: revFormat[token_1], - val: match[++matchIndex] - }); - } - } else if (!isBackSlash) regexStr += "."; // don't really care - ops.forEach(function (_a) { - var fn = _a.fn, - val = _a.val; - return parsedDate = fn(parsedDate, val, locale) || parsedDate; - }); - } - parsedDate = matched ? parsedDate : undefined; - } - } - /* istanbul ignore next */ - if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) { - config.errorHandler(new Error("Invalid date provided: " + dateOrig)); - return undefined; - } - if (timeless === true) parsedDate.setHours(0, 0, 0, 0); - return parsedDate; - }; - }; - /** - * Compute the difference in dates, measured in ms - */ - function compareDates(date1, date2, timeless) { - if (timeless === void 0) { - timeless = true; - } - if (timeless !== false) { - return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0); - } - return date1.getTime() - date2.getTime(); - } - var isBetween = function isBetween(ts, ts1, ts2) { - return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2); - }; - var duration = { - DAY: 86400000 - }; - - if (typeof Object.assign !== "function") { - Object.assign = function (target) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - if (!target) { - throw TypeError("Cannot convert undefined or null to object"); - } - var _loop_1 = function _loop_1(source) { - if (source) { - Object.keys(source).forEach(function (key) { - return target[key] = source[key]; - }); - } - }; - for (var _a = 0, args_1 = args; _a < args_1.length; _a++) { - var source = args_1[_a]; - _loop_1(source); - } - return target; - }; - } - - var DEBOUNCED_CHANGE_MS = 300; - function FlatpickrInstance(element, instanceConfig) { - var self = { - config: _assign({}, defaults, flatpickr.defaultConfig), - l10n: english - }; - self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); - self._handlers = []; - self.pluginElements = []; - self.loadedPlugins = []; - self._bind = bind; - self._setHoursFromDate = setHoursFromDate; - self._positionCalendar = positionCalendar; - self.changeMonth = changeMonth; - self.changeYear = changeYear; - self.clear = clear; - self.close = close; - self._createElement = createElement; - self.destroy = destroy; - self.isEnabled = isEnabled; - self.jumpToDate = jumpToDate; - self.open = open; - self.redraw = redraw; - self.set = set; - self.setDate = setDate; - self.toggle = toggle; - function setupHelperFunctions() { - self.utils = { - getDaysInMonth: function getDaysInMonth(month, yr) { - if (month === void 0) { - month = self.currentMonth; - } - if (yr === void 0) { - yr = self.currentYear; - } - if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29; - return self.l10n.daysInMonth[month]; - } - }; - } - function init() { - self.element = self.input = element; - self.isOpen = false; - parseConfig(); - setupLocale(); - setupInputs(); - setupDates(); - setupHelperFunctions(); - if (!self.isMobile) build(); - bindEvents(); - if (self.selectedDates.length || self.config.noCalendar) { - if (self.config.enableTime) { - setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined); - } - updateValue(false); - } - setCalendarWidth(); - self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar; - var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); - /* TODO: investigate this further - Currently, there is weird positioning behavior in safari causing pages - to scroll up. https://github.com/chmln/flatpickr/issues/563 - However, most browsers are not Safari and positioning is expensive when used - in scale. https://github.com/chmln/flatpickr/issues/1096 - */ - if (!self.isMobile && isSafari) { - positionCalendar(); - } - triggerEvent("onReady"); - } - function bindToInstance(fn) { - return fn.bind(self); - } - function setCalendarWidth() { - var config = self.config; - if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) { - window.requestAnimationFrame(function () { - if (self.calendarContainer !== undefined) { - self.calendarContainer.style.visibility = "hidden"; - self.calendarContainer.style.display = "block"; - } - if (self.daysContainer !== undefined) { - var daysWidth = (self.days.offsetWidth + 1) * config.showMonths; - self.daysContainer.style.width = daysWidth + "px"; - self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + "px"; - self.calendarContainer.style.removeProperty("visibility"); - self.calendarContainer.style.removeProperty("display"); - } - }); - } - } - /** - * The handler for all events targeting the time inputs - */ - function updateTime(e) { - if (self.selectedDates.length === 0) { - setDefaultTime(); - } - if (e !== undefined && e.type !== "blur") { - timeWrapper(e); - } - var prevValue = self._input.value; - setHoursFromInputs(); - updateValue(); - if (self._input.value !== prevValue) { - self._debouncedChange(); - } - } - function ampm2military(hour, amPM) { - return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]); - } - function military2ampm(hour) { - switch (hour % 24) { - case 0: - case 12: - return 12; - default: - return hour % 12; - } - } - /** - * Syncs the selected date object time with user's time input - */ - function setHoursFromInputs() { - if (self.hourElement === undefined || self.minuteElement === undefined) return; - var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, - minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, - seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0; - if (self.amPM !== undefined) { - hours = ampm2military(hours, self.amPM.textContent); - } - var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0; - var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0; - if (limitMaxHours) { - var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate; - hours = Math.min(hours, maxTime.getHours()); - if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes()); - if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds()); - } - if (limitMinHours) { - var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate; - hours = Math.max(hours, minTime.getHours()); - if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes()); - if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds()); - } - setHours(hours, minutes, seconds); - } - /** - * Syncs time input values with a date - */ - function setHoursFromDate(dateObj) { - var date = dateObj || self.latestSelectedDateObj; - if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds()); - } - function setDefaultHours() { - var hours = self.config.defaultHour; - var minutes = self.config.defaultMinute; - var seconds = self.config.defaultSeconds; - if (self.config.minDate !== undefined) { - var minHr = self.config.minDate.getHours(); - var minMinutes = self.config.minDate.getMinutes(); - hours = Math.max(hours, minHr); - if (hours === minHr) minutes = Math.max(minMinutes, minutes); - if (hours === minHr && minutes === minMinutes) seconds = self.config.minDate.getSeconds(); - } - if (self.config.maxDate !== undefined) { - var maxHr = self.config.maxDate.getHours(); - var maxMinutes = self.config.maxDate.getMinutes(); - hours = Math.min(hours, maxHr); - if (hours === maxHr) minutes = Math.min(maxMinutes, minutes); - if (hours === maxHr && minutes === maxMinutes) seconds = self.config.maxDate.getSeconds(); - } - setHours(hours, minutes, seconds); - } - /** - * Sets the hours, minutes, and optionally seconds - * of the latest selected date object and the - * corresponding time inputs - * @param {Number} hours the hour. whether its military - * or am-pm gets inferred from config - * @param {Number} minutes the minutes - * @param {Number} seconds the seconds (optional) - */ - function setHours(hours, minutes, seconds) { - if (self.latestSelectedDateObj !== undefined) { - self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0); - } - if (!self.hourElement || !self.minuteElement || self.isMobile) return; - self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours); - self.minuteElement.value = pad(minutes); - if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)]; - if (self.secondElement !== undefined) self.secondElement.value = pad(seconds); - } - /** - * Handles the year input and incrementing events - * @param {Event} event the keyup or increment event - */ - function onYearInput(event) { - var year = parseInt(event.target.value) + (event.delta || 0); - if (year / 1000 > 1 || event.key === "Enter" && !/[^\d]/.test(year.toString())) { - changeYear(year); - } - } - /** - * Essentially addEventListener + tracking - * @param {Element} element the element to addEventListener to - * @param {String} event the event name - * @param {Function} handler the event handler - */ - function bind(element, event, handler, options) { - if (event instanceof Array) return event.forEach(function (ev) { - return bind(element, ev, handler, options); - }); - if (element instanceof Array) return element.forEach(function (el) { - return bind(el, event, handler, options); - }); - element.addEventListener(event, handler, options); - self._handlers.push({ - element: element, - event: event, - handler: handler, - options: options - }); - } - /** - * A mousedown handler which mimics click. - * Minimizes latency, since we don't need to wait for mouseup in most cases. - * Also, avoids handling right clicks. - * - * @param {Function} handler the event handler - */ - function onClick(handler) { - return function (evt) { - evt.which === 1 && handler(evt); - }; - } - function triggerChange() { - triggerEvent("onChange"); - } - /** - * Adds all the necessary event listeners - */ - function bindEvents() { - if (self.config.wrap) { - ["open", "close", "toggle", "clear"].forEach(function (evt) { - Array.prototype.forEach.call(self.element.querySelectorAll("[data-" + evt + "]"), function (el) { - return bind(el, "click", self[evt]); - }); - }); - } - if (self.isMobile) { - setupMobile(); - return; - } - var debouncedResize = debounce(onResize, 50); - self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS); - if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, "mouseover", function (e) { - if (self.config.mode === "range") onMouseOver(e.target); - }); - bind(window.document.body, "keydown", onKeyDown); - if (!self.config.inline && !self.config.static) bind(window, "resize", debouncedResize); - if (window.ontouchstart !== undefined) bind(window.document, "touchstart", documentClick);else bind(window.document, "mousedown", onClick(documentClick)); - bind(window.document, "focus", documentClick, { capture: true }); - if (self.config.clickOpens === true) { - bind(self._input, "focus", self.open); - bind(self._input, "mousedown", onClick(self.open)); - } - if (self.daysContainer !== undefined) { - bind(self.monthNav, "mousedown", onClick(onMonthNavClick)); - bind(self.monthNav, ["keyup", "increment"], onYearInput); - bind(self.daysContainer, "mousedown", onClick(selectDate)); - } - if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) { - var selText = function selText(e) { - return e.target.select(); - }; - bind(self.timeContainer, ["increment"], updateTime); - bind(self.timeContainer, "blur", updateTime, { capture: true }); - bind(self.timeContainer, "mousedown", onClick(timeIncrement)); - bind([self.hourElement, self.minuteElement], ["focus", "click"], selText); - if (self.secondElement !== undefined) bind(self.secondElement, "focus", function () { - return self.secondElement && self.secondElement.select(); - }); - if (self.amPM !== undefined) { - bind(self.amPM, "mousedown", onClick(function (e) { - updateTime(e); - triggerChange(); - })); - } - } - } - /** - * Set the calendar view to a particular date. - * @param {Date} jumpDate the date to set the view to - * @param {boolean} triggerChange if change events should be triggered - */ - function jumpToDate(jumpDate, triggerChange) { - var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now); - var oldYear = self.currentYear; - var oldMonth = self.currentMonth; - try { - if (jumpTo !== undefined) { - self.currentYear = jumpTo.getFullYear(); - self.currentMonth = jumpTo.getMonth(); - } - } catch (e) { - /* istanbul ignore next */ - e.message = "Invalid date supplied: " + jumpTo; - self.config.errorHandler(e); - } - if (triggerChange && self.currentYear !== oldYear) { - triggerEvent("onYearChange"); - buildMonthSwitch(); - } - if (triggerChange && (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) { - triggerEvent("onMonthChange"); - } - self.redraw(); - } - /** - * The up/down arrow handler for time inputs - * @param {Event} e the click event - */ - function timeIncrement(e) { - if (~e.target.className.indexOf("arrow")) incrementNumInput(e, e.target.classList.contains("arrowUp") ? 1 : -1); - } - /** - * Increments/decrements the value of input associ- - * ated with the up/down arrow by dispatching an - * "increment" event on the input. - * - * @param {Event} e the click event - * @param {Number} delta the diff (usually 1 or -1) - * @param {Element} inputElem the input element - */ - function incrementNumInput(e, delta, inputElem) { - var target = e && e.target; - var input = inputElem || target && target.parentNode && target.parentNode.firstChild; - var event = createEvent("increment"); - event.delta = delta; - input && input.dispatchEvent(event); - } - function build() { - var fragment = window.document.createDocumentFragment(); - self.calendarContainer = createElement("div", "flatpickr-calendar"); - self.calendarContainer.tabIndex = -1; - if (!self.config.noCalendar) { - fragment.appendChild(buildMonthNav()); - self.innerContainer = createElement("div", "flatpickr-innerContainer"); - if (self.config.weekNumbers) { - var _a = buildWeeks(), - weekWrapper = _a.weekWrapper, - weekNumbers = _a.weekNumbers; - self.innerContainer.appendChild(weekWrapper); - self.weekNumbers = weekNumbers; - self.weekWrapper = weekWrapper; - } - self.rContainer = createElement("div", "flatpickr-rContainer"); - self.rContainer.appendChild(buildWeekdays()); - if (!self.daysContainer) { - self.daysContainer = createElement("div", "flatpickr-days"); - self.daysContainer.tabIndex = -1; - } - buildDays(); - self.rContainer.appendChild(self.daysContainer); - self.innerContainer.appendChild(self.rContainer); - fragment.appendChild(self.innerContainer); - } - if (self.config.enableTime) { - fragment.appendChild(buildTime()); - } - toggleClass(self.calendarContainer, "rangeMode", self.config.mode === "range"); - toggleClass(self.calendarContainer, "animate", self.config.animate === true); - toggleClass(self.calendarContainer, "multiMonth", self.config.showMonths > 1); - self.calendarContainer.appendChild(fragment); - var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined; - if (self.config.inline || self.config.static) { - self.calendarContainer.classList.add(self.config.inline ? "inline" : "static"); - if (self.config.inline) { - if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer); - } - if (self.config.static) { - var wrapper = createElement("div", "flatpickr-wrapper"); - if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element); - wrapper.appendChild(self.element); - if (self.altInput) wrapper.appendChild(self.altInput); - wrapper.appendChild(self.calendarContainer); - } - } - if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer); - } - function createDay(className, date, dayNumber, i) { - var dateIsEnabled = isEnabled(date, true), - dayElement = createElement("span", "flatpickr-day " + className, date.getDate().toString()); - dayElement.dateObj = date; - dayElement.$i = i; - dayElement.setAttribute("aria-label", self.formatDate(date, self.config.ariaDateFormat)); - if (className.indexOf("hidden") === -1 && compareDates(date, self.now) === 0) { - self.todayDateElem = dayElement; - dayElement.classList.add("today"); - dayElement.setAttribute("aria-current", "date"); - } - if (dateIsEnabled) { - dayElement.tabIndex = -1; - if (isDateSelected(date)) { - dayElement.classList.add("selected"); - self.selectedDateElem = dayElement; - if (self.config.mode === "range") { - toggleClass(dayElement, "startRange", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0); - toggleClass(dayElement, "endRange", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0); - if (className === "nextMonthDay") dayElement.classList.add("inRange"); - } - } - } else { - dayElement.classList.add("flatpickr-disabled"); - } - if (self.config.mode === "range") { - if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add("inRange"); - } - if (self.weekNumbers && self.config.showMonths === 1 && className !== "prevMonthDay" && dayNumber % 7 === 1) { - self.weekNumbers.insertAdjacentHTML("beforeend", "" + self.config.getWeek(date) + ""); - } - triggerEvent("onDayCreate", dayElement); - return dayElement; - } - function focusOnDayElem(targetNode) { - targetNode.focus(); - if (self.config.mode === "range") onMouseOver(targetNode); - } - function getFirstAvailableDay(delta) { - var startMonth = delta > 0 ? 0 : self.config.showMonths - 1; - var endMonth = delta > 0 ? self.config.showMonths : -1; - for (var m = startMonth; m != endMonth; m += delta) { - var month = self.daysContainer.children[m]; - var startIndex = delta > 0 ? 0 : month.children.length - 1; - var endIndex = delta > 0 ? month.children.length : -1; - for (var i = startIndex; i != endIndex; i += delta) { - var c = month.children[i]; - if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj)) return c; - } - } - return undefined; - } - function getNextAvailableDay(current, delta) { - var givenMonth = current.className.indexOf("Month") === -1 ? current.dateObj.getMonth() : self.currentMonth; - var endMonth = delta > 0 ? self.config.showMonths : -1; - var loopDelta = delta > 0 ? 1 : -1; - for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) { - var month = self.daysContainer.children[m]; - var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0; - var numMonthDays = month.children.length; - for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) { - var c = month.children[i]; - if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c); - } - } - self.changeMonth(loopDelta); - focusOnDay(getFirstAvailableDay(loopDelta), 0); - return undefined; - } - function focusOnDay(current, offset) { - var dayFocused = isInView(document.activeElement || document.body); - var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1); - if (startElem === undefined) return self._input.focus(); - if (!dayFocused) return focusOnDayElem(startElem); - getNextAvailableDay(startElem, offset); - } - function buildMonthDays(year, month) { - var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7; - var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12); - var daysInMonth = self.utils.getDaysInMonth(month), - days = window.document.createDocumentFragment(), - isMultiMonth = self.config.showMonths > 1, - prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", - nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay"; - var dayNumber = prevMonthDays + 1 - firstOfMonth, - dayIndex = 0; - // prepend days from the ending of previous month - for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) { - days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex)); - } - // Start at 1 since there is no 0th day - for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) { - days.appendChild(createDay("", new Date(year, month, dayNumber), dayNumber, dayIndex)); - } - // append days from the next month - for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) { - days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex)); - } - //updateNavigationCurrentMonth(); - var dayContainer = createElement("div", "dayContainer"); - dayContainer.appendChild(days); - return dayContainer; - } - function buildDays() { - if (self.daysContainer === undefined) { - return; - } - clearNode(self.daysContainer); - // TODO: week numbers for each month - if (self.weekNumbers) clearNode(self.weekNumbers); - var frag = document.createDocumentFragment(); - for (var i = 0; i < self.config.showMonths; i++) { - var d = new Date(self.currentYear, self.currentMonth, 1); - d.setMonth(self.currentMonth + i); - frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth())); - } - self.daysContainer.appendChild(frag); - self.days = self.daysContainer.firstChild; - if (self.config.mode === "range" && self.selectedDates.length === 1) { - onMouseOver(); - } - } - function buildMonthSwitch() { - if (self.config.showMonths > 1 || self.config.monthSelectorType !== "dropdown") return; - var shouldBuildMonth = function shouldBuildMonth(month) { - if (self.config.minDate !== undefined && self.currentYear === self.config.minDate.getFullYear() && month < self.config.minDate.getMonth()) { - return false; - } - return !(self.config.maxDate !== undefined && self.currentYear === self.config.maxDate.getFullYear() && month > self.config.maxDate.getMonth()); - }; - self.monthsDropdownContainer.tabIndex = -1; - self.monthsDropdownContainer.innerHTML = ""; - for (var i = 0; i < 12; i++) { - if (!shouldBuildMonth(i)) continue; - var month = createElement("option", "flatpickr-monthDropdown-month"); - month.value = new Date(self.currentYear, i).getMonth().toString(); - month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n); - month.tabIndex = -1; - if (self.currentMonth === i) { - month.selected = true; - } - self.monthsDropdownContainer.appendChild(month); - } - } - function buildMonth() { - var container = createElement("div", "flatpickr-month"); - var monthNavFragment = window.document.createDocumentFragment(); - var monthElement; - if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") { - monthElement = createElement("span", "cur-month"); - } else { - self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months"); - bind(self.monthsDropdownContainer, "change", function (e) { - var target = e.target; - var selectedMonth = parseInt(target.value, 10); - self.changeMonth(selectedMonth - self.currentMonth); - triggerEvent("onMonthChange"); - }); - buildMonthSwitch(); - monthElement = self.monthsDropdownContainer; - } - var yearInput = createNumberInput("cur-year", { tabindex: "-1" }); - var yearElement = yearInput.getElementsByTagName("input")[0]; - yearElement.setAttribute("aria-label", self.l10n.yearAriaLabel); - if (self.config.minDate) { - yearElement.setAttribute("min", self.config.minDate.getFullYear().toString()); - } - if (self.config.maxDate) { - yearElement.setAttribute("max", self.config.maxDate.getFullYear().toString()); - yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear(); - } - var currentMonth = createElement("div", "flatpickr-current-month"); - currentMonth.appendChild(monthElement); - currentMonth.appendChild(yearInput); - monthNavFragment.appendChild(currentMonth); - container.appendChild(monthNavFragment); - return { - container: container, - yearElement: yearElement, - monthElement: monthElement - }; - } - function buildMonths() { - clearNode(self.monthNav); - self.monthNav.appendChild(self.prevMonthNav); - if (self.config.showMonths) { - self.yearElements = []; - self.monthElements = []; - } - for (var m = self.config.showMonths; m--;) { - var month = buildMonth(); - self.yearElements.push(month.yearElement); - self.monthElements.push(month.monthElement); - self.monthNav.appendChild(month.container); - } - self.monthNav.appendChild(self.nextMonthNav); - } - function buildMonthNav() { - self.monthNav = createElement("div", "flatpickr-months"); - self.yearElements = []; - self.monthElements = []; - self.prevMonthNav = createElement("span", "flatpickr-prev-month"); - self.prevMonthNav.innerHTML = self.config.prevArrow; - self.nextMonthNav = createElement("span", "flatpickr-next-month"); - self.nextMonthNav.innerHTML = self.config.nextArrow; - buildMonths(); - Object.defineProperty(self, "_hidePrevMonthArrow", { - get: function get() { - return self.__hidePrevMonthArrow; - }, - set: function set(bool) { - if (self.__hidePrevMonthArrow !== bool) { - toggleClass(self.prevMonthNav, "flatpickr-disabled", bool); - self.__hidePrevMonthArrow = bool; - } - } - }); - Object.defineProperty(self, "_hideNextMonthArrow", { - get: function get() { - return self.__hideNextMonthArrow; - }, - set: function set(bool) { - if (self.__hideNextMonthArrow !== bool) { - toggleClass(self.nextMonthNav, "flatpickr-disabled", bool); - self.__hideNextMonthArrow = bool; - } - } - }); - self.currentYearElement = self.yearElements[0]; - updateNavigationCurrentMonth(); - return self.monthNav; - } - function buildTime() { - self.calendarContainer.classList.add("hasTime"); - if (self.config.noCalendar) self.calendarContainer.classList.add("noCalendar"); - self.timeContainer = createElement("div", "flatpickr-time"); - self.timeContainer.tabIndex = -1; - var separator = createElement("span", "flatpickr-time-separator", ":"); - var hourInput = createNumberInput("flatpickr-hour", { - "aria-label": self.l10n.hourAriaLabel - }); - self.hourElement = hourInput.getElementsByTagName("input")[0]; - var minuteInput = createNumberInput("flatpickr-minute", { - "aria-label": self.l10n.minuteAriaLabel - }); - self.minuteElement = minuteInput.getElementsByTagName("input")[0]; - self.hourElement.tabIndex = self.minuteElement.tabIndex = -1; - self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour)); - self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute); - self.hourElement.setAttribute("step", self.config.hourIncrement.toString()); - self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString()); - self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1"); - self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12"); - self.minuteElement.setAttribute("min", "0"); - self.minuteElement.setAttribute("max", "59"); - self.timeContainer.appendChild(hourInput); - self.timeContainer.appendChild(separator); - self.timeContainer.appendChild(minuteInput); - if (self.config.time_24hr) self.timeContainer.classList.add("time24hr"); - if (self.config.enableSeconds) { - self.timeContainer.classList.add("hasSeconds"); - var secondInput = createNumberInput("flatpickr-second"); - self.secondElement = secondInput.getElementsByTagName("input")[0]; - self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds); - self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step")); - self.secondElement.setAttribute("min", "0"); - self.secondElement.setAttribute("max", "59"); - self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":")); - self.timeContainer.appendChild(secondInput); - } - if (!self.config.time_24hr) { - // add self.amPM if appropriate - self.amPM = createElement("span", "flatpickr-am-pm", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]); - self.amPM.title = self.l10n.toggleTitle; - self.amPM.tabIndex = -1; - self.timeContainer.appendChild(self.amPM); - } - return self.timeContainer; - } - function buildWeekdays() { - if (!self.weekdayContainer) self.weekdayContainer = createElement("div", "flatpickr-weekdays");else clearNode(self.weekdayContainer); - for (var i = self.config.showMonths; i--;) { - var container = createElement("div", "flatpickr-weekdaycontainer"); - self.weekdayContainer.appendChild(container); - } - updateWeekdays(); - return self.weekdayContainer; - } - function updateWeekdays() { - var firstDayOfWeek = self.l10n.firstDayOfWeek; - var weekdays = self.l10n.weekdays.shorthand.slice(); - if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) { - weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek)); - } - for (var i = self.config.showMonths; i--;) { - self.weekdayContainer.children[i].innerHTML = "\n \n " + weekdays.join("") + "\n \n "; - } - } - /* istanbul ignore next */ - function buildWeeks() { - self.calendarContainer.classList.add("hasWeeks"); - var weekWrapper = createElement("div", "flatpickr-weekwrapper"); - weekWrapper.appendChild(createElement("span", "flatpickr-weekday", self.l10n.weekAbbreviation)); - var weekNumbers = createElement("div", "flatpickr-weeks"); - weekWrapper.appendChild(weekNumbers); - return { - weekWrapper: weekWrapper, - weekNumbers: weekNumbers - }; - } - function changeMonth(value, isOffset) { - if (isOffset === void 0) { - isOffset = true; - } - var delta = isOffset ? value : value - self.currentMonth; - if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return; - self.currentMonth += delta; - if (self.currentMonth < 0 || self.currentMonth > 11) { - self.currentYear += self.currentMonth > 11 ? 1 : -1; - self.currentMonth = (self.currentMonth + 12) % 12; - triggerEvent("onYearChange"); - buildMonthSwitch(); - } - buildDays(); - triggerEvent("onMonthChange"); - updateNavigationCurrentMonth(); - } - function clear(triggerChangeEvent, toInitial) { - if (triggerChangeEvent === void 0) { - triggerChangeEvent = true; - } - if (toInitial === void 0) { - toInitial = true; - } - self.input.value = ""; - if (self.altInput !== undefined) self.altInput.value = ""; - if (self.mobileInput !== undefined) self.mobileInput.value = ""; - self.selectedDates = []; - self.latestSelectedDateObj = undefined; - if (toInitial === true) { - self.currentYear = self._initialDate.getFullYear(); - self.currentMonth = self._initialDate.getMonth(); - } - self.showTimeInput = false; - if (self.config.enableTime === true) { - setDefaultHours(); - } - self.redraw(); - if (triggerChangeEvent) - // triggerChangeEvent is true (default) or an Event - triggerEvent("onChange"); - } - function close() { - self.isOpen = false; - if (!self.isMobile) { - if (self.calendarContainer !== undefined) { - self.calendarContainer.classList.remove("open"); - } - if (self._input !== undefined) { - self._input.classList.remove("active"); - } - } - triggerEvent("onClose"); - } - function destroy() { - if (self.config !== undefined) triggerEvent("onDestroy"); - for (var i = self._handlers.length; i--;) { - var h = self._handlers[i]; - h.element.removeEventListener(h.event, h.handler, h.options); - } - self._handlers = []; - if (self.mobileInput) { - if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput); - self.mobileInput = undefined; - } else if (self.calendarContainer && self.calendarContainer.parentNode) { - if (self.config.static && self.calendarContainer.parentNode) { - var wrapper = self.calendarContainer.parentNode; - wrapper.lastChild && wrapper.removeChild(wrapper.lastChild); - if (wrapper.parentNode) { - while (wrapper.firstChild) { - wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper); - }wrapper.parentNode.removeChild(wrapper); - } - } else self.calendarContainer.parentNode.removeChild(self.calendarContainer); - } - if (self.altInput) { - self.input.type = "text"; - if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput); - delete self.altInput; - } - if (self.input) { - self.input.type = self.input._type; - self.input.classList.remove("flatpickr-input"); - self.input.removeAttribute("readonly"); - self.input.value = ""; - } - ["_showTimeInput", "latestSelectedDateObj", "_hideNextMonthArrow", "_hidePrevMonthArrow", "__hideNextMonthArrow", "__hidePrevMonthArrow", "isMobile", "isOpen", "selectedDateElem", "minDateHasTime", "maxDateHasTime", "days", "daysContainer", "_input", "_positionElement", "innerContainer", "rContainer", "monthNav", "todayDateElem", "calendarContainer", "weekdayContainer", "prevMonthNav", "nextMonthNav", "monthsDropdownContainer", "currentMonthElement", "currentYearElement", "navigationCurrentMonth", "selectedDateElem", "config"].forEach(function (k) { - try { - delete self[k]; - } catch (_) {} - }); - } - function isCalendarElem(elem) { - if (self.config.appendTo && self.config.appendTo.contains(elem)) return true; - return self.calendarContainer.contains(elem); - } - function documentClick(e) { - if (self.isOpen && !self.config.inline) { - var eventTarget_1 = getEventTarget(e); - var isCalendarElement = isCalendarElem(eventTarget_1); - var isInput = eventTarget_1 === self.input || eventTarget_1 === self.altInput || self.element.contains(eventTarget_1) || - // web components - // e.path is not present in all browsers. circumventing typechecks - e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput)); - var lostFocus = e.type === "blur" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement && !isCalendarElem(e.relatedTarget); - var isIgnored = !self.config.ignoredFocusElements.some(function (elem) { - return elem.contains(eventTarget_1); - }); - if (lostFocus && isIgnored) { - self.close(); - if (self.config.mode === "range" && self.selectedDates.length === 1) { - self.clear(false); - self.redraw(); - } - } - } - } - function changeYear(newYear) { - if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return; - var newYearNum = newYear, - isNewYear = self.currentYear !== newYearNum; - self.currentYear = newYearNum || self.currentYear; - if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) { - self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth); - } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) { - self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth); - } - if (isNewYear) { - self.redraw(); - triggerEvent("onYearChange"); - buildMonthSwitch(); - } - } - function isEnabled(date, timeless) { - if (timeless === void 0) { - timeless = true; - } - var dateToCheck = self.parseDate(date, undefined, timeless); // timeless - if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false; - if (self.config.enable.length === 0 && self.config.disable.length === 0) return true; - if (dateToCheck === undefined) return false; - var bool = self.config.enable.length > 0, - array = bool ? self.config.enable : self.config.disable; - for (var i = 0, d = void 0; i < array.length; i++) { - d = array[i]; - if (typeof d === "function" && d(dateToCheck) // disabled by function - ) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) - // disabled by date - return bool;else if (typeof d === "string" && dateToCheck !== undefined) { - // disabled by date string - var parsed = self.parseDate(d, undefined, true); - return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool; - } else if ( - // disabled by range - (typeof d === 'undefined' ? 'undefined' : _typeof(d)) === "object" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool; - } - return !bool; - } - function isInView(elem) { - if (self.daysContainer !== undefined) return elem.className.indexOf("hidden") === -1 && self.daysContainer.contains(elem); - return false; - } - function onKeyDown(e) { - // e.key e.keyCode - // "Backspace" 8 - // "Tab" 9 - // "Enter" 13 - // "Escape" (IE "Esc") 27 - // "ArrowLeft" (IE "Left") 37 - // "ArrowUp" (IE "Up") 38 - // "ArrowRight" (IE "Right") 39 - // "ArrowDown" (IE "Down") 40 - // "Delete" (IE "Del") 46 - var isInput = e.target === self._input; - var allowInput = self.config.allowInput; - var allowKeydown = self.isOpen && (!allowInput || !isInput); - var allowInlineKeydown = self.config.inline && isInput && !allowInput; - if (e.keyCode === 13 && isInput) { - if (allowInput) { - self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat); - return e.target.blur(); - } else { - self.open(); - } - } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) { - var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target); - switch (e.keyCode) { - case 13: - if (isTimeObj) { - e.preventDefault(); - updateTime(); - focusAndClose(); - } else selectDate(e); - break; - case 27: - // escape - e.preventDefault(); - focusAndClose(); - break; - case 8: - case 46: - if (isInput && !self.config.allowInput) { - e.preventDefault(); - self.clear(); - } - break; - case 37: - case 39: - if (!isTimeObj && !isInput) { - e.preventDefault(); - if (self.daysContainer !== undefined && (allowInput === false || document.activeElement && isInView(document.activeElement))) { - var delta_1 = e.keyCode === 39 ? 1 : -1; - if (!e.ctrlKey) focusOnDay(undefined, delta_1);else { - e.stopPropagation(); - changeMonth(delta_1); - focusOnDay(getFirstAvailableDay(1), 0); - } - } - } else if (self.hourElement) self.hourElement.focus(); - break; - case 38: - case 40: - e.preventDefault(); - var delta = e.keyCode === 40 ? 1 : -1; - if (self.daysContainer && e.target.$i !== undefined || e.target === self.input) { - if (e.ctrlKey) { - e.stopPropagation(); - changeYear(self.currentYear - delta); - focusOnDay(getFirstAvailableDay(1), 0); - } else if (!isTimeObj) focusOnDay(undefined, delta * 7); - } else if (e.target === self.currentYearElement) { - changeYear(self.currentYear - delta); - } else if (self.config.enableTime) { - if (!isTimeObj && self.hourElement) self.hourElement.focus(); - updateTime(e); - self._debouncedChange(); - } - break; - case 9: - if (isTimeObj) { - var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].concat(self.pluginElements).filter(function (x) { - return x; - }); - var i = elems.indexOf(e.target); - if (i !== -1) { - var target = elems[i + (e.shiftKey ? -1 : 1)]; - e.preventDefault(); - (target || self._input).focus(); - } - } else if (!self.config.noCalendar && self.daysContainer && self.daysContainer.contains(e.target) && e.shiftKey) { - e.preventDefault(); - self._input.focus(); - } - break; - default: - break; - } - } - if (self.amPM !== undefined && e.target === self.amPM) { - switch (e.key) { - case self.l10n.amPM[0].charAt(0): - case self.l10n.amPM[0].charAt(0).toLowerCase(): - self.amPM.textContent = self.l10n.amPM[0]; - setHoursFromInputs(); - updateValue(); - break; - case self.l10n.amPM[1].charAt(0): - case self.l10n.amPM[1].charAt(0).toLowerCase(): - self.amPM.textContent = self.l10n.amPM[1]; - setHoursFromInputs(); - updateValue(); - break; - } - } - if (isInput || isCalendarElem(e.target)) { - triggerEvent("onKeyDown", e); - } - } - function onMouseOver(elem) { - if (self.selectedDates.length !== 1 || elem && (!elem.classList.contains("flatpickr-day") || elem.classList.contains("flatpickr-disabled"))) return; - var hoverDate = elem ? elem.dateObj.getTime() : self.days.firstElementChild.dateObj.getTime(), - initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), - rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), - rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime()); - var containsDisabled = false; - var minRange = 0, - maxRange = 0; - for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) { - if (!isEnabled(new Date(t), true)) { - containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate; - if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t; - } - } - for (var m = 0; m < self.config.showMonths; m++) { - var month = self.daysContainer.children[m]; - var _loop_1 = function _loop_1(i, l) { - var dayElem = month.children[i], - date = dayElem.dateObj; - var timestamp = date.getTime(); - var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange; - if (outOfRange) { - dayElem.classList.add("notAllowed"); - ["inRange", "startRange", "endRange"].forEach(function (c) { - dayElem.classList.remove(c); - }); - return "continue"; - } else if (containsDisabled && !outOfRange) return "continue"; - ["startRange", "inRange", "endRange", "notAllowed"].forEach(function (c) { - dayElem.classList.remove(c); - }); - if (elem !== undefined) { - elem.classList.add(hoverDate <= self.selectedDates[0].getTime() ? "startRange" : "endRange"); - if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add("startRange");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add("endRange"); - if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add("inRange"); - } - }; - for (var i = 0, l = month.children.length; i < l; i++) { - _loop_1(i, l); - } - } - } - function onResize() { - if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar(); - } - function setDefaultTime() { - self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), true); - setDefaultHours(); - updateValue(); - } - function open(e, positionElement) { - if (positionElement === void 0) { - positionElement = self._positionElement; - } - if (self.isMobile === true) { - if (e) { - e.preventDefault(); - e.target && e.target.blur(); - } - if (self.mobileInput !== undefined) { - self.mobileInput.focus(); - self.mobileInput.click(); - } - triggerEvent("onOpen"); - return; - } - if (self._input.disabled || self.config.inline) return; - var wasOpen = self.isOpen; - self.isOpen = true; - if (!wasOpen) { - self.calendarContainer.classList.add("open"); - self._input.classList.add("active"); - triggerEvent("onOpen"); - positionCalendar(positionElement); - } - if (self.config.enableTime === true && self.config.noCalendar === true) { - if (self.selectedDates.length === 0) { - setDefaultTime(); - } - if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) { - setTimeout(function () { - return self.hourElement.select(); - }, 50); - } - } - } - function minMaxDateSetter(type) { - return function (date) { - var dateObj = self.config["_" + type + "Date"] = self.parseDate(date, self.config.dateFormat); - var inverseDateObj = self.config["_" + (type === "min" ? "max" : "min") + "Date"]; - if (dateObj !== undefined) { - self[type === "min" ? "minDateHasTime" : "maxDateHasTime"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0; - } - if (self.selectedDates) { - self.selectedDates = self.selectedDates.filter(function (d) { - return isEnabled(d); - }); - if (!self.selectedDates.length && type === "min") setHoursFromDate(dateObj); - updateValue(); - } - if (self.daysContainer) { - redraw(); - if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type); - self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear(); - } - }; - } - function parseConfig() { - var boolOpts = ["wrap", "weekNumbers", "allowInput", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"]; - var userConfig = _assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {}))); - var formats = {}; - self.config.parseDate = userConfig.parseDate; - self.config.formatDate = userConfig.formatDate; - Object.defineProperty(self.config, "enable", { - get: function get() { - return self.config._enable; - }, - set: function set(dates) { - self.config._enable = parseDateRules(dates); - } - }); - Object.defineProperty(self.config, "disable", { - get: function get() { - return self.config._disable; - }, - set: function set(dates) { - self.config._disable = parseDateRules(dates); - } - }); - var timeMode = userConfig.mode === "time"; - if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) { - var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat; - formats.dateFormat = userConfig.noCalendar || timeMode ? "H:i" + (userConfig.enableSeconds ? ":S" : "") : defaultDateFormat + " H:i" + (userConfig.enableSeconds ? ":S" : ""); - } - if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) { - var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat; - formats.altFormat = userConfig.noCalendar || timeMode ? "h:i" + (userConfig.enableSeconds ? ":S K" : " K") : defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K"); - } - if (!userConfig.altInputClass) { - self.config.altInputClass = self.input.className + " " + self.config.altInputClass; - } - Object.defineProperty(self.config, "minDate", { - get: function get() { - return self.config._minDate; - }, - set: minMaxDateSetter("min") - }); - Object.defineProperty(self.config, "maxDate", { - get: function get() { - return self.config._maxDate; - }, - set: minMaxDateSetter("max") - }); - var minMaxTimeSetter = function minMaxTimeSetter(type) { - return function (val) { - self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i"); - }; - }; - Object.defineProperty(self.config, "minTime", { - get: function get() { - return self.config._minTime; - }, - set: minMaxTimeSetter("min") - }); - Object.defineProperty(self.config, "maxTime", { - get: function get() { - return self.config._maxTime; - }, - set: minMaxTimeSetter("max") - }); - if (userConfig.mode === "time") { - self.config.noCalendar = true; - self.config.enableTime = true; - } - Object.assign(self.config, formats, userConfig); - for (var i = 0; i < boolOpts.length; i++) { - self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === "true"; - }HOOKS.filter(function (hook) { - return self.config[hook] !== undefined; - }).forEach(function (hook) { - self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance); - }); - self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === "single" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); - for (var i = 0; i < self.config.plugins.length; i++) { - var pluginConf = self.config.plugins[i](self) || {}; - for (var key in pluginConf) { - if (HOOKS.indexOf(key) > -1) { - self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]); - } else if (typeof userConfig[key] === "undefined") self.config[key] = pluginConf[key]; - } - } - triggerEvent("onParseConfig"); - } - function setupLocale() { - if (_typeof(self.config.locale) !== "object" && typeof flatpickr.l10ns[self.config.locale] === "undefined") self.config.errorHandler(new Error("flatpickr: invalid locale " + self.config.locale)); - self.l10n = _assign({}, flatpickr.l10ns["default"], _typeof(self.config.locale) === "object" ? self.config.locale : self.config.locale !== "default" ? flatpickr.l10ns[self.config.locale] : undefined); - tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")"; - var userConfig = _assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {}))); - if (userConfig.time_24hr === undefined && flatpickr.defaultConfig.time_24hr === undefined) { - self.config.time_24hr = self.l10n.time_24hr; - } - self.formatDate = createDateFormatter(self); - self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); - } - function positionCalendar(customPositionElement) { - if (self.calendarContainer === undefined) return; - triggerEvent("onPreCalendarPosition"); - var positionElement = customPositionElement || self._positionElement; - var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) { - return acc + child.offsetHeight; - }, 0), - calendarWidth = self.calendarContainer.offsetWidth, - configPos = self.config.position.split(" "), - configPosVertical = configPos[0], - configPosHorizontal = configPos.length > 1 ? configPos[1] : null, - inputBounds = positionElement.getBoundingClientRect(), - distanceFromBottom = window.innerHeight - inputBounds.bottom, - showOnTop = configPosVertical === "above" || configPosVertical !== "below" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight; - var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2); - toggleClass(self.calendarContainer, "arrowTop", !showOnTop); - toggleClass(self.calendarContainer, "arrowBottom", showOnTop); - if (self.config.inline) return; - var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === "center" ? (calendarWidth - inputBounds.width) / 2 : 0); - var right = window.document.body.offsetWidth - inputBounds.right; - var rightMost = left + calendarWidth > window.document.body.offsetWidth; - var centerMost = right + calendarWidth > window.document.body.offsetWidth; - toggleClass(self.calendarContainer, "rightMost", rightMost); - if (self.config.static) return; - self.calendarContainer.style.top = top + "px"; - if (!rightMost) { - self.calendarContainer.style.left = left + "px"; - self.calendarContainer.style.right = "auto"; - } else if (!centerMost) { - self.calendarContainer.style.left = "auto"; - self.calendarContainer.style.right = right + "px"; - } else { - var doc = document.styleSheets[0]; - // some testing environments don't have css support - if (doc === undefined) return; - var bodyWidth = window.document.body.offsetWidth; - var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2); - var centerBefore = ".flatpickr-calendar.centerMost:before"; - var centerAfter = ".flatpickr-calendar.centerMost:after"; - var centerIndex = doc.cssRules.length; - var centerStyle = "{left:" + inputBounds.left + "px;right:auto;}"; - toggleClass(self.calendarContainer, "rightMost", false); - toggleClass(self.calendarContainer, "centerMost", true); - doc.insertRule(centerBefore + "," + centerAfter + centerStyle, centerIndex); - self.calendarContainer.style.left = centerLeft + "px"; - self.calendarContainer.style.right = "auto"; - } - } - function redraw() { - if (self.config.noCalendar || self.isMobile) return; - updateNavigationCurrentMonth(); - buildDays(); - } - function focusAndClose() { - self._input.focus(); - if (window.navigator.userAgent.indexOf("MSIE") !== -1 || navigator.msMaxTouchPoints !== undefined) { - // hack - bugs in the way IE handles focus keeps the calendar open - setTimeout(self.close, 0); - } else { - self.close(); - } - } - function selectDate(e) { - e.preventDefault(); - e.stopPropagation(); - var isSelectable = function isSelectable(day) { - return day.classList && day.classList.contains("flatpickr-day") && !day.classList.contains("flatpickr-disabled") && !day.classList.contains("notAllowed"); - }; - var t = findParent(e.target, isSelectable); - if (t === undefined) return; - var target = t; - var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime()); - var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== "range"; - self.selectedDateElem = target; - if (self.config.mode === "single") self.selectedDates = [selectedDate];else if (self.config.mode === "multiple") { - var selectedIndex = isDateSelected(selectedDate); - if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate); - } else if (self.config.mode === "range") { - if (self.selectedDates.length === 2) { - self.clear(false, false); - } - self.latestSelectedDateObj = selectedDate; - self.selectedDates.push(selectedDate); - // unless selecting same date twice, sort ascendingly - if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) { - return a.getTime() - b.getTime(); - }); - } - setHoursFromInputs(); - if (shouldChangeMonth) { - var isNewYear = self.currentYear !== selectedDate.getFullYear(); - self.currentYear = selectedDate.getFullYear(); - self.currentMonth = selectedDate.getMonth(); - if (isNewYear) { - triggerEvent("onYearChange"); - buildMonthSwitch(); - } - triggerEvent("onMonthChange"); - } - updateNavigationCurrentMonth(); - buildDays(); - updateValue(); - if (self.config.enableTime) setTimeout(function () { - return self.showTimeInput = true; - }, 50); - // maintain focus - if (!shouldChangeMonth && self.config.mode !== "range" && self.config.showMonths === 1) focusOnDayElem(target);else if (self.selectedDateElem !== undefined && self.hourElement === undefined) { - self.selectedDateElem && self.selectedDateElem.focus(); - } - if (self.hourElement !== undefined) self.hourElement !== undefined && self.hourElement.focus(); - if (self.config.closeOnSelect) { - var single = self.config.mode === "single" && !self.config.enableTime; - var range = self.config.mode === "range" && self.selectedDates.length === 2 && !self.config.enableTime; - if (single || range) { - focusAndClose(); - } - } - triggerChange(); - } - var CALLBACKS = { - locale: [setupLocale, updateWeekdays], - showMonths: [buildMonths, setCalendarWidth, buildWeekdays], - minDate: [jumpToDate], - maxDate: [jumpToDate] - }; - function set(option, value) { - if (option !== null && (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === "object") { - Object.assign(self.config, option); - for (var key in option) { - if (CALLBACKS[key] !== undefined) CALLBACKS[key].forEach(function (x) { - return x(); - }); - } - } else { - self.config[option] = value; - if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) { - return x(); - });else if (HOOKS.indexOf(option) > -1) self.config[option] = arrayify(value); - } - self.redraw(); - updateValue(false); - } - function setSelectedDate(inputDate, format) { - var dates = []; - if (inputDate instanceof Array) dates = inputDate.map(function (d) { - return self.parseDate(d, format); - });else if (inputDate instanceof Date || typeof inputDate === "number") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === "string") { - switch (self.config.mode) { - case "single": - case "time": - dates = [self.parseDate(inputDate, format)]; - break; - case "multiple": - dates = inputDate.split(self.config.conjunction).map(function (date) { - return self.parseDate(date, format); - }); - break; - case "range": - dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) { - return self.parseDate(date, format); - }); - break; - default: - break; - } - } else self.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(inputDate))); - self.selectedDates = dates.filter(function (d) { - return d instanceof Date && isEnabled(d, false); - }); - if (self.config.mode === "range") self.selectedDates.sort(function (a, b) { - return a.getTime() - b.getTime(); - }); - } - function setDate(date, triggerChange, format) { - if (triggerChange === void 0) { - triggerChange = false; - } - if (format === void 0) { - format = self.config.dateFormat; - } - if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange); - setSelectedDate(date, format); - self.showTimeInput = self.selectedDates.length > 0; - self.latestSelectedDateObj = self.selectedDates[self.selectedDates.length - 1]; - self.redraw(); - jumpToDate(); - setHoursFromDate(); - if (self.selectedDates.length === 0) { - self.clear(false); - } - updateValue(triggerChange); - if (triggerChange) triggerEvent("onChange"); - } - function parseDateRules(arr) { - return arr.slice().map(function (rule) { - if (typeof rule === "string" || typeof rule === "number" || rule instanceof Date) { - return self.parseDate(rule, undefined, true); - } else if (rule && (typeof rule === 'undefined' ? 'undefined' : _typeof(rule)) === "object" && rule.from && rule.to) return { - from: self.parseDate(rule.from, undefined), - to: self.parseDate(rule.to, undefined) - }; - return rule; - }).filter(function (x) { - return x; - }); // remove falsy values - } - function setupDates() { - self.selectedDates = []; - self.now = self.parseDate(self.config.now) || new Date(); - // Workaround IE11 setting placeholder as the input's value - var preloadedDate = self.config.defaultDate || ((self.input.nodeName === "INPUT" || self.input.nodeName === "TEXTAREA") && self.input.placeholder && self.input.value === self.input.placeholder ? null : self.input.value); - if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat); - self._initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now; - self.currentYear = self._initialDate.getFullYear(); - self.currentMonth = self._initialDate.getMonth(); - if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0]; - if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, "H:i"); - if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, "H:i"); - self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0); - self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0); - Object.defineProperty(self, "showTimeInput", { - get: function get() { - return self._showTimeInput; - }, - set: function set(bool) { - self._showTimeInput = bool; - if (self.calendarContainer) toggleClass(self.calendarContainer, "showTimeInput", bool); - self.isOpen && positionCalendar(); - } - }); - } - function setupInputs() { - self.input = self.config.wrap ? element.querySelector("[data-input]") : element; - /* istanbul ignore next */ - if (!self.input) { - self.config.errorHandler(new Error("Invalid input element specified")); - return; - } - // hack: store previous type to restore it after destroy() - self.input._type = self.input.type; - self.input.type = "text"; - self.input.classList.add("flatpickr-input"); - self._input = self.input; - if (self.config.altInput) { - // replicate self.element - self.altInput = createElement(self.input.nodeName, self.config.altInputClass); - self._input = self.altInput; - self.altInput.placeholder = self.input.placeholder; - self.altInput.disabled = self.input.disabled; - self.altInput.required = self.input.required; - self.altInput.tabIndex = self.input.tabIndex; - self.altInput.type = "text"; - self.input.setAttribute("type", "hidden"); - if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling); - } - if (!self.config.allowInput) self._input.setAttribute("readonly", "readonly"); - self._positionElement = self.config.positionElement || self._input; - } - function setupMobile() { - var inputType = self.config.enableTime ? self.config.noCalendar ? "time" : "datetime-local" : "date"; - self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile"); - self.mobileInput.step = self.input.getAttribute("step") || "any"; - self.mobileInput.tabIndex = 1; - self.mobileInput.type = inputType; - self.mobileInput.disabled = self.input.disabled; - self.mobileInput.required = self.input.required; - self.mobileInput.placeholder = self.input.placeholder; - self.mobileFormatStr = inputType === "datetime-local" ? "Y-m-d\\TH:i:S" : inputType === "date" ? "Y-m-d" : "H:i:S"; - if (self.selectedDates.length > 0) { - self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr); - } - if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d"); - if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d"); - self.input.type = "hidden"; - if (self.altInput !== undefined) self.altInput.type = "hidden"; - try { - if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling); - } catch (_a) {} - bind(self.mobileInput, "change", function (e) { - self.setDate(e.target.value, false, self.mobileFormatStr); - triggerEvent("onChange"); - triggerEvent("onClose"); - }); - } - function toggle(e) { - if (self.isOpen === true) return self.close(); - self.open(e); - } - function triggerEvent(event, data) { - // If the instance has been destroyed already, all hooks have been removed - if (self.config === undefined) return; - var hooks = self.config[event]; - if (hooks !== undefined && hooks.length > 0) { - for (var i = 0; hooks[i] && i < hooks.length; i++) { - hooks[i](self.selectedDates, self.input.value, self, data); - } - } - if (event === "onChange") { - self.input.dispatchEvent(createEvent("change")); - // many front-end frameworks bind to the input event - self.input.dispatchEvent(createEvent("input")); - } - } - function createEvent(name) { - var e = document.createEvent("Event"); - e.initEvent(name, true, true); - return e; - } - function isDateSelected(date) { - for (var i = 0; i < self.selectedDates.length; i++) { - if (compareDates(self.selectedDates[i], date) === 0) return "" + i; - } - return false; - } - function isDateInRange(date) { - if (self.config.mode !== "range" || self.selectedDates.length < 2) return false; - return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0; - } - function updateNavigationCurrentMonth() { - if (self.config.noCalendar || self.isMobile || !self.monthNav) return; - self.yearElements.forEach(function (yearElement, i) { - var d = new Date(self.currentYear, self.currentMonth, 1); - d.setMonth(self.currentMonth + i); - if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") { - self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + " "; - } else { - self.monthsDropdownContainer.value = d.getMonth().toString(); - } - yearElement.value = d.getFullYear().toString(); - }); - self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear()); - self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear()); - } - function getDateStr(format) { - return self.selectedDates.map(function (dObj) { - return self.formatDate(dObj, format); - }).filter(function (d, i, arr) { - return self.config.mode !== "range" || self.config.enableTime || arr.indexOf(d) === i; - }).join(self.config.mode !== "range" ? self.config.conjunction : self.l10n.rangeSeparator); - } - /** - * Updates the values of inputs associated with the calendar - */ - function updateValue(triggerChange) { - if (triggerChange === void 0) { - triggerChange = true; - } - if (self.mobileInput !== undefined && self.mobileFormatStr) { - self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : ""; - } - self.input.value = getDateStr(self.config.dateFormat); - if (self.altInput !== undefined) { - self.altInput.value = getDateStr(self.config.altFormat); - } - if (triggerChange !== false) triggerEvent("onValueUpdate"); - } - function onMonthNavClick(e) { - var isPrevMonth = self.prevMonthNav.contains(e.target); - var isNextMonth = self.nextMonthNav.contains(e.target); - if (isPrevMonth || isNextMonth) { - changeMonth(isPrevMonth ? -1 : 1); - } else if (self.yearElements.indexOf(e.target) >= 0) { - e.target.select(); - } else if (e.target.classList.contains("arrowUp")) { - self.changeYear(self.currentYear + 1); - } else if (e.target.classList.contains("arrowDown")) { - self.changeYear(self.currentYear - 1); - } - } - function timeWrapper(e) { - e.preventDefault(); - var isKeyDown = e.type === "keydown", - input = e.target; - if (self.amPM !== undefined && e.target === self.amPM) { - self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; - } - var min = parseFloat(input.getAttribute("min")), - max = parseFloat(input.getAttribute("max")), - step = parseFloat(input.getAttribute("step")), - curValue = parseInt(input.value, 10), - delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0); - var newValue = curValue + step * delta; - if (typeof input.value !== "undefined" && input.value.length === 2) { - var isHourElem = input === self.hourElement, - isMinuteElem = input === self.minuteElement; - if (newValue < min) { - newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM)); - if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement); - } else if (newValue > max) { - newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min; - if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement); - } - if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) { - self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; - } - input.value = pad(newValue); - } - } - init(); - return self; - } - /* istanbul ignore next */ - function _flatpickr(nodeList, config) { - // static list - var nodes = Array.prototype.slice.call(nodeList).filter(function (x) { - return x instanceof HTMLElement; - }); - var instances = []; - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - try { - if (node.getAttribute("data-fp-omit") !== null) continue; - if (node._flatpickr !== undefined) { - node._flatpickr.destroy(); - node._flatpickr = undefined; - } - node._flatpickr = FlatpickrInstance(node, config || {}); - instances.push(node._flatpickr); - } catch (e) { - console.error(e); - } - } - return instances.length === 1 ? instances[0] : instances; - } - /* istanbul ignore next */ - if (typeof HTMLElement !== "undefined" && typeof HTMLCollection !== "undefined" && typeof NodeList !== "undefined") { - // browser env - HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) { - return _flatpickr(this, config); - }; - HTMLElement.prototype.flatpickr = function (config) { - return _flatpickr([this], config); - }; - } - /* istanbul ignore next */ - var flatpickr = function flatpickr(selector, config) { - if (typeof selector === "string") { - return _flatpickr(window.document.querySelectorAll(selector), config); - } else if (selector instanceof Node) { - return _flatpickr([selector], config); - } else { - return _flatpickr(selector, config); - } - }; - /* istanbul ignore next */ - flatpickr.defaultConfig = {}; - flatpickr.l10ns = { - en: _assign({}, english), - "default": _assign({}, english) - }; - flatpickr.localize = function (l10n) { - flatpickr.l10ns["default"] = _assign({}, flatpickr.l10ns["default"], l10n); - }; - flatpickr.setDefaults = function (config) { - flatpickr.defaultConfig = _assign({}, flatpickr.defaultConfig, config); - }; - flatpickr.parseDate = createDateParser({}); - flatpickr.formatDate = createDateFormatter({}); - flatpickr.compareDates = compareDates; - /* istanbul ignore next */ - if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined") { - jQuery.fn.flatpickr = function (config) { - return _flatpickr(this, config); - }; - } - // eslint-disable-next-line @typescript-eslint/camelcase - Date.prototype.fp_incr = function (days) { - return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days)); - }; - if (typeof window !== "undefined") { - window.flatpickr = flatpickr; - } - - return flatpickr; -}); - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Number Field functionality. - * - * @since 1.4.0 - */ -var FieldNumber = function (_Field) { - _inherits(FieldNumber, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldNumber($field) { - _classCallCheck(this, FieldNumber); - - var _this = _possibleConstructorReturn(this, (FieldNumber.__proto__ || Object.getPrototypeOf(FieldNumber)).call(this, $field, 'number')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Number field. - * - * @since 1.4.0 - */ - - - _createClass(FieldNumber, [{ - key: 'initField', - value: function initField() { - - this.$ui = { - container: this.$field, - input: this.$field.find('.fieldhelpers-field-input'), - increase: this.$field.find('[data-number-increase]'), - decrease: this.$field.find('[data-number-decrease]') - }; - - this.intervals = { - increase: { - normal: parseFloat(this.options.increaseInterval), - alt: parseFloat(this.options.altIncreaseInterval) - }, - decrease: { - normal: parseFloat(this.options.decreaseInterval), - alt: parseFloat(this.options.altDecreaseInterval) - } - }; - - var constrainMax = this.options.max; - var constrainMin = this.options.min; - - this.constraints = { - max: constrainMax !== 'none' ? parseFloat(constrainMax) : false, - min: constrainMin !== 'none' ? parseFloat(constrainMin) : false - }; - - this.shiftKeyUtility(); - this.setupHandlers(); - - var initialValue = this.$ui.input.val(); - this.value = !initialValue ? 0 : parseFloat(initialValue); - - // Initializes the field - this.validateInput(); - } - - /** - * Helps determine shift key press status. - * - * @since 1.4.0 - */ - - }, { - key: 'shiftKeyUtility', - value: function shiftKeyUtility() { - var _this2 = this; - - this.shiftKeyDown = false; - - jQuery(document).on('keydown', function (e) { - - if (e.which === 16) { - - _this2.shiftKeyDown = true; - } - }); - - jQuery(document).on('keyup', function (e) { - - if (e.which === 16) { - - _this2.shiftKeyDown = false; - } - }); - } - - /** - * Sets up the class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - var _this3 = this; - - this.$ui.increase.click(function (e) { - - _this3.increaseNumber(e); - }); - - this.$ui.decrease.click(function (e) { - - _this3.decreaseNumber(e); - }); - - this.$ui.input.change(function (e) { - - _this3.inputExternalChange(e); - }); - } - - /** - * Increases the input number. - * - * @since 1.4.0 - */ - - }, { - key: 'increaseNumber', - value: function increaseNumber() { - - var amount = this.shiftKeyDown ? this.intervals.increase.alt : this.intervals.increase.normal; - var newNumber = this.value + amount; - - this.$ui.input.val(newNumber); - this.$ui.input.trigger('change'); - } - - /** - * Decreases the input number. - * - * @since 1.4.0 - */ - - }, { - key: 'decreaseNumber', - value: function decreaseNumber() { - - var amount = this.shiftKeyDown ? this.intervals.decrease.alt : this.intervals.decrease.normal; - var newNumber = this.value - amount; - - this.$ui.input.val(newNumber); - this.$ui.input.trigger('change'); - } - - /** - * Fires on the input change. Typically from user typing or other scripts modifying. - * - * @since 1.4.0 - */ - - }, { - key: 'inputExternalChange', - value: function inputExternalChange() { - - this.validateInput(); - } - - /** - * Runs number through constrains. - * - * @param {int} number - * - * @return {Object} - */ - - }, { - key: 'constrainNumber', - value: function constrainNumber(number) { - - var status = 'unmodified'; - - if (this.constraints.max !== false && number > this.constraints.max) { - - status = 'max'; - number = this.constraints.max; - } else if (this.constraints.min !== false && number < this.constraints.min) { - - status = 'min'; - number = this.constraints.min; - } - - return { - status: status, - number: number - }; - } - - /** - * Runs input value through constraints to ensure it is accurate. - * - * @since 1.4.0 - */ - - }, { - key: 'validateInput', - value: function validateInput() { - - var currentValue = this.$ui.input.val(); - - // Constrain to numbers - var matches = currentValue.match(/^-?[0-9]\d*(\.\d+)?$/); - currentValue = matches && parseFloat(matches[0]) || 0; - - var constraints = this.constrainNumber(currentValue); - - switch (constraints.status) { - - case 'max': - - this.toggleDecreaseDisabledUI(true); - this.toggleIncreaseDisabledUI(false); - break; - - case 'min': - - this.toggleIncreaseDisabledUI(true); - this.toggleDecreaseDisabledUI(false); - break; - - default: - - this.toggleIncreaseDisabledUI(true); - this.toggleDecreaseDisabledUI(true); - - } - - this.value = constraints.number; - this.$ui.input.val(this.value); - - if (currentValue !== this.value) { - - this.$ui.input.trigger('change'); - } - } - - /** - * Disables/Enables the increase button. - * - * @since 1.4.0 - * - * @param {bool} enable True to set to enabled, false to set to disabled - */ - - }, { - key: 'toggleIncreaseDisabledUI', - value: function toggleIncreaseDisabledUI(enable) { - - this.$ui.increase.prop('disabled', !enable); - } - - /** - * Disables/Enables the decrease button. - * - * @since 1.4.0 - * - * @param {bool} enable True to set to enabled, false to set to disabled - */ - - }, { - key: 'toggleDecreaseDisabledUI', - value: function toggleDecreaseDisabledUI(enable) { - - this.$ui.decrease.prop('disabled', !enable); - } - }]); - - return FieldNumber; -}(_field2.default); - -/** - * Finds and initializes all Number fields. - * - * @since 1.4.0 - */ - - -var FieldNumberInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldNumberInitialize($root) { - _classCallCheck(this, FieldNumberInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-number]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldNumberInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldNumber($field) - }); - } - }]); - - return FieldNumberInitialize; -}(); - -exports.default = FieldNumberInitialize; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Color Picker Field functionality. - * - * @since 1.4.0 - */ -var FieldColorPicker = function (_Field) { - _inherits(FieldColorPicker, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldColorPicker($field) { - _classCallCheck(this, FieldColorPicker); - - var _this = _possibleConstructorReturn(this, (FieldColorPicker.__proto__ || Object.getPrototypeOf(FieldColorPicker)).call(this, $field, 'colorpicker')); - - _this.initializeColorpicker(); - return _this; - } - - /** - * Initializes the Color Picker. - * - * @since 1.4.0 - */ - - - _createClass(FieldColorPicker, [{ - key: 'initializeColorpicker', - value: function initializeColorpicker() { - - this.$field.wpColorPicker(this.options.colorpickerOptions); - } - - /** - * Cleans up after a repeater add/init. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - this.$wrapper.find('[data-fieldhelpers-field-colorpicker]').appendTo(this.$wrapper.find('.fieldhelpers-field-content')); - - this.$wrapper.find('.wp-picker-container').remove(); - } - }]); - - return FieldColorPicker; -}(_field2.default); - -/** - * Finds and initializes all Color Picker fields. - * - * @since 1.4.0 - */ - - -var FieldColorPickerInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldColorPickerInitialize($root) { - _classCallCheck(this, FieldColorPickerInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-colorpicker]'); - - if ($fields.length) { - - if (!jQuery.isFunction(jQuery.fn.wpColorPicker)) { - - console.error('Field Helpers Error: Trying to initialize Color Picker field but "wp-color-picker" is ' + 'not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldColorPickerInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldColorPicker($field) - }); - } - }]); - - return FieldColorPickerInitialize; -}(); - -exports.default = FieldColorPickerInitialize; - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Date Picker Field functionality. - * - * Also includes Date/Time Picker and Time Picker. - * - * @since 1.4.0 - */ -var FieldDatePicker = function (_Field) { - _inherits(FieldDatePicker, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldDatePicker($field) { - _classCallCheck(this, FieldDatePicker); - - var _this = _possibleConstructorReturn(this, (FieldDatePicker.__proto__ || Object.getPrototypeOf(FieldDatePicker)).call(this, $field, 'datepicker')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Date Picker. - * - * @since 1.4.0 - */ - - - _createClass(FieldDatePicker, [{ - key: 'initField', - value: function initField() { - var _this2 = this; - - var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; - - // Function support - jQuery.each(this.options.datepickerOptions, function (name, value) { - - if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.datepickerOptions[name]) && jQuery.isFunction(window[value])) { - - _this2.options.datepickerOptions[name] = window[value]; - } - }); - - // We need to ensure that the field instance for our specific field loads its default date in properly - this.options.datepickerOptions.defaultDate = this.$field.data('defaultdate'); - - this.flatpickr = this.$field.flatpickr(this.options.datepickerOptions); - } - - /** - * Cleans up after a repeater add/init. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - if (typeof this.flatpickr !== 'undefined') { - - this.flatpickr.destroy(); - } - } - - /** - * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterBeforeInit', - value: function repeaterBeforeInit($repeater, options) { - - this.fieldCleanup(); - } - - /** - * Ensure that the purposefully unloaded Flatpickr reloads - * This technically re-inits all items in the Repeater, but it should be fine - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterOnInit', - value: function repeaterOnInit($repeater, options) { - - new FieldsInitialize($repeater); - } - }]); - - return FieldDatePicker; -}(_field2.default); - -/** - * Finds and initializes all Date Picker fields. - * - * @since 1.4.0 - */ - - -var FieldDatePickerInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldDatePickerInitialize($root) { - _classCallCheck(this, FieldDatePickerInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-datepicker]'); - - if ($fields.length) { - - if (!jQuery.isFunction(jQuery.fn.flatpickr)) { - - console.error('Field Helpers Error: Trying to initialize Date Picker field but "flatpickr" ' + 'is not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldDatePickerInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldDatePicker($field) - }); - } - }]); - - return FieldDatePickerInitialize; -}(); - -exports.default = FieldDatePickerInitialize; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -var _fieldsInit = __webpack_require__(1); - -var _fieldsInit2 = _interopRequireDefault(_fieldsInit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Time Picker Field functionality. - * - * Also includes Date/Time Picker and Time Picker. - * - * @since 1.4.0 - */ -var FieldTimePicker = function (_Field) { - _inherits(FieldTimePicker, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldTimePicker($field) { - _classCallCheck(this, FieldTimePicker); - - var _this = _possibleConstructorReturn(this, (FieldTimePicker.__proto__ || Object.getPrototypeOf(FieldTimePicker)).call(this, $field, 'timepicker')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Time Picker. - * - * @since 1.4.0 - */ - - - _createClass(FieldTimePicker, [{ - key: 'initField', - value: function initField() { - var _this2 = this; - - var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; - - // Function support - jQuery.each(this.options.timepickerOptions, function (name, value) { - - if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.timepickerOptions[name]) && jQuery.isFunction(window[value])) { - - _this2.options.timepickerOptions[name] = window[value]; - } - }); - - // We need to ensure that the field instance for our specific field loads its default date in properly - this.options.timepickerOptions.defaultDate = this.$field.data('defaultdate'); - - this.flatpickr = this.$field.flatpickr(this.options.timepickerOptions); - } - - /** - * Cleans up after a repeater add/init. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - if (typeof this.flatpickr !== 'undefined') { - - this.flatpickr.destroy(); - } - } - - /** - * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterBeforeInit', - value: function repeaterBeforeInit($repeater, options) { - - this.fieldCleanup(); - } - - /** - * Ensure that the purposefully unloaded Flatpickr reloads - * This technically re-inits all items in the Repeater, but it should be fine - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterOnInit', - value: function repeaterOnInit($repeater, options) { - - new _fieldsInit2.default($repeater); - } - }]); - - return FieldTimePicker; -}(_field2.default); - -/** - * Finds and initializes all Time Picker fields. - * - * @since 1.4.0 - */ - - -var FieldTimePickerInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldTimePickerInitialize($root) { - _classCallCheck(this, FieldTimePickerInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-timepicker]'); - - if ($fields.length) { - - if (!jQuery.isFunction(jQuery.fn.flatpickr)) { - - console.error('Field Helpers Error: Trying to initialize Time Picker field but ' + '"flatpickr" is not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldTimePickerInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldTimePicker($field) - }); - } - }]); - - return FieldTimePickerInitialize; -}(); - -exports.default = FieldTimePickerInitialize; - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Date Time Picker Field functionality. - * - * Also includes Date/Time Picker and Time Picker. - * - * @since 1.4.0 - */ -var FieldDateTimePicker = function (_Field) { - _inherits(FieldDateTimePicker, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldDateTimePicker($field) { - _classCallCheck(this, FieldDateTimePicker); - - var _this = _possibleConstructorReturn(this, (FieldDateTimePicker.__proto__ || Object.getPrototypeOf(FieldDateTimePicker)).call(this, $field, 'datetimepicker')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Date Time Picker. - * - * @since 1.4.0 - */ - - - _createClass(FieldDateTimePicker, [{ - key: 'initField', - value: function initField() { - var _this2 = this; - - var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; - - // Function support - jQuery.each(this.options.datetimepickerOptions, function (name, value) { - - if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.datetimepickerOptions[name]) && jQuery.isFunction(window[value])) { - - _this2.options.datetimepickerOptions[name] = window[value]; - } - }); - - // We need to ensure that the field instance for our specific field loads its default date in properly - this.options.datetimepickerOptions.defaultDate = this.$field.data('defaultdate'); - - this.flatpickr = this.$field.flatpickr(this.options.datetimepickerOptions); - } - - /** - * Cleans up after a repeater add/init. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - if (typeof this.flatpickr !== 'undefined') { - - this.flatpickr.destroy(); - } - } - - /** - * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterBeforeInit', - value: function repeaterBeforeInit($repeater, options) { - - this.fieldCleanup(); - } - - /** - * Ensure that the purposefully unloaded Flatpickr reloads - * This technically re-inits all items in the Repeater, but it should be fine - * - * @param {object} $repeater jQuery DOM Object - * @param {array} options Array of Field Options - * - * @since 1.5.0 - * @return void - */ - - }, { - key: 'repeaterOnInit', - value: function repeaterOnInit($repeater, options) { - - new FieldsInitialize($repeater); - } - }]); - - return FieldDateTimePicker; -}(_field2.default); - -/** - * Finds and initializes all Date Time Picker fields. - * - * @since 1.4.0 - */ - - -var FieldDateTimePickerInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldDateTimePickerInitialize($root) { - _classCallCheck(this, FieldDateTimePickerInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-datetimepicker]'); - - if ($fields.length) { - - if (!jQuery.isFunction(jQuery.fn.flatpickr)) { - - console.error('Field Helpers Error: Trying to initialize Date Time Picker field but ' + '"flatpickr" is not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldDateTimePickerInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldDateTimePicker($field) - }); - } - }]); - - return FieldDateTimePickerInitialize; -}(); - -exports.default = FieldDateTimePickerInitialize; - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Table Field functionality. - * - * @since 1.4.0 - */ -var FieldTable = function (_Field) { - _inherits(FieldTable, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldTable($field) { - _classCallCheck(this, FieldTable); - - var _this = _possibleConstructorReturn(this, (FieldTable.__proto__ || Object.getPrototypeOf(FieldTable)).call(this, $field, 'table')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Table field. - * - * @since 1.4.0 - */ - - - _createClass(FieldTable, [{ - key: 'initField', - value: function initField() { - - this.$ui = { - actions: this.$field.find('.fieldhelpers-field-table-actions'), - loading: this.$field.find('.fieldhelpers-field-table-loading'), - table: this.$field.find('table'), - thead: this.$field.find('thead'), - tbody: this.$field.find('tbody'), - addRow: this.$field.find('[data-table-create-row]'), - addColumn: this.$field.find('[data-table-create-column]') - }; - - this.l10n = RBM_FieldHelpers.l10n['field_table'] || {}; - - this.name = this.$field.attr('data-table-name'); - - var data = JSON.parse(this.$ui.table.attr('data-table-data')); - - this.data = {}; - this.data.head = data.head || []; - this.data.body = data.body || []; - - this.setupHandlers(); - - // Initial build - this.buildTable(); - - // Show initially - this.$ui.table.show(); - this.$ui.actions.show(); - this.$ui.loading.hide(); - } - - /** - * Sets up the class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - var _this2 = this; - - var api = this; - - this.$ui.addRow.click(function (e) { - - e.preventDefault(); - _this2.addRow(); - }); - - this.$ui.addColumn.click(function (e) { - - e.preventDefault(); - _this2.addColumn(); - }); - - this.$ui.table.on('click', '[data-delete-row]', function (e) { - - var index = jQuery(this).closest('tr').index(); - - api.deleteRow(index); - }); - - this.$ui.table.on('click', '[data-delete-column]', function (e) { - - var index = jQuery(this).closest('td').index(); - - api.deleteColumn(index); - }); - - this.$ui.table.on('change', 'input[type="text"]', function (e) { - - _this2.updateTableData(); - }); - } - - /** - * Gathers all data from the table. - */ - - }, { - key: 'updateTableData', - value: function updateTableData() { - - var api = this; - - // Head - var $headCells = this.$ui.table.find('thead th'); - var dataHead = []; - var currentCell = 0; - - $headCells.each(function () { - - var $input = jQuery(this).find('input[name="' + api.name + '[head][' + currentCell + ']"]'); - - if (!$input.length) { - - console.error('Field Helpers Error: Table head data corrupted.'); - return false; - } - - dataHead.push($input.val()); - - currentCell++; - }); - - this.data.head = dataHead; - - // Body - var $bodyRows = this.$ui.table.find('tbody tr'); - var dataBody = []; - var currentRow = 0; - - $bodyRows.each(function () { - - // Skip delete row - if (jQuery(this).hasClass('fieldhelpers-field-table-delete-columns')) { - - return true; - } - - var rowData = []; - var $cells = jQuery(this).find('td'); - var currentCell = 0; - - $cells.each(function () { - - // Skip delete cell - if (jQuery(this).hasClass('fieldhelpers-field-table-delete-row')) { - - return true; - } - - var $input = jQuery(this).find('input[name="' + api.name + '[body][' + currentRow + '][' + currentCell + ']"]'); - - if (!$input.length) { - - console.error('Field Helpers Error: Table body data corrupted.'); - return false; - } - - rowData.push($input.val()); - - currentCell++; - }); - - dataBody.push(rowData); - - currentRow++; - }); - - this.data.body = dataBody; - } - - /** - * Adds a row to the table. - * - * @since 1.4.0 - */ - - }, { - key: 'addRow', - value: function addRow() { - - if (!this.data.head.length) { - - this.data.head.push(''); - } - - if (!this.data.body.length) { - - // Push 1 empty row with 1 empty cell - this.data.body.push(['']); - } else { - - var columns = this.data.body[0].length; - var row = []; - - for (var i = 0; i < columns; i++) { - row.push(''); - } - - this.data.body.push(row); - } - - this.buildTable(); - } - - /** - * Adds a column to the table. - * - * @since 1.4.0 - */ - - }, { - key: 'addColumn', - value: function addColumn() { - - if (!this.data.body.length) { - - // Push 1 empty row with 1 empty cell - this.data.head.push(['']); - this.data.body.push(['']); - } else { - - this.data.head.push(''); - - this.data.body.map(function (row) { - row.push(''); - }); - } - - this.buildTable(); - } - - /** - * Deletes a row from the table. - * - * @since 1.4.0 - * - * @param {int} index Index of row to delete. - */ - - }, { - key: 'deleteRow', - value: function deleteRow(index) { - - // Decrease to compensate for "delete row" at top - index--; - - if (this.data.body.length === 1) { - - this.data.head = []; - this.data.body = []; - } else { - - this.data.body.splice(index, 1); - } - - this.buildTable(); - } - - /** - * Deletes a column from the table. - * - * @since 1.4.0 - * - * @param {int} index Index of column to delete. - */ - - }, { - key: 'deleteColumn', - value: function deleteColumn(index) { - - if (this.data.body[0].length === 1) { - - this.data.head = []; - this.data.body = []; - } else { - - this.data.head.splice(index, 1); - - this.data.body.map(function (row) { - return row.splice(index, 1); - }); - } - - this.buildTable(); - } - - /** - * Builds the table based on the table data. - * - * @since 1.4.0 - */ - - }, { - key: 'buildTable', - value: function buildTable() { - var _this3 = this; - - this.$ui.thead.html(''); - this.$ui.tbody.html(''); - - if (this.data.head.length) { - - var $row = jQuery(''); - - this.data.head.map(function (cell, cell_i) { - - var $cell = jQuery(''); - - $cell.append(''); - $cell.find('input[type="text"]').val(cell); - - $row.append($cell); - }); - - this.$ui.thead.append($row); - } - - if (this.data.body.length) { - - var $deleteRow = jQuery(''); - - for (var i = 0; i < this.data.body[0].length; i++) { - - $deleteRow.append('' + ('' + ''); - } - - this.$ui.tbody.append($deleteRow); - - this.data.body.map(function (row, row_i) { - - var $row = jQuery(''); - - row.map(function (cell, cell_i) { - - var $cell = jQuery(''); - - $cell.append(''); - $cell.find('input[type="text"]').val(cell); - - $row.append($cell); - }); - - $row.append('' + ('' + ''); - - _this3.$ui.tbody.append($row); - }); - } - } - }]); - - return FieldTable; -}(_field2.default); - -/** - * Finds and initializes all Table fields. - * - * @since 1.4.0 - */ - - -var FieldTableInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldTableInitialize($root) { - _classCallCheck(this, FieldTableInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-table]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldTableInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldTable($field) - }); - } - }]); - - return FieldTableInitialize; -}(); - -exports.default = FieldTableInitialize; - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Media Field functionality. - * - * @since 1.4.0 - */ -var FieldMedia = function (_Field) { - _inherits(FieldMedia, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldMedia($field) { - _classCallCheck(this, FieldMedia); - - var _this = _possibleConstructorReturn(this, (FieldMedia.__proto__ || Object.getPrototypeOf(FieldMedia)).call(this, $field, 'media')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Media field. - * - * @since 1.4.0 - */ - - - _createClass(FieldMedia, [{ - key: 'initField', - value: function initField() { - - this.$ui = { - input: this.$field.find('[data-media-input]'), - addButton: this.$field.find('[data-add-media]'), - imagePreview: this.$field.find('[data-image-preview]'), - mediaPreview: this.$field.find('[data-media-preview]'), - removeButton: this.$field.find('[data-remove-media]') - }; - - this.mediaFrame = wp.media.frames.meta_image_frame = wp.media({ - title: this.options.l10n['window_title'] - }); - - this.placeholder = this.options.placeholder; - this.type = this.options.type; - - this.imageProperties = { - previewSize: this.options.previewSize - }; - - this.setupHandlers(); - } - - /** - * Sets up the class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - var _this2 = this; - - this.$ui.addButton.click(function (e) { - - e.preventDefault(); - _this2.addMedia(); - }); - - this.$ui.removeButton.click(function (e) { - - e.preventDefault(); - _this2.removeMedia(); - }); - - this.mediaFrame.on('select', function (e) { - - _this2.selectMedia(); - }); - } - - /** - * Opens the media frame to add media. - * - * @since 1.4.0 - */ - - }, { - key: 'addMedia', - value: function addMedia() { - - this.mediaFrame.open(); - } - - /** - * Removes the currently selected media. - * - * @since 1.4.0 - */ - - }, { - key: 'removeMedia', - value: function removeMedia() { - - this.$ui.addButton.show(); - this.$ui.removeButton.hide(); - this.$ui.input.val(''); - - // Reset preview - switch (this.type) { - - case 'image': - - this.$ui.imagePreview.attr('src', this.placeholder || ''); - - break; - - default: - - this.$ui.mediaPreview.html(this.placeholder || ' '); - } - } - - /** - * Fires on selecting a piece of media. - * - * @since 1.4.0 - */ - - }, { - key: 'selectMedia', - value: function selectMedia() { - - var mediaAttachment = this.mediaFrame.state().get('selection').first().toJSON(); - - this.$ui.input.val(mediaAttachment.id); - - this.$ui.addButton.hide(); - this.$ui.removeButton.show(); - - // Preview - switch (this.type) { - - case 'image': - - var previewUrl = mediaAttachment.url; - - if (mediaAttachment.sizes[this.imageProperties.previewSize]) { - - previewUrl = mediaAttachment.sizes[this.imageProperties.previewSize].url; - } - - this.$ui.imagePreview.attr('src', previewUrl); - break; - - default: - - this.$ui.mediaPreview.html(mediaAttachment.url); - } - } - }]); - - return FieldMedia; -}(_field2.default); - -/** - * Finds and initializes all Media fields. - * - * @since 1.4.0 - */ - - -var FieldMediaInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldMediaInitialize($root) { - _classCallCheck(this, FieldMediaInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-media]'); - - if ($fields.length) { - - if (!wp.media) { - - console.error('Field Helpers Error: Trying to initialize Media field but media is not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldMediaInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldMedia($field) - }); - } - }]); - - return FieldMediaInitialize; -}(); - -exports.default = FieldMediaInitialize; - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * List Field functionality. - * - * @since 1.4.0 - */ -var FieldList = function (_Field) { - _inherits(FieldList, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldList($field) { - _classCallCheck(this, FieldList); - - var _this = _possibleConstructorReturn(this, (FieldList.__proto__ || Object.getPrototypeOf(FieldList)).call(this, $field, 'list')); - - _this.initField(); - return _this; - } - - /** - * Initializes the list. - * - * @since 1.4.0 - */ - - - _createClass(FieldList, [{ - key: 'initField', - value: function initField() { - - this.$field.sortable(this.options); - } - }]); - - return FieldList; -}(_field2.default); - -/** - * Finds and initializes all List fields. - * - * @since 1.4.0 - */ - - -var FieldListInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldListInitialize($root) { - _classCallCheck(this, FieldListInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-list]'); - - if ($fields.length) { - - if (!jQuery.isFunction(jQuery.fn.sortable)) { - - console.error('Field Helpers Error: Trying to initialize List field but "jquery-ui-sortable" ' + 'is not enqueued.'); - return; - } - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldListInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldList($field) - }); - } - }]); - - return FieldListInitialize; -}(); - -exports.default = FieldListInitialize; - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -var _fieldsInit = __webpack_require__(1); - -var _fieldsInit2 = _interopRequireDefault(_fieldsInit); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Repeater Field functionality. - * - * @since 1.4.0 - */ -var FieldRepeater = function (_Field) { - _inherits(FieldRepeater, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldRepeater($field) { - _classCallCheck(this, FieldRepeater); - - var _this = _possibleConstructorReturn(this, (FieldRepeater.__proto__ || Object.getPrototypeOf(FieldRepeater)).call(this, $field, 'repeater')); - - _this.initField(); - return _this; - } - - /** - * Initializes the Repeater. - * - * @since 1.4.0 - */ - - - _createClass(FieldRepeater, [{ - key: 'initField', - value: function initField() { - var _this2 = this; - - this.$repeaterList = this.$field.find('.fieldhelpers-field-repeater-list'); - - var api = this; - - this.$field.trigger('repeater-before-init', [this.$field, this.options]); - - this.repeater = this.$field.repeater({ - show: function show() { - api.repeaterShow(jQuery(this)); - }, - hide: function hide(deleteItem) { - api.repeaterHide(jQuery(this), deleteItem); - }, - ready: function ready(setIndexes) { - api.$repeaterList.on('sortupdate', setIndexes); - }, - isFirstItemUndeletable: api.options.isFirstItemUndeletable - }); - - // Delete first item if allowed and empty - if (!this.options.isFirstItemUndeletable && this.options.empty) { - this.$repeaterList.find('.fieldhelpers-field-repeater-row').remove(); - } - - if (this.options.collapsable) { - - this.initCollapsable(); - } - - if (this.options.sortable) { - - if (!jQuery.isFunction(jQuery.fn.sortable)) { - - console.error('Field Helpers Error: Trying to initialize sortable Repeater field but "jquery-ui-sortable" ' + 'is not enqueued.'); - return; - } else { - - this.initSortable(); - } - } - - // Delay for other plugins - setTimeout(function () { - _this2.$field.trigger('repeater-init', [_this2.$field]); - }, 1); - } - - /** - * Initializes the Collapsable feature, if enabled. - * - * @since 1.4.0 - */ - - }, { - key: 'initCollapsable', - value: function initCollapsable() { - - var api = this; - - this.$field.on('click touchend', '[data-repeater-collapsable-handle]', function () { - console.log('click'); - api.toggleCollapse(jQuery(this).closest('.fieldhelpers-field-repeater-row')); - }); - } - - /** - * Initializes the Sortable feature, if enabled. - * - * @since 1.4.0 - */ - - }, { - key: 'initSortable', - value: function initSortable() { - - var api = this; - - this.$repeaterList.sortable({ - axis: 'y', - handle: '.fieldhelpers-field-repeater-handle', - forcePlaceholderSize: true, - placeholder: 'fieldhelpers-sortable-placeholder', - stop: function stop(e, ui) { - - api.$repeaterList.trigger('list-update', [api.$repeaterList]); - } - }); - } - - /** - * Toggles a repeater item collapse. - * - * @since 1.4.0 - * - * @param {jQuery} $item - */ - - }, { - key: 'toggleCollapse', - value: function toggleCollapse($item) { - - var $content = $item.find('.fieldhelpers-field-repeater-content').first(); - var status = $item.hasClass('opened') ? 'closing' : 'opening'; - - if (status === 'opening') { - - $content.stop().slideDown(); - $item.addClass('opened'); - $item.removeClass('closed'); - } else { - - $content.stop().slideUp(); - $item.addClass('closed'); - $item.removeClass('opened'); - } - } - - /** - * Shows a new repeater item. - * - * @since 1.4.0 - * - * @param {jQuery} $item Repeater item row. - */ - - }, { - key: 'repeaterShow', - value: function repeaterShow($item) { - - this.$field.trigger('repeater-before-add-item', [$item]); - - $item.slideDown(); - - if (this.$repeaterList.hasClass('collapsable')) { - - $item.addClass('opened').removeClass('closed'); - - // Hide current title for new item and show default title - $item.find('.fieldhelpers-field-repeater-header span.collapsable-title').html($item.find('.fieldhelpers-field-repeater-header span.collapsable-title').data('collapsable-title-default')); - - $item.find('.collapse-icon').css({ 'transform': 'rotate(-180deg)' }); - } - - // Re-initialize fields in new row - new _fieldsInit2.default($item); - - this.$field.trigger('repeater-add-item', [$item]); - } - - /** - * Removes a repeater item. - * - * @since 1.4.0 - * - * @param {jQuery} $item Repeater item row. - * @param {function} deleteItem Callback for deleting the item. - */ - - }, { - key: 'repeaterHide', - value: function repeaterHide($item, deleteItem) { - var _this3 = this; - - if (confirm(this.options.l10n['confirm_delete_text'])) { - - this.$field.trigger('repeater-before-delete-item', [$item]); - - $item.slideUp(400, function () { - - deleteItem(); - _this3.$field.trigger('repeater-delete-item', [$item]); - }); - } - } - }]); - - return FieldRepeater; -}(_field2.default); - -/** - * Finds and initializes all Repeater fields. - * - * @since 1.4.0 - */ - - -var FieldRepeaterInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldRepeaterInitialize($root) { - _classCallCheck(this, FieldRepeaterInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-repeater]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldRepeaterInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldRepeater($field) - }); - } - }]); - - return FieldRepeaterInitialize; -}(); - -exports.default = FieldRepeaterInitialize; - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Select Field functionality. - * - * @since 1.4.0 - */ -var FieldSelect = function (_Field) { - _inherits(FieldSelect, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldSelect($field) { - _classCallCheck(this, FieldSelect); - - var _this = _possibleConstructorReturn(this, (FieldSelect.__proto__ || Object.getPrototypeOf(FieldSelect)).call(this, $field, 'select')); - - _this.initField(); - return _this; - } - - /** - * Initializes the select. - * - * @since 1.4.0 - */ - - - _createClass(FieldSelect, [{ - key: 'initField', - value: function initField() { - - if (!this.options.select2Disabled) { - - if (!jQuery.isFunction(jQuery.fn.rbmfhselect2)) { - - console.error('Field Helpers Error: Trying to initialize Select field but "select2" ' + 'is not enqueued.'); - return; - } - - this.setupSelect2Options(); - - this.$field.rbmfhselect2(this.options.select2Options); - } - } - - /** - * Sets up languages. - * - * @since 1.4.0 - */ - - }, { - key: 'setupL10n', - value: function setupL10n() { - var _this2 = this; - - if (Object.keys(this.options.select2Options.language).length > 0) { - - Object.keys(this.options.select2Options.language).map(function (id) { - - var text = _this2.options.select2Options.language[id]; - - // All languages must be functions. Turn all into functions. - _this2.options.select2Options.language[id] = function (args) { - return text; - }; - }); - } - } - - /** - * Sets up Select2 arguments, allowing for callback arguments. - * - * @since 1.4.2 - */ - - }, { - key: 'setupSelect2Options', - value: function setupSelect2Options() { - var _this3 = this; - - this.setupL10n(); - - // List of available Select2 options that are callbacks - var callbackOptions = ['escapeMarkup', 'initSelection', 'matcher', 'query', 'sorter', 'templateResult', 'templateSelection', 'tokenizer']; - - Object.keys(this.options.select2Options).map(function (name) { - - if (callbackOptions.indexOf(name) !== -1) { - - var callbackName = _this3.options.select2Options[name]; - - if (typeof window[callbackName] === 'function') { - - _this3.options.select2Options[name] = window[callbackName]; - } - } - }); - - // Automatically prefix selected items with optgroup label, if using optgroups - if (this.options.optGroups && this.options.optGroupSelectionPrefix && typeof this.options.select2Options.templateSelection === 'undefined') { - - this.options.select2Options.templateSelection = function (item) { - - var optGroup = jQuery(item.element).closest('optgroup').attr('label').trim(); - - return optGroup + ': ' + item.text; - }; - } - } - - /** - * Resets the field. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - if (this.options.select2Disabled) { - - return; - } - - var $oldSelect = this.$field.next('.select2'); - - if ($oldSelect.length) { - - $oldSelect.remove(); - } - - this.$field.removeClass('select2-hidden-accessible').removeAttr('tablindex aria-hidden'); - } - - /** - * Sets the field to default. Override in child class if need different method. - * - * @since 1.4.0 - */ - - }, { - key: 'setDefault', - value: function setDefault() { - - this.$field.find('option:selected').prop('selected', false); - this.$field.trigger('change'); - } - }]); - - return FieldSelect; -}(_field2.default); - -/** - * Finds and initializes all Select fields. - * - * @since 1.4.0 - */ - - -var FieldSelectInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldSelectInitialize($root) { - _classCallCheck(this, FieldSelectInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-select]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldSelectInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldSelect($field) - }); - } - }]); - - return FieldSelectInitialize; -}(); - -exports.default = FieldSelectInitialize; - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * TextArea Field functionality. - * - * @since 1.4.0 - */ -var FieldTextArea = function (_Field) { - _inherits(FieldTextArea, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldTextArea($field) { - _classCallCheck(this, FieldTextArea); - - var _this = _possibleConstructorReturn(this, (FieldTextArea.__proto__ || Object.getPrototypeOf(FieldTextArea)).call(this, $field, 'textarea')); - - _this.initField(); - return _this; - } - - /** - * Initializes the WYSIWYG. - * - * @since 1.4.0 - */ - - - _createClass(FieldTextArea, [{ - key: 'initField', - value: function initField() { - - if (this.options.wysiwyg) { - - if (!wp.editor) { - - console.error('Field Helpers Error: Trying to initialize a WYSIWYG Text Area field but "wp_editor" ' + 'is not enqueued.'); - return; - } - - var settings = jQuery.extend(this.getDefaultEditorSettings(), this.options.wysiwygOptions); - - wp.editor.initialize(this.$field.attr('id'), settings); - } - } - - /** - * Resets the field. - * - * @since 1.4.0 - */ - - }, { - key: 'fieldCleanup', - value: function fieldCleanup() { - - if (this.options.wysiwyg) { - - var id = this.$field.attr('id'); - - if (window.tinymce.get(id)) { - - wp.editor.remove(id); - } else { - - this.$field.appendTo(this.$wrapper.find('.fieldhelpers-field-content')); - this.$wrapper.find('.wp-editor-wrap').remove(); - } - } - } - - /** - * Fires before deleting the item from a repeater. - * - * Removes from wp.editor. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterBeforeDeleteSelf', - value: function repeaterBeforeDeleteSelf() { - - this.fieldCleanup(); - } - - /** - * Fires on Repeat delete item. - * - * Adds slight delay to field re-initialization. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnDeleteItem', - value: function repeaterOnDeleteItem() { - var _this2 = this; - - this.fieldCleanup(); - this.repeaterSetID(); - - // Add slight delay because all repeater item WYSIWYG's must be unitialized before re-initializing to prevent - // ID overlap. - setTimeout(function () { - _this2.initField(); - }, 1); - } - - /** - * Fires on Repeat sort item. - * - * Adds slight delay to field re-initialization. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterOnSort', - value: function repeaterOnSort() { - var _this3 = this; - - this.fieldCleanup(); - this.repeaterSetID(); - - // Add slight delay because all repeater item WYSIWYG's must be unitialized before re-initializing to prevent - // ID overlap. - setTimeout(function () { - _this3.initField(); - }, 1); - } - - /** - * Tries to get default editor settings. - * - * @since 1.4.0 - * - * @return {{}} - */ - - }, { - key: 'getDefaultEditorSettings', - value: function getDefaultEditorSettings() { - - if (!jQuery.isFunction(wp.editor.getDefaultSettings)) { - - return {}; - } else { - - return wp.editor.getDefaultSettings(); - } - } - }]); - - return FieldTextArea; -}(_field2.default); - -/** - * Finds and initializes all TextArea fields. - * - * @since 1.4.0 - */ - - -var FieldTextAreaInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldTextAreaInitialize($root) { - _classCallCheck(this, FieldTextAreaInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-textarea]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldTextAreaInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldTextArea($field) - }); - } - }]); - - return FieldTextAreaInitialize; -}(); - -exports.default = FieldTextAreaInitialize; - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Checkbox Field functionality. - * - * @since 1.4.0 - */ -var FieldCheckbox = function (_Field) { - _inherits(FieldCheckbox, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldCheckbox($field) { - _classCallCheck(this, FieldCheckbox); - - var _this = _possibleConstructorReturn(this, (FieldCheckbox.__proto__ || Object.getPrototypeOf(FieldCheckbox)).call(this, $field, 'checkbox')); - - _this.initField(); - return _this; - } - - /** - * Initializes the select. - * - * @since 1.4.0 - */ - - - _createClass(FieldCheckbox, [{ - key: 'initField', - value: function initField() { - - this.$ui = { - checkboxes: this.$field.find('input[type="checkbox"]') - }; - - this.setupHandlers(); - - this.$field.find('input:checked').change(); - } - - /** - * Sets up class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - - var api = this; - - this.$ui.checkboxes.change(function () { - api.handleChange(jQuery(this)); - }); - } - - /** - * Fires on checkbox change. - * - * @since 1.4.0 - * - * @param {jQuery} $input Checkbox input. - */ - - }, { - key: 'handleChange', - value: function handleChange($input) { - - if ($input.prop('checked')) { - - this.setActive($input.closest('.fieldhelpers-field-checkbox-row')); - } else { - - this.setInactive($input.closest('.fieldhelpers-field-checkbox-row')); - } - } - - /** - * Sets the checkbox row as active. - * - * @since 1.4.0 - * - * @param {jQuery} $row - */ - - }, { - key: 'setActive', - value: function setActive($row) { - - $row.addClass('fieldhelpers-field-checkbox-row-active'); - } - - /** - * Sets the checkbox row as inactive. - * - * @since 1.4.0 - * - * @param {jQuery} $row - */ - - }, { - key: 'setInactive', - value: function setInactive($row) { - - $row.removeClass('fieldhelpers-field-checkbox-row-active'); - } - - /** - * Sets the ID to be unique, based off the repeater item index. - * - * For checkboxes, there will be multiple IDs in each, and need to be set accordingly. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterSetID', - value: function repeaterSetID() { - - var ID = this.options.id; - var $rows = this.$field.find('.fieldhelpers-field-checkbox-row'); - var index = this.$field.closest('[data-repeater-item]').index(); - - $rows.each(function () { - - var $field = jQuery(this).find('input[type="checkbox"]'); - var $label = $field.next('label'); - var fieldIndex = jQuery(this).index(); - var newID = ID + '_' + index + '_' + fieldIndex; - - $field.attr('id', newID); - $label.attr('for', newID); - }); - } - - /** - * Sets the field to default. - * - * @since 1.4.0 - */ - - }, { - key: 'setDefault', - value: function setDefault() { - - if (this.options.default) { - - this.$field.find('[value="' + this.options.default + '"]').prop('checked', true).change(); - } - } - }]); - - return FieldCheckbox; -}(_field2.default); - -/** - * Finds and initializes all Checkbox fields. - * - * @since 1.4.0 - */ - - -var FieldCheckboxInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldCheckboxInitialize($root) { - _classCallCheck(this, FieldCheckboxInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-checkbox]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldCheckboxInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldCheckbox($field) - }); - } - }]); - - return FieldCheckboxInitialize; -}(); - -exports.default = FieldCheckboxInitialize; - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Radio Field functionality. - * - * @since 1.4.0 - */ -var FieldRadio = function (_Field) { - _inherits(FieldRadio, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldRadio($field) { - _classCallCheck(this, FieldRadio); - - var _this = _possibleConstructorReturn(this, (FieldRadio.__proto__ || Object.getPrototypeOf(FieldRadio)).call(this, $field, 'radio')); - - _this.initField(); - return _this; - } - - /** - * Initializes the select. - * - * @since 1.4.0 - */ - - - _createClass(FieldRadio, [{ - key: 'initField', - value: function initField() { - - this.$ui = { - radios: this.$field.find('input[type="radio"]') - }; - - this.setupHandlers(); - - this.$field.find('input:checked').change(); - } - - /** - * Sets up class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - - var api = this; - - this.$ui.radios.change(function () { - api.handleChange(jQuery(this)); - }); - } - - /** - * Fires on radio change. - * - * @since 1.4.0 - * - * @param {jQuery} $input Checkbox input. - */ - - }, { - key: 'handleChange', - value: function handleChange($input) { - - this.setInactive(this.$ui.radios.closest('.fieldhelpers-field-radio-row')); - this.setActive($input.closest('.fieldhelpers-field-radio-row')); - } - - /** - * Sets the radio row as active. - * - * @since 1.4.0 - * - * @param {jQuery} $row - */ - - }, { - key: 'setActive', - value: function setActive($row) { - - $row.addClass('fieldhelpers-field-radio-row-active'); - } - - /** - * Sets the radio row as inactive. - * - * @since 1.4.0 - * - * @param {jQuery} $row - */ - - }, { - key: 'setInactive', - value: function setInactive($row) { - - $row.removeClass('fieldhelpers-field-radio-row-active'); - } - - /** - * Sets the ID to be unique, based off the repeater item index. - * - * For radios, there will be multiple IDs in each, and need to be set accordingly. - * - * @since 1.4.0 - */ - - }, { - key: 'repeaterSetID', - value: function repeaterSetID() { - - var ID = this.options.id; - var $rows = this.$field.find('.fieldhelpers-field-radio-row'); - var index = this.$field.closest('[data-repeater-item]').index(); - - $rows.each(function () { - - var $field = jQuery(this).find('input[type="radio"]'); - var $label = $field.next('label'); - var fieldIndex = jQuery(this).index(); - var newID = ID + '_' + index + '_' + fieldIndex; - - $field.attr('id', newID); - $label.attr('for', newID); - }); - } - - /** - * Sets the field to default. - * - * @since 1.4.0 - */ - - }, { - key: 'setDefault', - value: function setDefault() { - - if (this.options.default) { - - this.$field.find('[value="' + this.options.default + '"]').prop('checked', true).change(); - } - } - }]); - - return FieldRadio; -}(_field2.default); - -/** - * Finds and initializes all Radio fields. - * - * @since 1.4.0 - */ - - -var FieldRadioInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldRadioInitialize($root) { - _classCallCheck(this, FieldRadioInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-radio]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldRadioInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldRadio($field) - }); - } - }]); - - return FieldRadioInitialize; -}(); - -exports.default = FieldRadioInitialize; - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _field = __webpack_require__(0); - -var _field2 = _interopRequireDefault(_field); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -/** - * Toggle Field functionality. - * - * @since 1.4.0 - */ -var FieldToggle = function (_Field) { - _inherits(FieldToggle, _Field); - - /** - * Class constructor. - * - * @since 1.4.0 - */ - function FieldToggle($field) { - _classCallCheck(this, FieldToggle); - - var _this = _possibleConstructorReturn(this, (FieldToggle.__proto__ || Object.getPrototypeOf(FieldToggle)).call(this, $field, 'toggle')); - - _this.initField(); - return _this; - } - - /** - * Initializes the select. - * - * @since 1.4.0 - */ - - - _createClass(FieldToggle, [{ - key: 'initField', - value: function initField() { - var _this2 = this; - - this.getUI(); - - // Initial change trigger to help other plugins - setTimeout(function () { - _this2.$field.trigger('change', [_this2.$ui.input.val()]); - }, 1); - - this.setupHandlers(); - } - - /** - * Retrieves the UI. - * - * @since 1.4.0 - */ - - }, { - key: 'getUI', - value: function getUI() { - - this.$ui = { - slider: this.$field.find('.fieldhelpers-field-toggle-slider'), - input: this.$field.find('input[type="hidden"]') - }; - } - - /** - * Sets up class handlers. - * - * @since 1.4.0 - */ - - }, { - key: 'setupHandlers', - value: function setupHandlers() { - - var api = this; - - this.$ui.slider.click(function () { - api.handleClick(); - }); - } - - /** - * Return if field is checked or not. - * - * @since 1.4.0 - * - * @returns {*} - */ - - }, { - key: 'isChecked', - value: function isChecked() { - - return this.$field.hasClass('checked'); - } - - /** - * Fires on toggle change. - * - * @since 1.4.0 - */ - - }, { - key: 'handleClick', - value: function handleClick() { - - if (this.isChecked()) { - - this.$ui.input.val(this.options.uncheckedValue); - this.$field.removeClass('checked'); - } else { - - this.$ui.input.val(this.options.checkedValue); - this.$field.addClass('checked'); - } - - this.$field.trigger('change', [this.$ui.input.val()]); - } - }]); - - return FieldToggle; -}(_field2.default); - -/** - * Finds and initializes all Toggle fields. - * - * @since 1.4.0 - */ - - -var FieldToggleInitialize = function () { - - /** - * Class constructor. - * - * @since 1.4.0 - * - * @param {jQuery} $root Root element to initialize fields inside. - */ - function FieldToggleInitialize($root) { - _classCallCheck(this, FieldToggleInitialize); - - var api = this; - - this.fields = []; - - var $fields = $root.find('[data-fieldhelpers-field-toggle]'); - - if ($fields.length) { - - $fields.each(function () { - - api.initializeField(jQuery(this)); - }); - } - } - - /** - * Initializes the field. - * - * @since 1.4.0 - * - * @param {jQuery} $field - */ - - - _createClass(FieldToggleInitialize, [{ - key: 'initializeField', - value: function initializeField($field) { - - this.fields.push({ - $field: $field, - api: new FieldToggle($field) - }); - } - }]); - - return FieldToggleInitialize; -}(); - -exports.default = FieldToggleInitialize; - -/***/ }) -/******/ ]); \ No newline at end of file +!function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(null===t&&(t=jQuery('.fieldhelpers-field[data-fieldhelpers-name="'+e+'"]').data("fieldhelpers-instance")),null===n){var i=jQuery('.fieldhelpers-field[data-fieldhelpers-name="'+e+'"][data-fieldhelpers-instance="'+t+'"]').first().attr("class"),r=/fieldhelpers-field-(\S*)/.exec(i);null!==r&&r[1].length>0&&(n=r[1])}try{return RBM_FieldHelpers[t].fieldObjects[n][e]}catch(i){return(null===t||null===n||RBM_FieldHelpers[t].fieldObjects[n][e].length<0)&&console.error('Field Helpers Error: Field Object for "'+e+'" Not Found'),!1}}},function(e,t,n){"use strict";!function(e){var t=function(e){return e},n=function(t){return e.isArray(t)},i=function(e){return!n(e)&&e instanceof Object},r=function(t,n){return e.inArray(n,t)},a=function(e,t){return-1!==r(e,t)},o=function(e,t){for(var n in e)e.hasOwnProperty(n)&&t(e[n],n,e)},l=function(e){return e[e.length-1]},s=function(e){return Array.prototype.slice.call(e)},u=function(){var e={};return o(s(arguments),function(t){o(t,function(t,n){e[n]=t})}),e},c=function(e,t){var n=[];return o(e,function(e,i,r){n.push(t(e,i,r))}),n},f=function(e,t,n){var i={};return o(e,function(e,r,a){r=n?n(r,e):r,i[r]=t(e,r,a)}),i},d=function(e,t,i){return n(e)?c(e,t):f(e,t,i)},p=function(e,t){return d(e,function(e){return e[t]})},h=function(e,t){var i;return n(e)?(i=[],o(e,function(e,n,r){t(e,n,r)&&i.push(e)})):(i={},o(e,function(e,n,r){t(e,n,r)&&(i[n]=e)})),i},m=function(e,t,n){return d(e,function(e,i){return e[t].apply(e,n||[])})},g=function(e){var t={};return(e=e||{}).publish=function(e,n){o(t[e],function(e){e(n)})},e.subscribe=function(e,n){t[e]=t[e]||[],t[e].push(n)},e.unsubscribe=function(e){o(t,function(t){var n=r(t,e);-1!==n&&t.splice(n,1)})},e};!function(e){var t=function(e,t){var n=g(),i=e.$;return n.getType=function(){throw'implement me (return type. "text", "radio", etc.)'},n.$=function(e){return e?i.find(e):i},n.disable=function(){n.$().prop("disabled",!0),n.publish("isEnabled",!1)},n.enable=function(){n.$().prop("disabled",!1),n.publish("isEnabled",!0)},t.equalTo=function(e,t){return e===t},t.publishChange=function(){var e;return function(i,r){var a=n.get();t.equalTo(a,e)||n.publish("change",{e:i,domElement:r}),e=a}}(),n},s=function(e,n){var i=t(e,n);return i.get=function(){return i.$().val()},i.set=function(e){i.$().val(e)},i.clear=function(){i.set("")},n.buildSetter=function(e){return function(t){e.call(i,t)}},i},u=function(e,t){e=n(e)?e:[e],t=n(t)?t:[t];var i=!0;return e.length!==t.length?i=!1:o(e,function(e){a(t,e)||(i=!1)}),i},c=function(e){var t={},n=s(e,t);return n.getType=function(){return"button"},n.$().on("change",function(e){t.publishChange(e,this)}),n},f=function(t){var i={},r=s(t,i);return r.getType=function(){return"checkbox"},r.get=function(){var t=[];return r.$().filter(":checked").each(function(){t.push(e(this).val())}),t},r.set=function(t){t=n(t)?t:[t],r.$().each(function(){e(this).prop("checked",!1)}),o(t,function(e){r.$().filter('[value="'+e+'"]').prop("checked",!0)})},i.equalTo=u,r.$().change(function(e){i.publishChange(e,this)}),r},d=function(e){var t=C(e,{});return t.getType=function(){return"email"},t},p=function(n){var i={},r=t(n,i);return r.getType=function(){return"file"},r.get=function(){return l(r.$().val().split("\\"))},r.clear=function(){this.$().each(function(){e(this).wrap("").closest("form").get(0).reset(),e(this).unwrap()})},r.$().change(function(e){i.publishChange(e,this)}),r},h=function(e){var t={},n=s(e,t);return n.getType=function(){return"hidden"},n.$().change(function(e){t.publishChange(e,this)}),n},v=function(n){var i={},r=t(n,i);return r.getType=function(){return"file[multiple]"},r.get=function(){var e,t=r.$().get(0).files||[],n=[];for(e=0;e<(t.length||0);e+=1)n.push(t[e].name);return n},r.clear=function(){this.$().each(function(){e(this).wrap("").closest("form").get(0).reset(),e(this).unwrap()})},r.$().change(function(e){i.publishChange(e,this)}),r},y=function(e){var t={},i=s(e,t);return i.getType=function(){return"select[multiple]"},i.get=function(){return i.$().val()||[]},i.set=function(e){i.$().val(""===e?[]:n(e)?e:[e])},t.equalTo=u,i.$().change(function(e){t.publishChange(e,this)}),i},b=function(e){var t=C(e,{});return t.getType=function(){return"password"},t},w=function(t){var n={},i=s(t,n);return i.getType=function(){return"radio"},i.get=function(){return i.$().filter(":checked").val()||null},i.set=function(t){t?i.$().filter('[value="'+t+'"]').prop("checked",!0):i.$().each(function(){e(this).prop("checked",!1)})},i.$().change(function(e){n.publishChange(e,this)}),i},D=function(e){var t={},n=s(e,t);return n.getType=function(){return"range"},n.$().change(function(e){t.publishChange(e,this)}),n},k=function(e){var t={},n=s(e,t);return n.getType=function(){return"select"},n.$().change(function(e){t.publishChange(e,this)}),n},C=function(e){var t={},n=s(e,t);return n.getType=function(){return"text"},n.$().on("change keyup keydown",function(e){t.publishChange(e,this)}),n},M=function(e){var t={},n=s(e,t);return n.getType=function(){return"textarea"},n.$().on("change keyup keydown",function(e){t.publishChange(e,this)}),n},_=function(e){var t=C(e,{});return t.getType=function(){return"url"},t},O=function(t){var n={},a=t.$,l=t.constructorOverride||{button:c,text:C,url:_,email:d,password:b,range:D,textarea:M,select:k,"select[multiple]":y,radio:w,checkbox:f,file:p,"file[multiple]":v,hidden:h},s=function(t,r){(i(r)?r:a.find(r)).each(function(){var i=e(this).attr("name");n[i]=l[t]({$:e(this)})})},u=function(t,s){var u=[],c=i(s)?s:a.find(s);i(s)?n[c.attr("name")]=l[t]({$:c}):(c.each(function(){-1===r(u,e(this).attr("name"))&&u.push(e(this).attr("name"))}),o(u,function(e){n[e]=l[t]({$:a.find('input[name="'+e+'"]')})}))};return a.is("input, select, textarea")?a.is('input[type="button"], button, input[type="submit"]')?s("button",a):a.is("textarea")?s("textarea",a):a.is('input[type="text"]')||a.is("input")&&!a.attr("type")?s("text",a):a.is('input[type="password"]')?s("password",a):a.is('input[type="email"]')?s("email",a):a.is('input[type="url"]')?s("url",a):a.is('input[type="range"]')?s("range",a):a.is("select")?a.is("[multiple]")?s("select[multiple]",a):s("select",a):a.is('input[type="file"]')?a.is("[multiple]")?s("file[multiple]",a):s("file",a):a.is('input[type="hidden"]')?s("hidden",a):a.is('input[type="radio"]')?u("radio",a):a.is('input[type="checkbox"]')?u("checkbox",a):s("text",a):(s("button",'input[type="button"], button, input[type="submit"]'),s("text",'input[type="text"]'),s("password",'input[type="password"]'),s("email",'input[type="email"]'),s("url",'input[type="url"]'),s("range",'input[type="range"]'),s("textarea","textarea"),s("select","select:not([multiple])"),s("select[multiple]","select[multiple]"),s("file",'input[type="file"]:not([multiple])'),s("file[multiple]",'input[type="file"][multiple]'),s("hidden",'input[type="hidden"]'),u("radio",'input[type="radio"]'),u("checkbox",'input[type="checkbox"]')),n};e.fn.inputVal=function(t){var n=e(this),i=O({$:n});return n.is("input, textarea, select")?void 0===t?i[n.attr("name")].get():(i[n.attr("name")].set(t),n):void 0===t?m(i,"get"):(o(t,function(e,t){i[t].set(e)}),n)},e.fn.inputOnChange=function(t){var n=e(this),i=O({$:n});return o(i,function(e){e.subscribe("change",function(e){t.call(e.domElement,e.e)})}),n},e.fn.inputDisable=function(){var t=e(this);return m(O({$:t}),"disable"),t},e.fn.inputEnable=function(){var t=e(this);return m(O({$:t}),"enable"),t},e.fn.inputClear=function(){var t=e(this);return m(O({$:t}),"clear"),t}}(jQuery),e.fn.repeaterVal=function(){return function e(t){if(1===t.length&&(0===t[0].key.length||1===t[0].key.length&&!t[0].key[0]))return t[0].val;o(t,function(e){e.head=e.key.shift()});var n,i=function(){var e={};return o(t,function(t){e[t.head]||(e[t.head]=[]),e[t.head].push(t)}),e}();return/^[0-9]+$/.test(t[0].head)?(n=[],o(i,function(t){n.push(e(t))})):(n={},o(i,function(t,i){n[i]=e(t)})),n}(function(e){var t=[];return o(e,function(e,n){var i=[];"undefined"!==n&&(i.push(n.match(/^[^\[]*/)[0]),i=i.concat(d(n.match(/\[[^\]]*\]/g),function(e){return e.replace(/[\[\]]/g,"")})),t.push({val:e,key:i}))}),t}(e(this).inputVal()))},e.fn.repeater=function(n){n=n||{};var i;return e(this).each(function(){var r=e(this),a=n.show||function(){e(this).show()},s=n.hide||function(e){e()},c=r.find("[data-repeater-list]").first(),f=function(t,n){return t.filter(function(){return!n||0===e(this).closest(p(n,"selector").join(",")).length})},m=function(){return f(c.find("[data-repeater-item]"),n.repeaters)},g=c.find("[data-repeater-item]").first().clone().hide(),v=f(f(e(this).find("[data-repeater-item]"),n.repeaters).first().find("[data-repeater-delete]"),n.repeaters);n.isFirstItemUndeletable&&v&&v.remove();var y=function(){var e=c.data("repeater-list");return n.$parent?n.$parent.data("item-name")+"["+e+"]":e},b=function(t){n.repeaters&&t.each(function(){var t=e(this);o(n.repeaters,function(e){t.find(e.selector).repeater(u(e,{$parent:t}))})})},w=function(e,t,n){e&&o(e,function(e){n.call(t.find(e.selector)[0],e)})},D=function t(n,i,r){n.each(function(n){var a=e(this);a.data("item-name",i+"["+n+"]"),f(a.find("[name]"),r).each(function(){var o=e(this),s=o.attr("name").match(/\[[^\]]+\]/g),u=s?l(s).replace(/\[|\]/g,""):o.attr("name"),c=i+"["+n+"]["+u+"]"+(o.is(":checkbox")||o.attr("multiple")?"[]":"");o.attr("name",c),w(r,a,function(r){var a=e(this);t(f(a.find("[data-repeater-item]"),r.repeaters||[]),i+"["+n+"]["+a.find("[data-repeater-list]").first().data("repeater-list")+"]",r.repeaters)})})}),c.find("input[name][checked]").removeAttr("checked").prop("checked",!0)};D(m(),y(),n.repeaters),b(m()),n.initEmpty&&m().remove(),n.ready&&n.ready(function(){D(m(),y(),n.repeaters)});var k=function(){var i=function i(r,a,l){if(a||n.defaultValues){var s={};f(r.find("[name]"),l).each(function(){var t=e(this).attr("name").match(/\[([^\]]*)(\]|\]\[\])$/)[1];s[t]=e(this).attr("name")}),r.inputVal(d(h(a||n.defaultValues,function(e,t){return s[t]}),t,function(e){return s[e]}))}w(l,r,function(t){var n=e(this);f(n.find("[data-repeater-item]"),t.repeaters).each(function(){var r=n.find("[data-repeater-list]").data("repeater-list");if(a&&a[r]){var l=e(this).clone();n.find("[data-repeater-item]").remove(),o(a[r],function(e){var r=l.clone();i(r,e,t.repeaters||[]),n.find("[data-repeater-list]").append(r)})}else i(e(this),t.defaultValues,t.repeaters||[])})})};return function(t,r){c.append(t),D(m(),y(),n.repeaters),t.find("[name]").each(function(){e(this).inputClear()}),i(t,r||n.defaultValues,n.repeaters)}}(),C=function(e){var t=g.clone();k(t,e),n.repeaters&&b(t),a.call(t.get(0))};i=function(e){m().remove(),o(e,C)},f(r.find("[data-repeater-create]"),n.repeaters).click(function(){C()}),c.on("click","[data-repeater-delete]",function(){var t=e(this).closest("[data-repeater-item]").get(0);s.call(t,function(){e(t).remove(),D(m(),y(),n.repeaters)})})}),this.setList=i,this}}(jQuery)},function(e,t,n){"use strict";var i,r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o,l){"object"===a(t)&&void 0!==e?e.exports=l():(i=l,void 0!==(r="function"==typeof i?i.call(t,n,t,e):i)&&(e.exports=r))}(0,function(){function e(e,t,n){void 0===n&&(n=!1);var i;return function(){var r=this,a=arguments;null!==i&&clearTimeout(i),i=window.setTimeout(function(){i=null,n||e.apply(r,a)},t),n&&!i&&e.apply(r,a)}}function t(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function n(e,t,n){var i=window.document.createElement(e);return t=t||"",n=n||"",i.className=t,void 0!==n&&(i.textContent=n),i}function i(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function r(e,t){return t(e)?e:e.parentNode?r(e.parentNode,t):void 0}function o(e,t){var i=n("div","numInputWrapper"),r=n("input","numInput "+e),a=n("span","arrowUp"),o=n("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?r.type="number":(r.type="text",r.pattern="\\d*"),void 0!==t)for(var l in t)r.setAttribute(l,t[l]);return i.appendChild(r),i.appendChild(a),i.appendChild(o),i}function l(e){return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}function s(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}function u(u,c){function y(){Ae.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=Ae.currentMonth),void 0===t&&(t=Ae.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:Ae.l10n.daysInMonth[e]}}}function w(e){return e.bind(Ae)}function k(){var e=Ae.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame(function(){if(void 0!==Ae.calendarContainer&&(Ae.calendarContainer.style.visibility="hidden",Ae.calendarContainer.style.display="block"),void 0!==Ae.daysContainer){var t=(Ae.days.offsetWidth+1)*e.showMonths;Ae.daysContainer.style.width=t+"px",Ae.calendarContainer.style.width=t+(void 0!==Ae.weekWrapper?Ae.weekWrapper.offsetWidth:0)+"px",Ae.calendarContainer.style.removeProperty("visibility"),Ae.calendarContainer.style.removeProperty("display")}})}function E(e){0===Ae.selectedDates.length&&me(),void 0!==e&&"blur"!==e.type&&He(e);var t=Ae._input.value;$(),Ie(),Ae._input.value!==t&&Ae._debouncedChange()}function F(e,t){return e%12+12*g(t===Ae.l10n.amPM[1])}function T(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}function $(){if(void 0!==Ae.hourElement&&void 0!==Ae.minuteElement){var e=(parseInt(Ae.hourElement.value.slice(-2),10)||0)%24,t=(parseInt(Ae.minuteElement.value,10)||0)%60,n=void 0!==Ae.secondElement?(parseInt(Ae.secondElement.value,10)||0)%60:0;void 0!==Ae.amPM&&(e=F(e,Ae.amPM.textContent));var i=void 0!==Ae.config.minTime||Ae.config.minDate&&Ae.minDateHasTime&&Ae.latestSelectedDateObj&&0===s(Ae.latestSelectedDateObj,Ae.config.minDate,!0);if(void 0!==Ae.config.maxTime||Ae.config.maxDate&&Ae.maxDateHasTime&&Ae.latestSelectedDateObj&&0===s(Ae.latestSelectedDateObj,Ae.config.maxDate,!0)){var r=void 0!==Ae.config.maxTime?Ae.config.maxTime:Ae.config.maxDate;(e=Math.min(e,r.getHours()))===r.getHours()&&(t=Math.min(t,r.getMinutes())),t===r.getMinutes()&&(n=Math.min(n,r.getSeconds()))}if(i){var a=void 0!==Ae.config.minTime?Ae.config.minTime:Ae.config.minDate;(e=Math.max(e,a.getHours()))===a.getHours()&&(t=Math.max(t,a.getMinutes())),t===a.getMinutes()&&(n=Math.max(n,a.getSeconds()))}S(e,t,n)}}function P(e){var t=e||Ae.latestSelectedDateObj;t&&S(t.getHours(),t.getMinutes(),t.getSeconds())}function I(){var e=Ae.config.defaultHour,t=Ae.config.defaultMinute,n=Ae.config.defaultSeconds;if(void 0!==Ae.config.minDate){var i=Ae.config.minDate.getHours(),r=Ae.config.minDate.getMinutes();(e=Math.max(e,i))===i&&(t=Math.max(r,t)),e===i&&t===r&&(n=Ae.config.minDate.getSeconds())}if(void 0!==Ae.config.maxDate){var a=Ae.config.maxDate.getHours(),o=Ae.config.maxDate.getMinutes();(e=Math.min(e,a))===a&&(t=Math.min(o,t)),e===a&&t===o&&(n=Ae.config.maxDate.getSeconds())}S(e,t,n)}function S(e,t,n){void 0!==Ae.latestSelectedDateObj&&Ae.latestSelectedDateObj.setHours(e%24,t,n||0,0),Ae.hourElement&&Ae.minuteElement&&!Ae.isMobile&&(Ae.hourElement.value=m(Ae.config.time_24hr?e:(12+e)%12+12*g(e%12==0)),Ae.minuteElement.value=m(t),void 0!==Ae.amPM&&(Ae.amPM.textContent=Ae.l10n.amPM[g(e>=12)]),void 0!==Ae.secondElement&&(Ae.secondElement.value=m(n)))}function H(e){var t=parseInt(e.target.value)+(e.delta||0);(t/1e3>1||"Enter"===e.key&&!/[^\d]/.test(t.toString()))&&ue(t)}function A(e,t,n,i){return t instanceof Array?t.forEach(function(t){return A(e,t,n,i)}):e instanceof Array?e.forEach(function(e){return A(e,t,n,i)}):(e.addEventListener(t,n,i),void Ae._handlers.push({element:e,event:t,handler:n,options:i}))}function N(e){return function(t){1===t.which&&e(t)}}function Y(){xe("onChange")}function Q(){if(Ae.config.wrap&&["open","close","toggle","clear"].forEach(function(e){Array.prototype.forEach.call(Ae.element.querySelectorAll("[data-"+e+"]"),function(t){return A(t,"click",Ae[e])})}),Ae.isMobile)je();else{var t=e(he,50);if(Ae._debouncedChange=e(Y,j),Ae.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&A(Ae.daysContainer,"mouseover",function(e){"range"===Ae.config.mode&&pe(e.target)}),A(window.document.body,"keydown",de),Ae.config.inline||Ae.config.static||A(window,"resize",t),void 0!==window.ontouchstart?A(window.document,"touchstart",se):A(window.document,"mousedown",N(se)),A(window.document,"focus",se,{capture:!0}),!0===Ae.config.clickOpens&&(A(Ae._input,"focus",Ae.open),A(Ae._input,"mousedown",N(Ae.open))),void 0!==Ae.daysContainer&&(A(Ae.monthNav,"mousedown",N(Se)),A(Ae.monthNav,["keyup","increment"],H),A(Ae.daysContainer,"mousedown",N(ke))),void 0!==Ae.timeContainer&&void 0!==Ae.minuteElement&&void 0!==Ae.hourElement){A(Ae.timeContainer,["increment"],E),A(Ae.timeContainer,"blur",E,{capture:!0}),A(Ae.timeContainer,"mousedown",N(R)),A([Ae.hourElement,Ae.minuteElement],["focus","click"],function(e){return e.target.select()}),void 0!==Ae.secondElement&&A(Ae.secondElement,"focus",function(){return Ae.secondElement&&Ae.secondElement.select()}),void 0!==Ae.amPM&&A(Ae.amPM,"mousedown",N(function(e){E(e),Y()}))}}}function L(e,t){var n=void 0!==e?Ae.parseDate(e):Ae.latestSelectedDateObj||(Ae.config.minDate&&Ae.config.minDate>Ae.now?Ae.config.minDate:Ae.config.maxDate&&Ae.config.maxDate1),Ae.calendarContainer.appendChild(e);var o=void 0!==Ae.config.appendTo&&void 0!==Ae.config.appendTo.nodeType;if((Ae.config.inline||Ae.config.static)&&(Ae.calendarContainer.classList.add(Ae.config.inline?"inline":"static"),Ae.config.inline&&(!o&&Ae.element.parentNode?Ae.element.parentNode.insertBefore(Ae.calendarContainer,Ae._input.nextSibling):void 0!==Ae.config.appendTo&&Ae.config.appendTo.appendChild(Ae.calendarContainer)),Ae.config.static)){var l=n("div","flatpickr-wrapper");Ae.element.parentNode&&Ae.element.parentNode.insertBefore(l,Ae.element),l.appendChild(Ae.element),Ae.altInput&&l.appendChild(Ae.altInput),l.appendChild(Ae.calendarContainer)}Ae.config.static||Ae.config.inline||(void 0!==Ae.config.appendTo?Ae.config.appendTo:window.document.body).appendChild(Ae.calendarContainer)}function U(e,i,r,a){var o=ce(i,!0),l=n("span","flatpickr-day "+e,i.getDate().toString());return l.dateObj=i,l.$i=a,l.setAttribute("aria-label",Ae.formatDate(i,Ae.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===s(i,Ae.now)&&(Ae.todayDateElem=l,l.classList.add("today"),l.setAttribute("aria-current","date")),o?(l.tabIndex=-1,Fe(i)&&(l.classList.add("selected"),Ae.selectedDateElem=l,"range"===Ae.config.mode&&(t(l,"startRange",Ae.selectedDates[0]&&0===s(i,Ae.selectedDates[0],!0)),t(l,"endRange",Ae.selectedDates[1]&&0===s(i,Ae.selectedDates[1],!0)),"nextMonthDay"===e&&l.classList.add("inRange")))):l.classList.add("flatpickr-disabled"),"range"===Ae.config.mode&&Te(i)&&!Fe(i)&&l.classList.add("inRange"),Ae.weekNumbers&&1===Ae.config.showMonths&&"prevMonthDay"!==e&&r%7==1&&Ae.weekNumbers.insertAdjacentHTML("beforeend",""+Ae.config.getWeek(i)+""),xe("onDayCreate",l),l}function W(e){e.focus(),"range"===Ae.config.mode&&pe(e)}function q(e){for(var t=e>0?0:Ae.config.showMonths-1,n=e>0?Ae.config.showMonths:-1,i=t;i!=n;i+=e)for(var r=Ae.daysContainer.children[i],a=e>0?0:r.children.length-1,o=e>0?r.children.length:-1,l=a;l!=o;l+=e){var s=r.children[l];if(-1===s.className.indexOf("hidden")&&ce(s.dateObj))return s}}function K(e,t){for(var n=-1===e.className.indexOf("Month")?e.dateObj.getMonth():Ae.currentMonth,i=t>0?Ae.config.showMonths:-1,r=t>0?1:-1,a=n-Ae.currentMonth;a!=i;a+=r)for(var o=Ae.daysContainer.children[a],l=n-Ae.currentMonth===a?e.$i+t:t<0?o.children.length-1:0,s=o.children.length,u=l;u>=0&&u0?s:-1);u+=r){var c=o.children[u];if(-1===c.className.indexOf("hidden")&&ce(c.dateObj)&&Math.abs(e.$i-u)>=Math.abs(t))return W(c)}Ae.changeMonth(r),V(q(r),0)}function V(e,t){var n=fe(document.activeElement||document.body),i=void 0!==e?e:n?document.activeElement:void 0!==Ae.selectedDateElem&&fe(Ae.selectedDateElem)?Ae.selectedDateElem:void 0!==Ae.todayDateElem&&fe(Ae.todayDateElem)?Ae.todayDateElem:q(t>0?1:-1);return void 0===i?Ae._input.focus():n?void K(i,t):W(i)}function J(e,t){for(var i=(new Date(e,t,1).getDay()-Ae.l10n.firstDayOfWeek+7)%7,r=Ae.utils.getDaysInMonth((t-1+12)%12),a=Ae.utils.getDaysInMonth(t),o=window.document.createDocumentFragment(),l=Ae.config.showMonths>1,s=l?"prevMonthDay hidden":"prevMonthDay",u=l?"nextMonthDay hidden":"nextMonthDay",c=r+1-i,f=0;c<=r;c++,f++)o.appendChild(U(s,new Date(e,t-1,c),c,f));for(c=1;c<=a;c++,f++)o.appendChild(U("",new Date(e,t,c),c,f));for(var d=a+1;d<=42-i&&(1===Ae.config.showMonths||f%7!=0);d++,f++)o.appendChild(U(u,new Date(e,t+1,d%a),d,f));var p=n("div","dayContainer");return p.appendChild(o),p}function G(){if(void 0!==Ae.daysContainer){i(Ae.daysContainer),Ae.weekNumbers&&i(Ae.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t1||"dropdown"!==Ae.config.monthSelectorType)){Ae.monthsDropdownContainer.tabIndex=-1,Ae.monthsDropdownContainer.innerHTML="";for(var e=0;e<12;e++)if(function(e){return!(void 0!==Ae.config.minDate&&Ae.currentYear===Ae.config.minDate.getFullYear()&&eAe.config.maxDate.getMonth())}(e)){var t=n("option","flatpickr-monthDropdown-month");t.value=new Date(Ae.currentYear,e).getMonth().toString(),t.textContent=b(e,Ae.config.shorthandCurrentMonth,Ae.l10n),t.tabIndex=-1,Ae.currentMonth===e&&(t.selected=!0),Ae.monthsDropdownContainer.appendChild(t)}}}function X(){var e,t=n("div","flatpickr-month"),i=window.document.createDocumentFragment();Ae.config.showMonths>1||"static"===Ae.config.monthSelectorType?e=n("span","cur-month"):(Ae.monthsDropdownContainer=n("select","flatpickr-monthDropdown-months"),A(Ae.monthsDropdownContainer,"change",function(e){var t=e.target,n=parseInt(t.value,10);Ae.changeMonth(n-Ae.currentMonth),xe("onMonthChange")}),Z(),e=Ae.monthsDropdownContainer);var r=o("cur-year",{tabindex:"-1"}),a=r.getElementsByTagName("input")[0];a.setAttribute("aria-label",Ae.l10n.yearAriaLabel),Ae.config.minDate&&a.setAttribute("min",Ae.config.minDate.getFullYear().toString()),Ae.config.maxDate&&(a.setAttribute("max",Ae.config.maxDate.getFullYear().toString()),a.disabled=!!Ae.config.minDate&&Ae.config.minDate.getFullYear()===Ae.config.maxDate.getFullYear());var l=n("div","flatpickr-current-month");return l.appendChild(e),l.appendChild(r),i.appendChild(l),t.appendChild(i),{container:t,yearElement:a,monthElement:e}}function ee(){i(Ae.monthNav),Ae.monthNav.appendChild(Ae.prevMonthNav),Ae.config.showMonths&&(Ae.yearElements=[],Ae.monthElements=[]);for(var e=Ae.config.showMonths;e--;){var t=X();Ae.yearElements.push(t.yearElement),Ae.monthElements.push(t.monthElement),Ae.monthNav.appendChild(t.container)}Ae.monthNav.appendChild(Ae.nextMonthNav)}function te(){return Ae.monthNav=n("div","flatpickr-months"),Ae.yearElements=[],Ae.monthElements=[],Ae.prevMonthNav=n("span","flatpickr-prev-month"),Ae.prevMonthNav.innerHTML=Ae.config.prevArrow,Ae.nextMonthNav=n("span","flatpickr-next-month"),Ae.nextMonthNav.innerHTML=Ae.config.nextArrow,ee(),Object.defineProperty(Ae,"_hidePrevMonthArrow",{get:function(){return Ae.__hidePrevMonthArrow},set:function(e){Ae.__hidePrevMonthArrow!==e&&(t(Ae.prevMonthNav,"flatpickr-disabled",e),Ae.__hidePrevMonthArrow=e)}}),Object.defineProperty(Ae,"_hideNextMonthArrow",{get:function(){return Ae.__hideNextMonthArrow},set:function(e){Ae.__hideNextMonthArrow!==e&&(t(Ae.nextMonthNav,"flatpickr-disabled",e),Ae.__hideNextMonthArrow=e)}}),Ae.currentYearElement=Ae.yearElements[0],$e(),Ae.monthNav}function ne(){Ae.calendarContainer.classList.add("hasTime"),Ae.config.noCalendar&&Ae.calendarContainer.classList.add("noCalendar"),Ae.timeContainer=n("div","flatpickr-time"),Ae.timeContainer.tabIndex=-1;var e=n("span","flatpickr-time-separator",":"),t=o("flatpickr-hour",{"aria-label":Ae.l10n.hourAriaLabel});Ae.hourElement=t.getElementsByTagName("input")[0];var i=o("flatpickr-minute",{"aria-label":Ae.l10n.minuteAriaLabel});if(Ae.minuteElement=i.getElementsByTagName("input")[0],Ae.hourElement.tabIndex=Ae.minuteElement.tabIndex=-1,Ae.hourElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getHours():Ae.config.time_24hr?Ae.config.defaultHour:T(Ae.config.defaultHour)),Ae.minuteElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getMinutes():Ae.config.defaultMinute),Ae.hourElement.setAttribute("step",Ae.config.hourIncrement.toString()),Ae.minuteElement.setAttribute("step",Ae.config.minuteIncrement.toString()),Ae.hourElement.setAttribute("min",Ae.config.time_24hr?"0":"1"),Ae.hourElement.setAttribute("max",Ae.config.time_24hr?"23":"12"),Ae.minuteElement.setAttribute("min","0"),Ae.minuteElement.setAttribute("max","59"),Ae.timeContainer.appendChild(t),Ae.timeContainer.appendChild(e),Ae.timeContainer.appendChild(i),Ae.config.time_24hr&&Ae.timeContainer.classList.add("time24hr"),Ae.config.enableSeconds){Ae.timeContainer.classList.add("hasSeconds");var r=o("flatpickr-second");Ae.secondElement=r.getElementsByTagName("input")[0],Ae.secondElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getSeconds():Ae.config.defaultSeconds),Ae.secondElement.setAttribute("step",Ae.minuteElement.getAttribute("step")),Ae.secondElement.setAttribute("min","0"),Ae.secondElement.setAttribute("max","59"),Ae.timeContainer.appendChild(n("span","flatpickr-time-separator",":")),Ae.timeContainer.appendChild(r)}return Ae.config.time_24hr||(Ae.amPM=n("span","flatpickr-am-pm",Ae.l10n.amPM[g((Ae.latestSelectedDateObj?Ae.hourElement.value:Ae.config.defaultHour)>11)]),Ae.amPM.title=Ae.l10n.toggleTitle,Ae.amPM.tabIndex=-1,Ae.timeContainer.appendChild(Ae.amPM)),Ae.timeContainer}function ie(){Ae.weekdayContainer?i(Ae.weekdayContainer):Ae.weekdayContainer=n("div","flatpickr-weekdays");for(var e=Ae.config.showMonths;e--;){var t=n("div","flatpickr-weekdaycontainer");Ae.weekdayContainer.appendChild(t)}return re(),Ae.weekdayContainer}function re(){var e=Ae.l10n.firstDayOfWeek,t=Ae.l10n.weekdays.shorthand.slice();e>0&&e\n "+t.join("")+"\n \n "}function ae(){Ae.calendarContainer.classList.add("hasWeeks");var e=n("div","flatpickr-weekwrapper");e.appendChild(n("span","flatpickr-weekday",Ae.l10n.weekAbbreviation));var t=n("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}function oe(e,t){void 0===t&&(t=!0);var n=t?e:e-Ae.currentMonth;n<0&&!0===Ae._hidePrevMonthArrow||n>0&&!0===Ae._hideNextMonthArrow||(Ae.currentMonth+=n,(Ae.currentMonth<0||Ae.currentMonth>11)&&(Ae.currentYear+=Ae.currentMonth>11?1:-1,Ae.currentMonth=(Ae.currentMonth+12)%12,xe("onYearChange"),Z()),G(),xe("onMonthChange"),$e())}function le(e){return!(!Ae.config.appendTo||!Ae.config.appendTo.contains(e))||Ae.calendarContainer.contains(e)}function se(e){if(Ae.isOpen&&!Ae.config.inline){var t=l(e),n=le(t),i=t===Ae.input||t===Ae.altInput||Ae.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(Ae.input)||~e.path.indexOf(Ae.altInput)),r="blur"===e.type?i&&e.relatedTarget&&!le(e.relatedTarget):!i&&!n&&!le(e.relatedTarget),a=!Ae.config.ignoredFocusElements.some(function(e){return e.contains(t)});r&&a&&(Ae.close(),"range"===Ae.config.mode&&1===Ae.selectedDates.length&&(Ae.clear(!1),Ae.redraw()))}}function ue(e){if(!(!e||Ae.config.minDate&&eAe.config.maxDate.getFullYear())){var t=e,n=Ae.currentYear!==t;Ae.currentYear=t||Ae.currentYear,Ae.config.maxDate&&Ae.currentYear===Ae.config.maxDate.getFullYear()?Ae.currentMonth=Math.min(Ae.config.maxDate.getMonth(),Ae.currentMonth):Ae.config.minDate&&Ae.currentYear===Ae.config.minDate.getFullYear()&&(Ae.currentMonth=Math.max(Ae.config.minDate.getMonth(),Ae.currentMonth)),n&&(Ae.redraw(),xe("onYearChange"),Z())}}function ce(e,t){void 0===t&&(t=!0);var n=Ae.parseDate(e,void 0,t);if(Ae.config.minDate&&n&&s(n,Ae.config.minDate,void 0!==t?t:!Ae.minDateHasTime)<0||Ae.config.maxDate&&n&&s(n,Ae.config.maxDate,void 0!==t?t:!Ae.maxDateHasTime)>0)return!1;if(0===Ae.config.enable.length&&0===Ae.config.disable.length)return!0;if(void 0===n)return!1;for(var i=Ae.config.enable.length>0,r=i?Ae.config.enable:Ae.config.disable,o=0,l=void 0;o=l.from.getTime()&&n.getTime()<=l.to.getTime())return i}return!i}function fe(e){return void 0!==Ae.daysContainer&&(-1===e.className.indexOf("hidden")&&Ae.daysContainer.contains(e))}function de(e){var t=e.target===Ae._input,n=Ae.config.allowInput,i=Ae.isOpen&&(!n||!t),r=Ae.config.inline&&t&&!n;if(13===e.keyCode&&t){if(n)return Ae.setDate(Ae._input.value,!0,e.target===Ae.altInput?Ae.config.altFormat:Ae.config.dateFormat),e.target.blur();Ae.open()}else if(le(e.target)||i||r){var a=!!Ae.timeContainer&&Ae.timeContainer.contains(e.target);switch(e.keyCode){case 13:a?(e.preventDefault(),E(),De()):ke(e);break;case 27:e.preventDefault(),De();break;case 8:case 46:t&&!Ae.config.allowInput&&(e.preventDefault(),Ae.clear());break;case 37:case 39:if(a||t)Ae.hourElement&&Ae.hourElement.focus();else if(e.preventDefault(),void 0!==Ae.daysContainer&&(!1===n||document.activeElement&&fe(document.activeElement))){var o=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),oe(o),V(q(1),0)):V(void 0,o)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;Ae.daysContainer&&void 0!==e.target.$i||e.target===Ae.input?e.ctrlKey?(e.stopPropagation(),ue(Ae.currentYear-l),V(q(1),0)):a||V(void 0,7*l):e.target===Ae.currentYearElement?ue(Ae.currentYear-l):Ae.config.enableTime&&(!a&&Ae.hourElement&&Ae.hourElement.focus(),E(e),Ae._debouncedChange());break;case 9:if(a){var s=[Ae.hourElement,Ae.minuteElement,Ae.secondElement,Ae.amPM].concat(Ae.pluginElements).filter(function(e){return e}),u=s.indexOf(e.target);if(-1!==u){var c=s[u+(e.shiftKey?-1:1)];e.preventDefault(),(c||Ae._input).focus()}}else!Ae.config.noCalendar&&Ae.daysContainer&&Ae.daysContainer.contains(e.target)&&e.shiftKey&&(e.preventDefault(),Ae._input.focus())}}if(void 0!==Ae.amPM&&e.target===Ae.amPM)switch(e.key){case Ae.l10n.amPM[0].charAt(0):case Ae.l10n.amPM[0].charAt(0).toLowerCase():Ae.amPM.textContent=Ae.l10n.amPM[0],$(),Ie();break;case Ae.l10n.amPM[1].charAt(0):case Ae.l10n.amPM[1].charAt(0).toLowerCase():Ae.amPM.textContent=Ae.l10n.amPM[1],$(),Ie()}(t||le(e.target))&&xe("onKeyDown",e)}function pe(e){if(1===Ae.selectedDates.length&&(!e||e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled"))){for(var t=e?e.dateObj.getTime():Ae.days.firstElementChild.dateObj.getTime(),n=Ae.parseDate(Ae.selectedDates[0],void 0,!0).getTime(),i=Math.min(t,Ae.selectedDates[0].getTime()),r=Math.max(t,Ae.selectedDates[0].getTime()),a=!1,o=0,l=0,s=i;si&&so)?o=s:s>n&&(!l||s0&&u0&&u>l;f?(s.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(e){s.classList.remove(e)})):a&&!f||(["startRange","inRange","endRange","notAllowed"].forEach(function(e){s.classList.remove(e)}),void 0!==e&&(e.classList.add(t<=Ae.selectedDates[0].getTime()?"startRange":"endRange"),nt&&u===n&&s.classList.add("endRange"),u>=o&&(0===l||u<=l)&&_(u,n,t)&&s.classList.add("inRange")))}(f)}}function he(){!Ae.isOpen||Ae.config.static||Ae.config.inline||be()}function me(){Ae.setDate(void 0!==Ae.config.minDate?new Date(Ae.config.minDate.getTime()):new Date,!0),I(),Ie()}function ge(e){return function(t){var n=Ae.config["_"+e+"Date"]=Ae.parseDate(t,Ae.config.dateFormat),i=Ae.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(Ae["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),Ae.selectedDates&&(Ae.selectedDates=Ae.selectedDates.filter(function(e){return ce(e)}),Ae.selectedDates.length||"min"!==e||P(n),Ie()),Ae.daysContainer&&(we(),void 0!==n?Ae.currentYearElement[e]=n.getFullYear().toString():Ae.currentYearElement.removeAttribute(e),Ae.currentYearElement.disabled=!!i&&void 0!==n&&i.getFullYear()===n.getFullYear())}}function ve(){var e=["wrap","weekNumbers","allowInput","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],t=f({},c,JSON.parse(JSON.stringify(u.dataset||{}))),n={};Ae.config.parseDate=t.parseDate,Ae.config.formatDate=t.formatDate,Object.defineProperty(Ae.config,"enable",{get:function(){return Ae.config._enable},set:function(e){Ae.config._enable=Me(e)}}),Object.defineProperty(Ae.config,"disable",{get:function(){return Ae.config._disable},set:function(e){Ae.config._disable=Me(e)}});var i="time"===t.mode;if(!t.dateFormat&&(t.enableTime||i)){var r=x.defaultConfig.dateFormat||p.dateFormat;n.dateFormat=t.noCalendar||i?"H:i"+(t.enableSeconds?":S":""):r+" H:i"+(t.enableSeconds?":S":"")}if(t.altInput&&(t.enableTime||i)&&!t.altFormat){var a=x.defaultConfig.altFormat||p.altFormat;n.altFormat=t.noCalendar||i?"h:i"+(t.enableSeconds?":S K":" K"):a+" h:i"+(t.enableSeconds?":S":"")+" K"}t.altInputClass||(Ae.config.altInputClass=Ae.input.className+" "+Ae.config.altInputClass),Object.defineProperty(Ae.config,"minDate",{get:function(){return Ae.config._minDate},set:ge("min")}),Object.defineProperty(Ae.config,"maxDate",{get:function(){return Ae.config._maxDate},set:ge("max")});var o=function(e){return function(t){Ae.config["min"===e?"_minTime":"_maxTime"]=Ae.parseDate(t,"H:i")}};Object.defineProperty(Ae.config,"minTime",{get:function(){return Ae.config._minTime},set:o("min")}),Object.defineProperty(Ae.config,"maxTime",{get:function(){return Ae.config._maxTime},set:o("max")}),"time"===t.mode&&(Ae.config.noCalendar=!0,Ae.config.enableTime=!0),Object.assign(Ae.config,n,t);for(l=0;l-1?Ae.config[h]=v(s[h]).map(w).concat(Ae.config[h]):void 0===t[h]&&(Ae.config[h]=s[h])}xe("onParseConfig")}function ye(){"object"!==a(Ae.config.locale)&&void 0===x.l10ns[Ae.config.locale]&&Ae.config.errorHandler(new Error("flatpickr: invalid locale "+Ae.config.locale)),Ae.l10n=f({},x.l10ns.default,"object"===a(Ae.config.locale)?Ae.config.locale:"default"!==Ae.config.locale?x.l10ns[Ae.config.locale]:void 0),D.K="("+Ae.l10n.amPM[0]+"|"+Ae.l10n.amPM[1]+"|"+Ae.l10n.amPM[0].toLowerCase()+"|"+Ae.l10n.amPM[1].toLowerCase()+")",void 0===f({},c,JSON.parse(JSON.stringify(u.dataset||{}))).time_24hr&&void 0===x.defaultConfig.time_24hr&&(Ae.config.time_24hr=Ae.l10n.time_24hr),Ae.formatDate=C(Ae),Ae.parseDate=M({config:Ae.config,l10n:Ae.l10n})}function be(e){if(void 0!==Ae.calendarContainer){xe("onPreCalendarPosition");var n=e||Ae._positionElement,i=Array.prototype.reduce.call(Ae.calendarContainer.children,function(e,t){return e+t.offsetHeight},0),r=Ae.calendarContainer.offsetWidth,a=Ae.config.position.split(" "),o=a[0],l=a.length>1?a[1]:null,s=n.getBoundingClientRect(),u=window.innerHeight-s.bottom,c="above"===o||"below"!==o&&ui,f=window.pageYOffset+s.top+(c?-i-2:n.offsetHeight+2);if(t(Ae.calendarContainer,"arrowTop",!c),t(Ae.calendarContainer,"arrowBottom",c),!Ae.config.inline){var d=window.pageXOffset+s.left-(null!=l&&"center"===l?(r-s.width)/2:0),p=window.document.body.offsetWidth-s.right,h=d+r>window.document.body.offsetWidth,m=p+r>window.document.body.offsetWidth;if(t(Ae.calendarContainer,"rightMost",h),!Ae.config.static)if(Ae.calendarContainer.style.top=f+"px",h)if(m){var g=document.styleSheets[0];if(void 0===g)return;var v=window.document.body.offsetWidth,y=Math.max(0,v/2-r/2),b=g.cssRules.length,w="{left:"+s.left+"px;right:auto;}";t(Ae.calendarContainer,"rightMost",!1),t(Ae.calendarContainer,"centerMost",!0),g.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+w,b),Ae.calendarContainer.style.left=y+"px",Ae.calendarContainer.style.right="auto"}else Ae.calendarContainer.style.left="auto",Ae.calendarContainer.style.right=p+"px";else Ae.calendarContainer.style.left=d+"px",Ae.calendarContainer.style.right="auto"}}}function we(){Ae.config.noCalendar||Ae.isMobile||($e(),G())}function De(){Ae._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(Ae.close,0):Ae.close()}function ke(e){e.preventDefault(),e.stopPropagation();var t=r(e.target,function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")});if(void 0!==t){var n=t,i=Ae.latestSelectedDateObj=new Date(n.dateObj.getTime()),a=(i.getMonth()Ae.currentMonth+Ae.config.showMonths-1)&&"range"!==Ae.config.mode;if(Ae.selectedDateElem=n,"single"===Ae.config.mode)Ae.selectedDates=[i];else if("multiple"===Ae.config.mode){var o=Fe(i);o?Ae.selectedDates.splice(parseInt(o),1):Ae.selectedDates.push(i)}else"range"===Ae.config.mode&&(2===Ae.selectedDates.length&&Ae.clear(!1,!1),Ae.latestSelectedDateObj=i,Ae.selectedDates.push(i),0!==s(i,Ae.selectedDates[0],!0)&&Ae.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if($(),a){var l=Ae.currentYear!==i.getFullYear();Ae.currentYear=i.getFullYear(),Ae.currentMonth=i.getMonth(),l&&(xe("onYearChange"),Z()),xe("onMonthChange")}if($e(),G(),Ie(),Ae.config.enableTime&&setTimeout(function(){return Ae.showTimeInput=!0},50),a||"range"===Ae.config.mode||1!==Ae.config.showMonths?void 0!==Ae.selectedDateElem&&void 0===Ae.hourElement&&Ae.selectedDateElem&&Ae.selectedDateElem.focus():W(n),void 0!==Ae.hourElement&&void 0!==Ae.hourElement&&Ae.hourElement.focus(),Ae.config.closeOnSelect){var u="single"===Ae.config.mode&&!Ae.config.enableTime,c="range"===Ae.config.mode&&2===Ae.selectedDates.length&&!Ae.config.enableTime;(u||c)&&De()}Y()}}function Ce(e,t){var n=[];if(e instanceof Array)n=e.map(function(e){return Ae.parseDate(e,t)});else if(e instanceof Date||"number"==typeof e)n=[Ae.parseDate(e,t)];else if("string"==typeof e)switch(Ae.config.mode){case"single":case"time":n=[Ae.parseDate(e,t)];break;case"multiple":n=e.split(Ae.config.conjunction).map(function(e){return Ae.parseDate(e,t)});break;case"range":n=e.split(Ae.l10n.rangeSeparator).map(function(e){return Ae.parseDate(e,t)})}else Ae.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));Ae.selectedDates=n.filter(function(e){return e instanceof Date&&ce(e,!1)}),"range"===Ae.config.mode&&Ae.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()})}function Me(e){return e.slice().map(function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?Ae.parseDate(e,void 0,!0):e&&"object"===(void 0===e?"undefined":a(e))&&e.from&&e.to?{from:Ae.parseDate(e.from,void 0),to:Ae.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function _e(){Ae.selectedDates=[],Ae.now=Ae.parseDate(Ae.config.now)||new Date;var e=Ae.config.defaultDate||("INPUT"!==Ae.input.nodeName&&"TEXTAREA"!==Ae.input.nodeName||!Ae.input.placeholder||Ae.input.value!==Ae.input.placeholder?Ae.input.value:null);e&&Ce(e,Ae.config.dateFormat),Ae._initialDate=Ae.selectedDates.length>0?Ae.selectedDates[0]:Ae.config.minDate&&Ae.config.minDate.getTime()>Ae.now.getTime()?Ae.config.minDate:Ae.config.maxDate&&Ae.config.maxDate.getTime()0&&(Ae.latestSelectedDateObj=Ae.selectedDates[0]),void 0!==Ae.config.minTime&&(Ae.config.minTime=Ae.parseDate(Ae.config.minTime,"H:i")),void 0!==Ae.config.maxTime&&(Ae.config.maxTime=Ae.parseDate(Ae.config.maxTime,"H:i")),Ae.minDateHasTime=!!Ae.config.minDate&&(Ae.config.minDate.getHours()>0||Ae.config.minDate.getMinutes()>0||Ae.config.minDate.getSeconds()>0),Ae.maxDateHasTime=!!Ae.config.maxDate&&(Ae.config.maxDate.getHours()>0||Ae.config.maxDate.getMinutes()>0||Ae.config.maxDate.getSeconds()>0),Object.defineProperty(Ae,"showTimeInput",{get:function(){return Ae._showTimeInput},set:function(e){Ae._showTimeInput=e,Ae.calendarContainer&&t(Ae.calendarContainer,"showTimeInput",e),Ae.isOpen&&be()}})}function Oe(){Ae.input=Ae.config.wrap?u.querySelector("[data-input]"):u,Ae.input?(Ae.input._type=Ae.input.type,Ae.input.type="text",Ae.input.classList.add("flatpickr-input"),Ae._input=Ae.input,Ae.config.altInput&&(Ae.altInput=n(Ae.input.nodeName,Ae.config.altInputClass),Ae._input=Ae.altInput,Ae.altInput.placeholder=Ae.input.placeholder,Ae.altInput.disabled=Ae.input.disabled,Ae.altInput.required=Ae.input.required,Ae.altInput.tabIndex=Ae.input.tabIndex,Ae.altInput.type="text",Ae.input.setAttribute("type","hidden"),!Ae.config.static&&Ae.input.parentNode&&Ae.input.parentNode.insertBefore(Ae.altInput,Ae.input.nextSibling)),Ae.config.allowInput||Ae._input.setAttribute("readonly","readonly"),Ae._positionElement=Ae.config.positionElement||Ae._input):Ae.config.errorHandler(new Error("Invalid input element specified"))}function je(){var e=Ae.config.enableTime?Ae.config.noCalendar?"time":"datetime-local":"date";Ae.mobileInput=n("input",Ae.input.className+" flatpickr-mobile"),Ae.mobileInput.step=Ae.input.getAttribute("step")||"any",Ae.mobileInput.tabIndex=1,Ae.mobileInput.type=e,Ae.mobileInput.disabled=Ae.input.disabled,Ae.mobileInput.required=Ae.input.required,Ae.mobileInput.placeholder=Ae.input.placeholder,Ae.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",Ae.selectedDates.length>0&&(Ae.mobileInput.defaultValue=Ae.mobileInput.value=Ae.formatDate(Ae.selectedDates[0],Ae.mobileFormatStr)),Ae.config.minDate&&(Ae.mobileInput.min=Ae.formatDate(Ae.config.minDate,"Y-m-d")),Ae.config.maxDate&&(Ae.mobileInput.max=Ae.formatDate(Ae.config.maxDate,"Y-m-d")),Ae.input.type="hidden",void 0!==Ae.altInput&&(Ae.altInput.type="hidden");try{Ae.input.parentNode&&Ae.input.parentNode.insertBefore(Ae.mobileInput,Ae.input.nextSibling)}catch(e){}A(Ae.mobileInput,"change",function(e){Ae.setDate(e.target.value,!1,Ae.mobileFormatStr),xe("onChange"),xe("onClose")})}function xe(e,t){if(void 0!==Ae.config){var n=Ae.config[e];if(void 0!==n&&n.length>0)for(var i=0;n[i]&&i=0&&s(e,Ae.selectedDates[1])<=0)}function $e(){Ae.config.noCalendar||Ae.isMobile||!Ae.monthNav||(Ae.yearElements.forEach(function(e,t){var n=new Date(Ae.currentYear,Ae.currentMonth,1);n.setMonth(Ae.currentMonth+t),Ae.config.showMonths>1||"static"===Ae.config.monthSelectorType?Ae.monthElements[t].textContent=b(n.getMonth(),Ae.config.shorthandCurrentMonth,Ae.l10n)+" ":Ae.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()}),Ae._hidePrevMonthArrow=void 0!==Ae.config.minDate&&(Ae.currentYear===Ae.config.minDate.getFullYear()?Ae.currentMonth<=Ae.config.minDate.getMonth():Ae.currentYearAe.config.maxDate.getMonth():Ae.currentYear>Ae.config.maxDate.getFullYear()))}function Pe(e){return Ae.selectedDates.map(function(t){return Ae.formatDate(t,e)}).filter(function(e,t,n){return"range"!==Ae.config.mode||Ae.config.enableTime||n.indexOf(e)===t}).join("range"!==Ae.config.mode?Ae.config.conjunction:Ae.l10n.rangeSeparator)}function Ie(e){void 0===e&&(e=!0),void 0!==Ae.mobileInput&&Ae.mobileFormatStr&&(Ae.mobileInput.value=void 0!==Ae.latestSelectedDateObj?Ae.formatDate(Ae.latestSelectedDateObj,Ae.mobileFormatStr):""),Ae.input.value=Pe(Ae.config.dateFormat),void 0!==Ae.altInput&&(Ae.altInput.value=Pe(Ae.config.altFormat)),!1!==e&&xe("onValueUpdate")}function Se(e){var t=Ae.prevMonthNav.contains(e.target),n=Ae.nextMonthNav.contains(e.target);t||n?oe(t?-1:1):Ae.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains("arrowUp")?Ae.changeYear(Ae.currentYear+1):e.target.classList.contains("arrowDown")&&Ae.changeYear(Ae.currentYear-1)}function He(e){e.preventDefault();var t="keydown"===e.type,n=e.target;void 0!==Ae.amPM&&e.target===Ae.amPM&&(Ae.amPM.textContent=Ae.l10n.amPM[g(Ae.amPM.textContent===Ae.l10n.amPM[0])]);var i=parseFloat(n.getAttribute("min")),r=parseFloat(n.getAttribute("max")),a=parseFloat(n.getAttribute("step")),o=parseInt(n.value,10),l=o+a*(e.delta||(t?38===e.which?1:-1:0));if(void 0!==n.value&&2===n.value.length){var s=n===Ae.hourElement,u=n===Ae.minuteElement;lr&&(l=n===Ae.hourElement?l-r-g(!Ae.amPM):i,u&&z(void 0,1,Ae.hourElement)),Ae.amPM&&s&&(1===a?l+o===23:Math.abs(l-o)>a)&&(Ae.amPM.textContent=Ae.l10n.amPM[g(Ae.amPM.textContent===Ae.l10n.amPM[0])]),n.value=m(l)}}var Ae={config:f({},p,x.defaultConfig),l10n:h};Ae.parseDate=M({config:Ae.config,l10n:Ae.l10n}),Ae._handlers=[],Ae.pluginElements=[],Ae.loadedPlugins=[],Ae._bind=A,Ae._setHoursFromDate=P,Ae._positionCalendar=be,Ae.changeMonth=oe,Ae.changeYear=ue,Ae.clear=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0),Ae.input.value="",void 0!==Ae.altInput&&(Ae.altInput.value=""),void 0!==Ae.mobileInput&&(Ae.mobileInput.value=""),Ae.selectedDates=[],Ae.latestSelectedDateObj=void 0,!0===t&&(Ae.currentYear=Ae._initialDate.getFullYear(),Ae.currentMonth=Ae._initialDate.getMonth()),Ae.showTimeInput=!1,!0===Ae.config.enableTime&&I(),Ae.redraw(),e&&xe("onChange")},Ae.close=function(){Ae.isOpen=!1,Ae.isMobile||(void 0!==Ae.calendarContainer&&Ae.calendarContainer.classList.remove("open"),void 0!==Ae._input&&Ae._input.classList.remove("active")),xe("onClose")},Ae._createElement=n,Ae.destroy=function(){void 0!==Ae.config&&xe("onDestroy");for(var e=Ae._handlers.length;e--;){var t=Ae._handlers[e];t.element.removeEventListener(t.event,t.handler,t.options)}if(Ae._handlers=[],Ae.mobileInput)Ae.mobileInput.parentNode&&Ae.mobileInput.parentNode.removeChild(Ae.mobileInput),Ae.mobileInput=void 0;else if(Ae.calendarContainer&&Ae.calendarContainer.parentNode)if(Ae.config.static&&Ae.calendarContainer.parentNode){var n=Ae.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else Ae.calendarContainer.parentNode.removeChild(Ae.calendarContainer);Ae.altInput&&(Ae.input.type="text",Ae.altInput.parentNode&&Ae.altInput.parentNode.removeChild(Ae.altInput),delete Ae.altInput),Ae.input&&(Ae.input.type=Ae.input._type,Ae.input.classList.remove("flatpickr-input"),Ae.input.removeAttribute("readonly"),Ae.input.value=""),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete Ae[e]}catch(e){}})},Ae.isEnabled=ce,Ae.jumpToDate=L,Ae.open=function(e,t){if(void 0===t&&(t=Ae._positionElement),!0===Ae.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),void 0!==Ae.mobileInput&&(Ae.mobileInput.focus(),Ae.mobileInput.click()),void xe("onOpen");if(!Ae._input.disabled&&!Ae.config.inline){var n=Ae.isOpen;Ae.isOpen=!0,n||(Ae.calendarContainer.classList.add("open"),Ae._input.classList.add("active"),xe("onOpen"),be(t)),!0===Ae.config.enableTime&&!0===Ae.config.noCalendar&&(0===Ae.selectedDates.length&&me(),!1!==Ae.config.allowInput||void 0!==e&&Ae.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return Ae.hourElement.select()},50))}},Ae.redraw=we,Ae.set=function(e,t){if(null!==e&&"object"===(void 0===e?"undefined":a(e))){Object.assign(Ae.config,e);for(var n in e)void 0!==Ne[n]&&Ne[n].forEach(function(e){return e()})}else Ae.config[e]=t,void 0!==Ne[e]?Ne[e].forEach(function(e){return e()}):d.indexOf(e)>-1&&(Ae.config[e]=v(t));Ae.redraw(),Ie(!1)},Ae.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=Ae.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return Ae.clear(t);Ce(e,n),Ae.showTimeInput=Ae.selectedDates.length>0,Ae.latestSelectedDateObj=Ae.selectedDates[Ae.selectedDates.length-1],Ae.redraw(),L(),P(),0===Ae.selectedDates.length&&Ae.clear(!1),Ie(t),t&&xe("onChange")},Ae.toggle=function(e){if(!0===Ae.isOpen)return Ae.close();Ae.open(e)};var Ne={locale:[ye,re],showMonths:[ee,k,ie],minDate:[L],maxDate:[L]};return function(){Ae.element=Ae.input=u,Ae.isOpen=!1,ve(),ye(),Oe(),_e(),y(),Ae.isMobile||B(),Q(),(Ae.selectedDates.length||Ae.config.noCalendar)&&(Ae.config.enableTime&&P(Ae.config.noCalendar?Ae.latestSelectedDateObj||Ae.config.minDate:void 0),Ie(!1)),k(),Ae.showTimeInput=Ae.selectedDates.length>0||Ae.config.noCalendar;var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!Ae.isMobile&&e&&be(),xe("onReady")}(),Ae}function c(e,t){for(var n=Array.prototype.slice.call(e).filter(function(e){return e instanceof HTMLElement}),i=[],r=0;r",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},h={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},m=function(e){return("0"+e).slice(-2)},g=function(e){return!0===e?1:0},v=function(e){return e instanceof Array?e:[e]},y=function(){},b=function(e,t,n){return n.months[t?"shorthand":"longhand"][e]},w={D:y,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*g(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var i=parseInt(t),r=new Date(e.getFullYear(),0,2+7*(i-1),0,0,0,0);return r.setDate(r.getDate()-r.getDay()+n.firstDayOfWeek),r},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:y,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:y,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},D={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},k={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[k.w(e,t,n)]},F:function(e,t,n){return b(k.n(e,t,n)-1,!1,t)},G:function(e,t,n){return m(k.h(e,t,n))},H:function(e){return m(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[g(e.getHours()>11)]},M:function(e,t){return b(e.getMonth(),!0,t)},S:function(e){return m(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(e){return m(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return m(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return m(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},C=function(e){var t=e.config,n=void 0===t?p:t,i=e.l10n,r=void 0===i?h:i;return function(e,t,i){var a=i||r;return void 0!==n.formatDate?n.formatDate(e,t,a):t.split("").map(function(t,i,r){return k[t]&&"\\"!==r[i-1]?k[t](e,a,n):"\\"!==t?t:""}).join("")}},M=function(e){var t=e.config,n=void 0===t?p:t,i=e.l10n,r=void 0===i?h:i;return function(e,t,i,a){if(0===e||e){var o,l=a||r,s=e;if(e instanceof Date)o=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)o=new Date(e);else if("string"==typeof e){var u=t||(n||p).dateFormat,c=String(e).trim();if("today"===c)o=new Date,i=!0;else if(/Z$/.test(c)||/GMT$/.test(c))o=new Date(e);else if(n&&n.parseDate)o=n.parseDate(e,u);else{o=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,d=[],h=0,m=0,g="";hMath.min(t,n)&&ethis.constraints.max?(t="max",e=this.constraints.max):!1!==this.constraints.min&&e");this.data.head.map(function(n,i){var r=jQuery("");r.append(''),r.find('input[type="text"]').val(n),t.append(r)}),this.$ui.thead.append(t)}if(this.data.body.length){for(var n=jQuery(''),i=0;i');this.$ui.tbody.append(n),this.data.body.map(function(t,n){var i=jQuery("");t.map(function(t,r){var a=jQuery("");a.append(''),a.find('input[type="text"]').val(t),i.append(a)}),i.append(''),e.$ui.tbody.append(i)})}}}]),t}(),u=function(){function e(t){i(this,e);var n=this;this.fields=[];var r=t.find("[data-fieldhelpers-field-table]");r.length&&r.each(function(){n.initializeField(jQuery(this))})}return o(e,[{key:"initializeField",value:function(e){this.fields.push({$field:e,api:new s(e)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n0&&Object.keys(this.options.select2Options.language).map(function(t){var n=e.options.select2Options.language[t];e.options.select2Options.language[t]=function(e){return n}})}},{key:"setupSelect2Options",value:function(){var e=this;this.setupL10n();var t=["escapeMarkup","initSelection","matcher","query","sorter","templateResult","templateSelection","tokenizer"];Object.keys(this.options.select2Options).map(function(n){if(-1!==t.indexOf(n)){var i=e.options.select2Options[n];"function"==typeof window[i]&&(e.options.select2Options[n]=window[i])}}),this.options.optGroups&&this.options.optGroupSelectionPrefix&&void 0===this.options.select2Options.templateSelection&&(this.options.select2Options.templateSelection=function(e){return jQuery(e.element).closest("optgroup").attr("label").trim()+": "+e.text})}},{key:"fieldCleanup",value:function(){if(!this.options.select2Disabled){var e=this.$field.next(".select2");e.length&&e.remove(),this.$field.removeClass("select2-hidden-accessible").removeAttr("tablindex aria-hidden")}}},{key:"setDefault",value:function(){this.$field.find("option:selected").prop("selected",!1),this.$field.trigger("change")}}]),t}(),u=function(){function e(t){i(this,e);var n=this;this.fields=[];var r=t.find("[data-fieldhelpers-field-select]");r.length&&r.each(function(){n.initializeField(jQuery(this))})}return o(e,[{key:"initializeField",value:function(e){this.fields.push({$field:e,api:new s(e)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n", "Eric Defore " diff --git a/rbm-field-helpers.php b/rbm-field-helpers.php index f7728b4..440d813 100644 --- a/rbm-field-helpers.php +++ b/rbm-field-helpers.php @@ -9,7 +9,7 @@ if ( ! class_exists( 'RBM_FieldHelpers' ) ) { - define( 'RBM_FIELD_HELPERS_VER', '1.5.3' ); + define( 'RBM_FIELD_HELPERS_VER', '1.5.4' ); if ( strpos( wp_normalize_path( __FILE__ ), wp_normalize_path( WP_PLUGIN_DIR ) ) !== false ) {