diff --git a/.gitignore b/.gitignore index 041dcbd3..8e50420e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ var/ *.egg-info/ .installed.cfg *.egg +node_modules/ # Continer extras .vagrant @@ -54,7 +55,6 @@ coverage.xml # Django stuff: *.log -db.sqlite3 # Sphinx documentation docs/_build/ @@ -108,4 +108,5 @@ atlassian-ide-plugin.xml com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties -.vscode/ \ No newline at end of file +.vscode/ +screenshots/ diff --git a/.travis.yml b/.travis.yml index 4eca0630..8f9da399 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,18 @@ language: python python: - "3.6" + "3.8" cache: pip addons: chrome: stable + +before_install: + - export LANGUAGE=en_GB.UTF-8 install: - - wget https://chromedriver.storage.googleapis.com/2.36/chromedriver_linux64.zip + - | + latest=$(wget -qO- https://chromedriver.storage.googleapis.com/LATEST_RELEASE) + wget https://chromedriver.storage.googleapis.com/$latest/chromedriver_linux64.zip - unzip chromedriver_linux64.zip - export PATH=$PATH:$(pwd) - chmod +x chromedriver diff --git a/PyRIGS/decorators.py b/PyRIGS/decorators.py index 6d48e5e1..a21f6c41 100644 --- a/PyRIGS/decorators.py +++ b/PyRIGS/decorators.py @@ -8,7 +8,8 @@ from RIGS import models def get_oembed(login_url, request, oembed_view, kwargs): context = {} - context['oembed_url'] = "{0}://{1}{2}".format(request.scheme, request.META['HTTP_HOST'], reverse(oembed_view, kwargs=kwargs)) + context['oembed_url'] = "{0}://{1}{2}".format(request.scheme, request.META['HTTP_HOST'], + reverse(oembed_view, kwargs=kwargs)) context['login_url'] = "{0}?{1}={2}".format(login_url, REDIRECT_FIELD_NAME, request.get_full_path()) resp = render(request, 'login_redirect.html', context=context) return resp @@ -28,9 +29,11 @@ def has_oembed(oembed_view, login_url=None): return get_oembed(login_url, request, oembed_view, kwargs) else: return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, request.get_full_path())) + _checklogin.__doc__ = view_func.__doc__ _checklogin.__dict__ = view_func.__dict__ return _checklogin + return _dec @@ -60,9 +63,11 @@ def user_passes_test_with_403(test_func, login_url=None, oembed_view=None): resp = render(request, '403.html') resp.status_code = 403 return resp + _checklogin.__doc__ = view_func.__doc__ _checklogin.__dict__ = view_func.__dict__ return _checklogin + return _dec @@ -80,6 +85,7 @@ def api_key_required(function): Failed users will be given a 403 error. Should only be used for urls which include and kwargs """ + def wrap(request, *args, **kwargs): userid = kwargs.get('api_pk') @@ -101,6 +107,7 @@ def api_key_required(function): if user_object.api_key != key: return error_resp return function(request, *args, **kwargs) + return wrap @@ -108,11 +115,13 @@ def nottinghamtec_address_required(function): """ Checks that the current user has an email address ending @nottinghamtec.co.uk """ + def wrap(request, *args, **kwargs): # Fail if current user's email address isn't @nottinghamtec.co.uk if not request.user.email.endswith('@nottinghamtec.co.uk'): - error_resp = render(request, 'RIGS/eventauthorisation_request_error.html') + error_resp = render(request, 'eventauthorisation_request_error.html') return error_resp return function(request, *args, **kwargs) + return wrap diff --git a/PyRIGS/formats/en/formats.py b/PyRIGS/formats/en/formats.py index 201335b9..0c2f21d6 100644 --- a/PyRIGS/formats/en/formats.py +++ b/PyRIGS/formats/en/formats.py @@ -1,5 +1,3 @@ - - DATETIME_FORMAT = ('d/m/Y H:i') DATE_FORMAT = ('d/m/Y') TIME_FORMAT = ('H:i') diff --git a/PyRIGS/forms.py b/PyRIGS/forms.py new file mode 100644 index 00000000..e69de29b diff --git a/PyRIGS/settings.py b/PyRIGS/settings.py index 6d2fbbd6..0983721b 100644 --- a/PyRIGS/settings.py +++ b/PyRIGS/settings.py @@ -26,9 +26,10 @@ SECRET_KEY = os.environ.get('SECRET_KEY') if os.environ.get( # SECURITY WARNING: don't run with debug turned on in production! DEBUG = bool(int(os.environ.get('DEBUG'))) if os.environ.get('DEBUG') else True - STAGING = bool(int(os.environ.get('STAGING'))) if os.environ.get('STAGING') else False +CI = bool(int(os.environ.get('CI'))) if os.environ.get('CI') else False + ALLOWED_HOSTS = ['pyrigs.nottinghamtec.co.uk', 'rigs.nottinghamtec.co.uk', 'pyrigs.herokuapp.com'] if STAGING: @@ -45,7 +46,8 @@ if not DEBUG: INTERNAL_IPS = ['127.0.0.1'] -ADMINS = [('Tom Price', 'tomtom5152@gmail.com'), ('IT Manager', 'it@nottinghamtec.co.uk'), ('Arona Jones', 'arona.jones@nottinghamtec.co.uk')] +ADMINS = [('Tom Price', 'tomtom5152@gmail.com'), ('IT Manager', 'it@nottinghamtec.co.uk'), + ('Arona Jones', 'arona.jones@nottinghamtec.co.uk')] if DEBUG: ADMINS.append(('Testing Superuser', 'superuser@example.com')) @@ -57,6 +59,9 @@ INSTALLED_APPS = ( 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'django.contrib.humanize', + 'versioning', + 'users', 'RIGS', 'assets', @@ -147,6 +152,27 @@ LOGGING = { } } +# Tests lock up SQLite otherwise +if STAGING or CI: + CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache' + } + } +elif DEBUG: + CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.dummy.DummyCache' + } + } +else: + CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', + 'LOCATION': 'cache_table', + } + } + RAVEN_CONFIG = { 'dsn': os.environ.get('RAVEN_DSN'), # If you are using git, you can also automatically configure the @@ -164,8 +190,10 @@ LOGOUT_URL = '/user/logout/' ACCOUNT_ACTIVATION_DAYS = 7 # reCAPTCHA settings -RECAPTCHA_PUBLIC_KEY = os.environ.get('RECAPTCHA_PUBLIC_KEY', "6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI") # If not set, use development key -RECAPTCHA_PRIVATE_KEY = os.environ.get('RECAPTCHA_PRIVATE_KEY', "6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe") # If not set, use development key +RECAPTCHA_PUBLIC_KEY = os.environ.get('RECAPTCHA_PUBLIC_KEY', + "6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI") # If not set, use development key +RECAPTCHA_PRIVATE_KEY = os.environ.get('RECAPTCHA_PRIVATE_KEY', + "6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe") # If not set, use development key NOCAPTCHA = True SILENCED_SYSTEM_CHECKS = ['captcha.recaptcha_test_key_error'] @@ -201,10 +229,10 @@ USE_L10N = True USE_TZ = True +# Need to allow seconds as datetime-local input type spits out a time that has seconds DATETIME_INPUT_FORMATS = ('%Y-%m-%dT%H:%M', '%Y-%m-%dT%H:%M:%S') # Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/1.7/howto/static-files/ STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage' STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static/') @@ -216,7 +244,7 @@ TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ - os.path.join(BASE_DIR, 'templates'), + os.path.join(BASE_DIR, 'templates') ], 'APP_DIRS': True, 'OPTIONS': { @@ -243,3 +271,6 @@ RISK_ASSESSMENT_URL = os.environ.get('RISK_ASSESSMENT_URL') if os.environ.get( 'RISK_ASSESSMENT_URL') else "http://example.com" RISK_ASSESSMENT_SECRET = os.environ.get('RISK_ASSESSMENT_SECRET') if os.environ.get( 'RISK_ASSESSMENT_SECRET') else secrets.token_hex(15) + +IMGUR_UPLOAD_CLIENT_ID = os.environ.get('IMGUR_UPLOAD_CLIENT_ID', '') +IMGUR_UPLOAD_CLIENT_SECRET = os.environ.get('IMGUR_UPLOAD_CLIENT_SECRET', '') diff --git a/PyRIGS/tests/base.py b/PyRIGS/tests/base.py index 4beb1eeb..d8af4237 100644 --- a/PyRIGS/tests/base.py +++ b/PyRIGS/tests/base.py @@ -3,13 +3,31 @@ from selenium import webdriver from RIGS import models as rigsmodels from . import pages import os +import pytz +from datetime import date, time, datetime, timedelta +from django.conf import settings +import imgurpython +import PyRIGS.settings +import sys +import pathlib +import inspect + + +def create_datetime(year, month, day, hour, min): + tz = pytz.timezone(settings.TIME_ZONE) + return tz.localize(datetime(year, month, day, hour, min)).astimezone(pytz.utc) def create_browser(): options = webdriver.ChromeOptions() options.add_argument("--window-size=1920,1080") + # No caching, please and thank you + options.add_argument("--aggressive-cache-discard") + options.add_argument("--disk-cache-size=0") + # God Save The Queen + options.add_argument("--lang=en_GB") + options.add_argument("--headless") if os.environ.get('CI', False): - options.add_argument("--headless") options.add_argument("--no-sandbox") driver = webdriver.Chrome(options=options) return driver @@ -34,3 +52,48 @@ class AutoLoginTest(BaseTest): self.profile.save() loginPage = pages.LoginPage(self.driver, self.live_server_url).open() loginPage.login("EventTest", "EventTestPassword") + + +def screenshot_failure(func): + def wrapper_func(self, *args, **kwargs): + try: + func(self, *args, **kwargs) + except Exception as e: + screenshot_name = func.__module__ + "." + func.__qualname__ + screenshot_file = "screenshots/" + func.__qualname__ + ".png" + if not pathlib.Path("screenshots").is_dir(): + os.mkdir("screenshots") + self.driver.save_screenshot(screenshot_file) + + if settings.IMGUR_UPLOAD_CLIENT_ID != "": + config = { + 'album': None, + 'name': screenshot_name, + 'title': screenshot_name, + 'description': "" + } + client = imgurpython.ImgurClient(settings.IMGUR_UPLOAD_CLIENT_ID, settings.IMGUR_UPLOAD_CLIENT_SECRET) + image = client.upload_from_path(screenshot_file, config=config) + print("Error in test {} is at url {}".format(screenshot_name, image['link']), file=sys.stderr) + else: + print("Error in test {} is at path {}".format(screenshot_name, screenshot_file), file=sys.stderr) + raise e + return wrapper_func + + +def screenshot_failure_cls(cls): + for attr in cls.__dict__: + if callable(getattr(cls, attr)) and attr.startswith("test"): + setattr(cls, attr, screenshot_failure(getattr(cls, attr))) + return cls + + +# Checks if animation is done +class animation_is_finished(): + def __call__(self, driver): + numberAnimating = driver.execute_script('return $(":animated").length') + finished = numberAnimating == 0 + if finished: + import time + time.sleep(0.1) + return finished diff --git a/PyRIGS/tests/pages.py b/PyRIGS/tests/pages.py index 27d00a52..9fa790dc 100644 --- a/PyRIGS/tests/pages.py +++ b/PyRIGS/tests/pages.py @@ -1,4 +1,5 @@ from pypom import Page, Region +from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver import Chrome from selenium.common.exceptions import NoSuchElementException @@ -30,14 +31,19 @@ class BasePage(Page): class FormPage(BasePage): _errors_selector = (By.CLASS_NAME, "alert-danger") + _submit_locator = (By.XPATH, "//button[@type='submit' and contains(., 'Save')]") def remove_all_required(self): - self.driver.execute_script("Array.from(document.getElementsByTagName(\"input\")).forEach(function (el, ind, arr) { el.removeAttribute(\"required\")});") - self.driver.execute_script("Array.from(document.getElementsByTagName(\"select\")).forEach(function (el, ind, arr) { el.removeAttribute(\"required\")});") + self.driver.execute_script( + "Array.from(document.getElementsByTagName(\"input\")).forEach(function (el, ind, arr) { el.removeAttribute(\"required\")});") + self.driver.execute_script( + "Array.from(document.getElementsByTagName(\"select\")).forEach(function (el, ind, arr) { el.removeAttribute(\"required\")});") def submit(self): previous_errors = self.errors - self.find_element(*self._submit_locator).click() + submit = self.find_element(*self._submit_locator) + ActionChains(self.driver).move_to_element(submit).perform() + submit.click() self.wait.until(lambda x: self.errors != previous_errors or self.success) @property diff --git a/PyRIGS/tests/regions.py b/PyRIGS/tests/regions.py index 562976b5..0e2110bf 100644 --- a/PyRIGS/tests/regions.py +++ b/PyRIGS/tests/regions.py @@ -1,9 +1,12 @@ from pypom import Region +from django.utils import timezone from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions from selenium.webdriver.remote.webelement import WebElement from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.select import Select +from selenium.webdriver.common.keys import Keys +from selenium.common.exceptions import NoSuchElementException import datetime @@ -16,11 +19,22 @@ def parse_bool_from_string(string): else: return False +# 12-Hour vs 24-Hour Time. Affects widget display + + +def get_time_format(): + # Default + time_format = "%H:%M" + # If system is 12hr + if timezone.now().strftime("%p"): + time_format = "%I:%M %p" + return time_format + class BootstrapSelectElement(Region): _main_button_locator = (By.CSS_SELECTOR, 'button.dropdown-toggle') _option_box_locator = (By.CSS_SELECTOR, 'ul.dropdown-menu') - _option_locator = (By.CSS_SELECTOR, 'ul.dropdown-menu.inner>li>a[role=option]') + _option_locator = (By.CSS_SELECTOR, 'ul.dropdown-menu.inner>li>a.dropdown-item') _select_all_locator = (By.CLASS_NAME, 'bs-select-all') _deselect_all_locator = (By.CLASS_NAME, 'bs-deselect-all') _search_locator = (By.CSS_SELECTOR, '.bs-searchbox>input') @@ -32,12 +46,12 @@ class BootstrapSelectElement(Region): def toggle(self): original_state = self.is_open - return self.find_element(*self._main_button_locator).click() option_box = self.find_element(*self._option_box_locator) - if original_state: - self.wait.until(expected_conditions.invisibility_of_element_located(option_box)) + if not original_state: + self.wait.until(expected_conditions.invisibility_of_element(option_box)) else: - self.wait.until(expected_conditions.visibility_of_element_located(option_box)) + self.wait.until(expected_conditions.visibility_of(option_box)) + return self.find_element(*self._main_button_locator).click() def open(self): if not self.is_open: @@ -55,6 +69,7 @@ class BootstrapSelectElement(Region): def search(self, query): search_box = self.find_element(*self._search_locator) + self.open() search_box.clear() search_box.send_keys(query) status_text = self.find_element(*self._status_locator) @@ -112,6 +127,22 @@ class CheckBox(Region): self.toggle() +class RadioSelect(Region): # Currently only works for yes/no radio selects + def set_value(self, value): + if value: + value = "0" + else: + value = "1" + self.find_element(By.XPATH, "//label[@for='{}_{}']".format(self.root.get_attribute("id"), value)).click() + + @property + def value(self): + try: + return parse_bool_from_string(self.find_element(By.CSS_SELECTOR, '.custom-control-input:checked').get_attribute("value").lower()) + except NoSuchElementException: + return None + + class DatePicker(Region): @property def value(self): @@ -122,6 +153,32 @@ class DatePicker(Region): self.root.send_keys(value.strftime("%d%m%Y")) +class TimePicker(Region): + @property + def value(self): + return datetime.datetime.strptime(self.root.get_attribute("value"), get_time_format()) + + def set_value(self, value): + self.root.clear() + self.root.send_keys(value.strftime(get_time_format())) + + +class DateTimePicker(Region): + @property + def value(self): + return datetime.datetime.strptime(self.root.get_attribute("value"), "%Y-%m-%d " + get_time_format()) + + def set_value(self, value): + self.root.clear() + + date = value.date().strftime("%d%m%Y") + time = value.time().strftime(get_time_format()) + + self.root.send_keys(date) + self.root.send_keys(Keys.TAB) + self.root.send_keys(time) + + class SingleSelectPicker(Region): @property def value(self): @@ -155,3 +212,39 @@ class ErrorPage(Region): for error in error_items: errors[error.field_name] = error.errors return errors + + +class Modal(Region): + _submit_locator = (By.CSS_SELECTOR, '.btn-primary') + _header_selector = (By.TAG_NAME, 'h4') + + form_items = { + 'name': (TextBox, (By.ID, 'id_name')) + } + + @property + def header(self): + return self.find_element(*self._header_selector).text + + @property + def is_open(self): + return self.root.is_displayed() + + def submit(self): + self.root.find_element(*self._submit_locator).click() + + def __getattr__(self, name): + if name in self.form_items: + element = self.form_items[name] + form_element = element[0](self, self.find_element(*element[1])) + return form_element.value + else: + return super().__getattribute__(name) + + def __setattr__(self, name, value): + if name in self.form_items: + element = self.form_items[name] + form_element = element[0](self, self.find_element(*element[1])) + form_element.set_value(value) + else: + self.__dict__[name] = value diff --git a/PyRIGS/urls.py b/PyRIGS/urls.py index 9ef4fa53..b2369f9c 100644 --- a/PyRIGS/urls.py +++ b/PyRIGS/urls.py @@ -2,24 +2,36 @@ from django.urls import path from django.conf.urls import include, url from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from django.contrib.auth.decorators import login_required from django.conf import settings -from registration.backends.default.views import RegistrationView +from django.views.decorators.clickjacking import xframe_options_exempt +from django.contrib.auth.views import LoginView +from django.views.generic import TemplateView +from PyRIGS.decorators import permission_required_with_403 import RIGS -from RIGS import regbackend +import users +import versioning +from PyRIGS import views urlpatterns = [ - # Examples: - # url(r'^$', 'PyRIGS.views.home', name='home'), - # url(r'^blog/', include('blog.urls')), + path('', include('versioning.urls')), + path('', include('RIGS.urls')), + path('assets/', include('assets.urls')), - url(r'^', include('RIGS.urls')), - url('^assets/', include('assets.urls')), - url('^user/register/$', RegistrationView.as_view(form_class=RIGS.forms.ProfileRegistrationFormUniqueEmail), - name="registration_register"), - path('user/', include('django.contrib.auth.urls')), - path('user/', include('registration.backends.default.urls')), + path('', login_required(views.Index.as_view()), name='index'), - url(r'^admin/', admin.site.urls), + # API + path('api//', login_required(views.SecureAPIRequest.as_view()), + name="api_secure"), + path('api///', login_required(views.SecureAPIRequest.as_view()), + name="api_secure"), + + path('closemodal/', views.CloseModal.as_view(), name='closemodal'), + path('search_help/', views.SearchHelp.as_view(), name='search_help'), + + path('', include('users.urls')), + + path('admin/', admin.site.urls), ] if settings.DEBUG: @@ -28,4 +40,5 @@ if settings.DEBUG: import debug_toolbar urlpatterns = [ url(r'^__debug__/', include(debug_toolbar.urls)), + path('bootstrap/', TemplateView.as_view(template_name="bootstrap.html")), ] + urlpatterns diff --git a/PyRIGS/views.py b/PyRIGS/views.py new file mode 100644 index 00000000..a70e36da --- /dev/null +++ b/PyRIGS/views.py @@ -0,0 +1,247 @@ +from django.core.exceptions import PermissionDenied +from django.http.response import HttpResponseRedirect +from django.http import HttpResponse +from django.urls import reverse_lazy, reverse, NoReverseMatch +from django.views import generic +from django.contrib.auth.views import LoginView +from django.db.models import Q +from django.shortcuts import get_object_or_404 +from django.core import serializers +from django.conf import settings +import simplejson +from django.contrib import messages +import datetime +import pytz +import operator +from registration.views import RegistrationView +from django.views.decorators.csrf import csrf_exempt + +from RIGS import models, forms +from assets import models as asset_models +from functools import reduce + +from django.views.decorators.cache import never_cache, cache_page +from django.utils.decorators import method_decorator + + +# Displays the current rig count along with a few other bits and pieces +class Index(generic.TemplateView): + template_name = 'index.html' + + def get_context_data(self, **kwargs): + context = super(Index, self).get_context_data(**kwargs) + context['rig_count'] = models.Event.objects.rig_count() + return context + + +class SecureAPIRequest(generic.View): + models = { + 'venue': models.Venue, + 'person': models.Person, + 'organisation': models.Organisation, + 'profile': models.Profile, + 'event': models.Event, + 'supplier': asset_models.Supplier + } + + perms = { + 'venue': 'RIGS.view_venue', + 'person': 'RIGS.view_person', + 'organisation': 'RIGS.view_organisation', + 'profile': 'RIGS.view_profile', + 'event': None, + 'supplier': None + } + + ''' + Validate the request is allowed based on user permissions. + Raises 403 if denied. + Potential to add API key validation at a later date. + ''' + + def __validate__(self, request, key, perm): + if request.user.is_active: + if request.user.is_superuser or perm is None: + return True + elif request.user.has_perm(perm): + return True + raise PermissionDenied() + + def get(self, request, model, pk=None, param=None): + # Request permission validation things + key = request.GET.get('apikey', None) + perm = self.perms[model] + self.__validate__(request, key, perm) + + # Response format where applicable + format = request.GET.get('format', 'json') + fields = request.GET.get('fields', None) + if fields: + fields = fields.split(",") + + # Supply data for one record + if pk: + object = get_object_or_404(self.models[model], pk=pk) + data = serializers.serialize(format, [object], fields=fields) + return HttpResponse(data, content_type="application/" + format) + + # Supply data for autocomplete ajax request in json form + term = request.GET.get('q', None) + if term: + if fields is None: # Default to just name + fields = ['name'] + + # Build a list of Q objects for use later + queries = [] + for part in term.split(" "): + qs = [] + for field in fields: + q = Q(**{field + "__icontains": part}) + qs.append(q) + queries.append(reduce(operator.or_, qs)) + + # Build the data response list + results = [] + query = reduce(operator.and_, queries) + objects = self.models[model].objects.filter(query) + for o in objects: + data = { + 'pk': o.pk, + 'value': o.pk, + 'text': o.name, + } + try: # See if there is a valid update URL + data['update'] = reverse("%s_update" % model, kwargs={'pk': o.pk}) + except NoReverseMatch: + pass + results.append(data) + + # return a data response + json = simplejson.dumps(results) + return HttpResponse(json, content_type="application/json") # Always json + + start = request.GET.get('start', None) + end = request.GET.get('end', None) + + if model == "event" and start and end: + # Probably a calendar request + start_datetime = datetime.datetime.strptime(start, "%Y-%m-%dT%H:%M:%S") + end_datetime = datetime.datetime.strptime(end, "%Y-%m-%dT%H:%M:%S") + + objects = self.models[model].objects.events_in_bounds(start_datetime, end_datetime) + + results = [] + for item in objects: + data = { + 'pk': item.pk, + 'title': item.name, + 'is_rig': item.is_rig, + 'status': str(item.get_status_display()), + 'earliest': item.earliest_time.isoformat(), + 'latest': item.latest_time.isoformat(), + 'url': str(item.get_absolute_url()) + } + + results.append(data) + json = simplejson.dumps(results) + return HttpResponse(json, content_type="application/json") # Always json + + return HttpResponse(model) + + +class ModalURLMixin: + def get_close_url(self, update, detail): + if self.request.is_ajax(): + url = reverse_lazy('closemodal') + update_url = str(reverse_lazy(update, kwargs={'pk': self.object.pk})) + messages.info(self.request, "modalobject=" + serializers.serialize("json", [self.object])) + messages.info(self.request, "modalobject[0]['update_url']='" + update_url + "'") + else: + url = reverse_lazy(detail, kwargs={ + 'pk': self.object.pk, + }) + return url + + +class GenericListView(generic.ListView): + template_name = 'generic_list.html' + paginate_by = 20 + + def get_context_data(self, **kwargs): + context = super(GenericListView, self).get_context_data(**kwargs) + context['page_title'] = self.model.__name__ + "s" + if self.request.is_ajax(): + context['override'] = "base_ajax.html" + return context + + def get_queryset(self): + q = self.request.GET.get('q', "") + + filter = Q(name__icontains=q) | Q(email__icontains=q) | Q(address__icontains=q) | Q(notes__icontains=q) | Q( + phone__startswith=q) | Q(phone__endswith=q) + + # try and parse an int + try: + val = int(q) + filter = filter | Q(pk=val) + except: # noqa + # not an integer + pass + + object_list = self.model.objects.filter(filter) + + orderBy = self.request.GET.get('orderBy', "name") + if orderBy != "": + object_list = object_list.order_by(orderBy) + return object_list + + +class GenericDetailView(generic.DetailView): + template_name = "generic_detail.html" + + def get_context_data(self, **kwargs): + context = super(GenericDetailView, self).get_context_data(**kwargs) + context['page_title'] = "{} | {}".format(self.model.__name__, self.object.name) + if self.request.is_ajax(): + context['override'] = "base_ajax.html" + return context + + +class GenericUpdateView(generic.UpdateView): + template_name = "generic_form.html" + + def get_context_data(self, **kwargs): + context = super(GenericUpdateView, self).get_context_data(**kwargs) + context['page_title'] = "Edit {}".format(self.model.__name__) + if self.request.is_ajax(): + context['override'] = "base_ajax.html" + return context + + +class GenericCreateView(generic.CreateView): + template_name = "generic_form.html" + + def get_context_data(self, **kwargs): + context = super(GenericCreateView, self).get_context_data(**kwargs) + context['page_title'] = "Create {}".format(self.model.__name__) + if self.request.is_ajax(): + context['override'] = "base_ajax.html" + return context + + +class SearchHelp(generic.TemplateView): + template_name = 'search_help.html' + + +""" +Called from a modal window (e.g. when an item is submitted to an event/invoice). +May optionally also include some javascript in a success message to cause a load of +the new information onto the page. +""" + + +class CloseModal(generic.TemplateView): + template_name = 'closemodal.html' + + def get_context_data(self, **kwargs): + return {'messages': messages.get_messages(self.request)} diff --git a/PyRIGS/wsgi.py b/PyRIGS/wsgi.py index aa4cc434..ff4fa810 100644 --- a/PyRIGS/wsgi.py +++ b/PyRIGS/wsgi.py @@ -7,6 +7,7 @@ For more information on this file, see https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/ """ import os + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PyRIGS.settings") from django.core.wsgi import get_wsgi_application # noqa diff --git a/README.md b/README.md index 8c0adcbe..9d0a155c 100644 --- a/README.md +++ b/README.md @@ -1,111 +1,17 @@ # TEC PA & Lighting - PyRIGS # -[![Build Status](https://travis-ci.org/nottinghamtec/PyRIGS.svg)](https://travis-ci.org/nottinghamtec/PyRIGS) +[![Build Status](https://travis-ci.org/nottinghamtec/PyRIGS.svg?branch=master)](https://travis-ci.org/nottinghamtec/PyRIGS) [![Coverage Status](https://coveralls.io/repos/github/nottinghamtec/PyRIGS/badge.svg)](https://coveralls.io/github/nottinghamtec/PyRIGS) -Welcome to TEC PA & Lightings PyRIGS program. This is a reimplementation of the existing Rig Information Gathering System (RIGS) that was developed using Ruby on Rails. +Welcome to TEC PA & Lighting's PyRIGS program. This is a reimplementation of the previous Rig Information Gathering System (RIGS) that was developed using Ruby on Rails. PyRIGS is our in house app for the centralisation of information on our events and now assets. -The purpose of this project is to make the system more compatible and easier to understand such that should future changes be needed they can be made without having to understand the intricacies of Rails. +For setup information and other such helpful stuff check the [Wiki](https://github.com/nottinghamtec/PyRIGS/wiki) -### What is this repository for? ### -When a significant feature is developed on a branch, raise a pull request and it can be reviewed before being put into production. - -Most of the documents here assume a basic knowledge of how Python and Django work (hint, if I don't say something, Google it, you will find 10000's of answers). The documentation is purely to be specific to TEC's application of the framework. - -### Editing ### -It is recommended that you use the PyCharm IDE by JetBrains. Whilst other editors are available, this is the best for integration with Django as it can automatically manage all the pesky admin commands that frequently need running, as well as nice integration with git. - -For the more experienced developer/somebody who doesn't want a full IDE and wants it to open in less than the age of the universe, I can strongly recommend [Sublime Text](http://www.sublimetext.com/). It has a bit of a steeper learning curve, and won't manage anything Django/git related out of the box, but once you get the hang of it is by far the fastest and most powerful editor I have used (for any type of project). - -Please contact TJP for details on how to acquire these. - -### Python Environment ### -Whilst the Python version used is not critical to the running of the application, using the same version usually helps avoid a lot of issues. Orginally written with the C implementation of Python 2 (CPython 2, specifically the Python 2.7 standard), the application now runs in Python 3. - -Once you have your Python distribution installed, go ahead an follow the steps to set up a virtualenv, which will isolate the project from the system environment. - -#### PyCharm #### -If you are using the prefered PyCharm IDE, then this should be quite easy. - -1. Select "File/Settings" -> "Project Interpreter" -2. Click the small cog in the top right -3. Select "Create VirtualEnv" -4. Enter a name and a location. This doesn't matter where, just make sure it makes sense and you remember it incase you need it later (I recommend calling it "pyrigs" in "~/.virtualenvs/pyrigs") -5. Select the base interpreter to your Python 3 base interpreter (Python 2 will work, just be careful) -6. Click OK, you *don't* want to inherit global packages or make it available to all projects. -7. Open a file such as manage.py. PyCharm should winge that dependances aren't installed. This might take a while to register, but give it change. When it does, click the button to install them and let it do it's thing. If for some reason PyCharm should decide that it doesn't want to help you here, see below for the console instructions on how to do this manually. - -To run the Django application follow these steps - -1. Select "Run/Edit Configurations" -2. Create a new "Django server", give it a sensible name for when you need it later. -3. You might need to set the interpreter to be your virtualenv. -4. Click "OK" -5. Run the application - -#### Console Based #### -If you aren't using PyCharm, or want to use a console for some reason, this is really easy, there is even [virtualenvwrapper](https://virtualenvwrapper.readthedocs.org/en/latest/) to help things along. Simply run -``` -virtualenv -``` -Where dir is the directory you wish to create the virtualenv in. - -Next activate the virtualenv. -``` -Windows -/Scripts/activate.bat - -Unix -source /bin/activate -``` -Finally install the requirements using pip -``` -cd -pip install -r requirements.txt -``` -This might take a while, but be patient and you should then be ready to go. - -To run the server under normal conditions when you are already in the virtualenv (see above) -``` -python manage.py runserver -``` -Please refer to Django documentation for a full list of options available here. - -### Development using docker - -``` -docker build . -t pyrigs -docker run -it --rm -p=8000:8000 -v $(pwd):/app pyrigs -``` - -### Sample Data ### -Sample data is available to aid local development and user acceptance testing. To load this data into your local database, first ensure the database is empty: -``` -python manage.py flush -``` -Then load the sample data using the command: -``` -python manage.py generateSampleData -``` -4 user accounts are created for convenience: - -|Username |Password | -|---------|---------| -|superuser|superuser| -|finance |finance | -|keyholder|keyholder| -|basic |basic | - -### Testing ### -Tests are contained in 3 files. `RIGS/test_models.py` contains tests for logic within the data models. `RIGS/test_unit.py` contains "Live server" tests, using raw web requests. `RIGS/test_integration.py` contains user interface tests which take control of a web browser. For automated Travis tests, we use [Sauce Labs](https://saucelabs.com). When debugging locally, ensure that you have the latest version of Google Chrome installed, then install [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/) and ensure it is on the `PATH`. - -You can run the entire test suite, or you can run specific sections individually. For example, in order of specificity: - -``` -python manage.py test -python manage.py test RIGS.test_models -python manage.py test RIGS.test_models.EventTestCase -python manage.py test RIGS.test_models.EventTestCase.test_current_events - -``` +# Apps +- PyRIGS: Base app, stores 'global' information +- RIGS: Rigboard stuff - event calendar etc +- assets: Database of our kit, testing data etc +- versioning: Our custom logic built on top of django-reversion. Semi-modular. +- users: Our custom logic for registration and profiles. Semi-modular. +- training: SoonTM [![forthebadge](https://forthebadge.com/images/badges/built-with-resentment.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/contains-technical-debt.svg)](https://forthebadge.com) diff --git a/RIGS/admin.py b/RIGS/admin.py index 65442968..98fe5d7e 100644 --- a/RIGS/admin.py +++ b/RIGS/admin.py @@ -1,5 +1,6 @@ from django.contrib import admin from RIGS import models, forms +from users import forms as user_forms from django.contrib.auth.admin import UserAdmin from django.utils.translation import gettext_lazy as _ from reversion.admin import VersionAdmin @@ -18,8 +19,7 @@ from reversion import revisions as reversion admin.site.register(models.VatRate, VersionAdmin) admin.site.register(models.Event, VersionAdmin) admin.site.register(models.EventItem, VersionAdmin) -admin.site.register(models.Invoice) -admin.site.register(models.Payment) +admin.site.register(models.Invoice, VersionAdmin) def approve_user(modeladmin, request, queryset): @@ -48,8 +48,8 @@ class ProfileAdmin(UserAdmin): 'fields': ('username', 'password1', 'password2'), }), ) - form = forms.ProfileChangeForm - add_form = forms.ProfileCreationForm + form = user_forms.ProfileChangeForm + add_form = user_forms.ProfileCreationForm actions = [approve_user] @@ -105,7 +105,7 @@ class AssociateAdmin(VersionAdmin): 'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME, 'forms': forms } - return TemplateResponse(request, 'RIGS/admin_associate_merge.html', context) + return TemplateResponse(request, 'admin_associate_merge.html', context) @admin.register(models.Person) @@ -124,3 +124,13 @@ class VenueAdmin(AssociateAdmin): class OrganisationAdmin(AssociateAdmin): list_display = ('id', 'name', 'phone', 'email', 'number_of_events') merge_fields = ['name', 'phone', 'email', 'address', 'notes', 'union_account'] + + +@admin.register(models.RiskAssessment) +class RiskAssessmentAdmin(VersionAdmin): + list_display = ('id', 'event', 'reviewed_at', 'reviewed_by') + + +@admin.register(models.EventChecklist) +class EventChecklistAdmin(VersionAdmin): + list_display = ('id', 'event', 'reviewed_at', 'reviewed_by') diff --git a/RIGS/finance.py b/RIGS/finance.py index 061c81a8..cd6f8db7 100644 --- a/RIGS/finance.py +++ b/RIGS/finance.py @@ -13,23 +13,27 @@ from django.db.models import Q from z3c.rml import rml2pdf from django.db.models import Q +from django.db import transaction +import reversion + from RIGS import models from django import forms + forms.DateField.widget = forms.DateInput(attrs={'type': 'date'}) class InvoiceIndex(generic.ListView): model = models.Invoice - template_name = 'RIGS/invoice_list_active.html' + template_name = 'invoice_list.html' def get_context_data(self, **kwargs): context = super(InvoiceIndex, self).get_context_data(**kwargs) total = 0 for i in context['object_list']: total += i.balance - context['total'] = total - context['count'] = len(list(context['object_list'])) + context['page_title'] = "Outstanding Invoices ({} Events, £{:.2f})".format(len(list(context['object_list'])), total) + context['description'] = "Paperwork for these events has been sent to treasury, but the full balance has not yet appeared on a ledger" return context def get_queryset(self): @@ -51,13 +55,19 @@ class InvoiceIndex(generic.ListView): class InvoiceDetail(generic.DetailView): model = models.Invoice + template_name = 'invoice_detail.html' + + def get_context_data(self, **kwargs): + context = super(InvoiceDetail, self).get_context_data(**kwargs) + context['page_title'] = "Invoice {} ({})".format(self.object.display_id, self.object.invoice_date.strftime("%d/%m/%Y")) + return context class InvoicePrint(generic.View): def get(self, request, pk): invoice = get_object_or_404(models.Invoice, pk=pk) object = invoice.event - template = get_template('RIGS/event_print.xml') + template = get_template('event_print.xml') context = { 'object': object, @@ -69,6 +79,7 @@ class InvoicePrint(generic.View): }, 'invoice': invoice, 'current_user': request.user, + 'filename': 'Invoice {} for {} {}.pdf'.format(invoice.display_id, object.display_id, re.sub(r'[^a-zA-Z0-9 \n\.]', '', object.name)) } rml = template.render(context) @@ -77,10 +88,8 @@ class InvoicePrint(generic.View): pdfData = buffer.read() - escapedEventName = re.sub(r'[^a-zA-Z0-9 \n\.]', '', object.name) - response = HttpResponse(content_type='application/pdf') - response['Content-Disposition'] = "filename=Invoice %05d - N%05d | %s.pdf" % (invoice.pk, invoice.event.pk, escapedEventName) + response['Content-Disposition'] = 'filename="{}"'.format(context['filename']) response.write(pdfData) return response @@ -99,6 +108,7 @@ class InvoiceVoid(generic.View): class InvoiceDelete(generic.DeleteView): model = models.Invoice + template_name = 'invoice_confirm_delete.html' def get(self, request, pk): obj = self.get_object() @@ -120,9 +130,15 @@ class InvoiceDelete(generic.DeleteView): class InvoiceArchive(generic.ListView): model = models.Invoice - template_name = 'RIGS/invoice_list_archive.html' + template_name = 'invoice_list_archive.html' paginate_by = 25 + def get_context_data(self, **kwargs): + context = super(InvoiceArchive, self).get_context_data(**kwargs) + context['page_title'] = "Invoice Archive" + context['description'] = "This page displays all invoices: outstanding, paid, and void" + return context + def get_queryset(self): q = self.request.GET.get('q', "") @@ -155,15 +171,14 @@ class InvoiceArchive(generic.ListView): class InvoiceWaiting(generic.ListView): model = models.Event paginate_by = 25 - template_name = 'RIGS/event_invoice.html' + template_name = 'invoice_list_waiting.html' def get_context_data(self, **kwargs): context = super(InvoiceWaiting, self).get_context_data(**kwargs) total = 0 for obj in self.get_objects(): total += obj.sum_total - context['total'] = total - context['count'] = len(self.get_objects()) + context['page_title'] = "Events for Invoice ({} Events, £{:.2f})".format(len(self.get_objects()), total) return context def get_queryset(self): @@ -188,7 +203,10 @@ class InvoiceWaiting(generic.ListView): class InvoiceEvent(generic.View): + @transaction.atomic() + @reversion.create_revision() def get(self, *args, **kwargs): + reversion.set_user(self.request.user) epk = kwargs.get('pk') event = models.Event.objects.get(pk=epk) invoice, created = models.Invoice.objects.get_or_create(event=event) @@ -197,12 +215,18 @@ class InvoiceEvent(generic.View): invoice.invoice_date = datetime.date.today() messages.success(self.request, 'Invoice created successfully') + if kwargs.get('void'): + invoice.void = not invoice.void + invoice.save() + messages.warning(self.request, 'Invoice voided') + return HttpResponseRedirect(reverse_lazy('invoice_detail', kwargs={'pk': invoice.pk})) class PaymentCreate(generic.CreateView): model = models.Payment fields = ['invoice', 'date', 'amount', 'method'] + template_name = 'payment_form.html' def get_initial(self): initial = super(generic.CreateView, self).get_initial() @@ -213,6 +237,13 @@ class PaymentCreate(generic.CreateView): initial.update({'invoice': invoice}) return initial + @transaction.atomic() + @reversion.create_revision() + def form_valid(self, form, *args, **kwargs): + reversion.add_to_revision(form.cleaned_data['invoice']) + reversion.set_comment("Payment added") + return super().form_valid(form, *args, **kwargs) + def get_success_url(self): messages.info(self.request, "location.reload()") return reverse_lazy('closemodal') @@ -220,6 +251,14 @@ class PaymentCreate(generic.CreateView): class PaymentDelete(generic.DeleteView): model = models.Payment + template_name = 'payment_confirm_delete.html' + + @transaction.atomic() + @reversion.create_revision() + def delete(self, *args, **kwargs): + reversion.add_to_revision(self.get_object().invoice) + reversion.set_comment("Payment removed") + return super().delete(*args, **kwargs) def get_success_url(self): return self.request.POST.get('next') diff --git a/RIGS/forms.py b/RIGS/forms.py index a006bc87..b3c68ce6 100644 --- a/RIGS/forms.py +++ b/RIGS/forms.py @@ -4,69 +4,26 @@ from django.conf import settings from django.core import serializers from django.core.mail import EmailMessage, EmailMultiAlternatives from django.contrib.auth.forms import UserCreationForm, UserChangeForm, AuthenticationForm, PasswordResetForm +from django.db import transaction from registration.forms import RegistrationFormUniqueEmail from django.contrib.auth.forms import AuthenticationForm from captcha.fields import ReCaptchaField +from reversion import revisions as reversion import simplejson +from datetime import datetime +from django.utils import timezone from RIGS import models # Override the django form defaults to use the HTML date/time/datetime UI elements forms.DateField.widget = forms.DateInput(attrs={'type': 'date'}) -forms.TimeField.widget = forms.TextInput(attrs={'type': 'time'}) -forms.DateTimeField.widget = forms.DateTimeInput(attrs={'type': 'datetime-local'}) - -# Registration - - -class ProfileRegistrationFormUniqueEmail(RegistrationFormUniqueEmail): - captcha = ReCaptchaField() - - class Meta: - model = models.Profile - fields = ('username', 'email', 'first_name', 'last_name', 'initials') - - def clean_initials(self): - """ - Validate that the supplied initials are unique. - """ - if models.Profile.objects.filter(initials__iexact=self.cleaned_data['initials']): - raise forms.ValidationError("These initials are already in use. Please supply different initials.") - return self.cleaned_data['initials'] - - -class CheckApprovedForm(AuthenticationForm): - def confirm_login_allowed(self, user): - if user.is_approved or user.is_superuser: - return AuthenticationForm.confirm_login_allowed(self, user) - else: - raise forms.ValidationError("Your account hasn't been approved by an administrator yet. Please check back in a few minutes!") - - -# Embedded Login form - remove the autofocus -class EmbeddedAuthenticationForm(CheckApprovedForm): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.fields['username'].widget.attrs.pop('autofocus', None) - - -class PasswordReset(PasswordResetForm): - captcha = ReCaptchaField(label='Captcha') - - -class ProfileCreationForm(UserCreationForm): - class Meta(UserCreationForm.Meta): - model = models.Profile - - -class ProfileChangeForm(UserChangeForm): - class Meta(UserChangeForm.Meta): - model = models.Profile +forms.TimeField.widget = forms.TimeInput(attrs={'type': 'time'}, format='%H:%M') +forms.DateTimeField.widget = forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M') # Events Shit class EventForm(forms.ModelForm): - datetime_input_formats = formats.get_format_lazy("DATETIME_INPUT_FORMATS") + list(settings.DATETIME_INPUT_FORMATS) + datetime_input_formats = list(settings.DATETIME_INPUT_FORMATS) meet_at = forms.DateTimeField(input_formats=datetime_input_formats, required=False) access_at = forms.DateTimeField(input_formats=datetime_input_formats, required=False) @@ -140,8 +97,11 @@ class EventForm(forms.ModelForm): return item def clean(self): - if self.cleaned_data.get("is_rig") and not (self.cleaned_data.get('person') or self.cleaned_data.get('organisation')): - raise forms.ValidationError('You haven\'t provided any client contact details. Please add a person or organisation.', code='contact') + if self.cleaned_data.get("is_rig") and not ( + self.cleaned_data.get('person') or self.cleaned_data.get('organisation')): + raise forms.ValidationError( + 'You haven\'t provided any client contact details. Please add a person or organisation.', + code='contact') return super(EventForm, self).clean() def save(self, commit=True): @@ -195,3 +155,129 @@ class InternalClientEventAuthorisationForm(BaseClientEventAuthorisationForm): class EventAuthorisationRequestForm(forms.Form): email = forms.EmailField(required=True, label='Authoriser Email') + + +class EventRiskAssessmentForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super(EventRiskAssessmentForm, self).__init__(*args, **kwargs) + for name, field in self.fields.items(): + if str(name) == 'supervisor_consulted': + field.widget = forms.CheckboxInput() + elif field.__class__ == forms.BooleanField: + field.widget = forms.RadioSelect(choices=[ + (True, 'Yes'), + (False, 'No') + ], attrs={'class': 'custom-control-input', 'required': 'true'}) + + def clean(self): + # Check expected values + unexpected_values = [] + for field, value in models.RiskAssessment.expected_values.items(): + if self.cleaned_data.get(field) != value: + unexpected_values.append("
  • {}
  • ".format(self._meta.model._meta.get_field(field).help_text)) + if len(unexpected_values) > 0 and not self.cleaned_data.get('supervisor_consulted'): + raise forms.ValidationError("Your answers to these questions:
      {}
    require consulting with a supervisor.".format(''.join([str(elem) for elem in unexpected_values])), code='unusual_answers') + return super(EventRiskAssessmentForm, self).clean() + + class Meta: + model = models.RiskAssessment + fields = '__all__' + exclude = ['reviewed_at', 'reviewed_by'] + + +class EventChecklistForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super(EventChecklistForm, self).__init__(*args, **kwargs) + self.fields['date'].widget.format = '%Y-%m-%d' + for name, field in self.fields.items(): + if field.__class__ == forms.NullBooleanField: + # Only display yes/no to user, the 'none' is only ever set in the background + field.widget = forms.CheckboxInput() + # Parsed from incoming form data by clean, then saved into models when the form is saved + items = {} + + related_models = { + 'venue': models.Venue, + 'power_mic': models.Profile, + } + + # Two possible formats + def parsedatetime(self, date_string): + try: + return timezone.make_aware(datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S')) + except ValueError: + return timezone.make_aware(datetime.strptime(date_string, '%Y-%m-%dT%H:%M')) + + # There's probably a thousand better ways to do this, but this one is mine + def clean(self): + vehicles = {key: val for key, val in self.data.items() + if key.startswith('vehicle')} + for key in vehicles: + pk = int(key.split('_')[1]) + driver_key = 'driver_' + str(pk) + if(self.data[driver_key] == ''): + raise forms.ValidationError('Add a driver to vehicle ' + str(pk), code='vehicle_mismatch') + else: + try: + item = models.EventChecklistVehicle.objects.get(pk=pk) + except models.EventChecklistVehicle.DoesNotExist: + item = models.EventChecklistVehicle() + + item.vehicle = vehicles['vehicle_' + str(pk)] + item.driver = models.Profile.objects.get(pk=self.data[driver_key]) + item.full_clean('checklist') + + # item does not have a database pk yet as it isn't saved + self.items['v' + str(pk)] = item + + crewmembers = {key: val for key, val in self.data.items() + if key.startswith('crewmember')} + other_fields = ['start', 'role', 'end'] + for key in crewmembers: + pk = int(key.split('_')[1]) + + for field in other_fields: + value = self.data['{}_{}'.format(field, pk)] + if value == '': + raise forms.ValidationError('Add a {} to crewmember {}'.format(field, pk), code='{}_mismatch'.format(field)) + + try: + item = models.EventChecklistCrew.objects.get(pk=pk) + except models.EventChecklistCrew.DoesNotExist: + item = models.EventChecklistCrew() + + item.crewmember = models.Profile.objects.get(pk=self.data['crewmember_' + str(pk)]) + item.start = self.parsedatetime(self.data['start_' + str(pk)]) + item.role = self.data['role_' + str(pk)] + item.end = self.parsedatetime(self.data['end_' + str(pk)]) + item.full_clean('checklist') + + # item does not have a database pk yet as it isn't saved + self.items['c' + str(pk)] = item + + return super(EventChecklistForm, self).clean() + + def save(self, commit=True): + checklist = super(EventChecklistForm, self).save(commit=False) + if (commit): + # Remove all existing, to be recreated from the form + checklist.vehicles.all().delete() + checklist.crew.all().delete() + checklist.save() + + for key in self.items: + item = self.items[key] + reversion.add_to_revision(item) + # finish and save new database items + item.checklist = checklist + item.full_clean() + item.save() + + self.items.clear() + + return checklist + + class Meta: + model = models.EventChecklist + fields = '__all__' + exclude = ['reviewed_at', 'reviewed_by'] diff --git a/RIGS/hs.py b/RIGS/hs.py new file mode 100644 index 00000000..9f04150d --- /dev/null +++ b/RIGS/hs.py @@ -0,0 +1,217 @@ +from RIGS import models, forms +from django.views import generic +from django.utils import timezone +from django.http import HttpResponseRedirect +from django.urls import reverse_lazy +from reversion import revisions as reversion +from django.db.models import AutoField, ManyToOneRel +from django.contrib import messages + + +class EventRiskAssessmentCreate(generic.CreateView): + model = models.RiskAssessment + template_name = 'risk_assessment_form.html' + form_class = forms.EventRiskAssessmentForm + + def get(self, *args, **kwargs): + epk = kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + + # Check if RA exists + ra = models.RiskAssessment.objects.filter(event=event).first() + + if ra is not None: + return HttpResponseRedirect(reverse_lazy('ra_edit', kwargs={'pk': ra.pk})) + + return super(EventRiskAssessmentCreate, self).get(self) + + def get_form(self, **kwargs): + form = super(EventRiskAssessmentCreate, self).get_form(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + form.instance.event = event + return form + + def get_context_data(self, **kwargs): + context = super(EventRiskAssessmentCreate, self).get_context_data(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + context['event'] = event + context['page_title'] = 'Create Risk Assessment for Event {}'.format(event.display_id) + return context + + def get_success_url(self): + return reverse_lazy('ra_detail', kwargs={'pk': self.object.pk}) + + +class EventRiskAssessmentEdit(generic.UpdateView): + model = models.RiskAssessment + template_name = 'risk_assessment_form.html' + form_class = forms.EventRiskAssessmentForm + + def get_success_url(self): + ra = self.get_object() + ra.reviewed_by = None + ra.reviewed_at = None + ra.save() + return reverse_lazy('ra_detail', kwargs={'pk': self.object.pk}) + + def get_context_data(self, **kwargs): + context = super(EventRiskAssessmentEdit, self).get_context_data(**kwargs) + rpk = self.kwargs.get('pk') + ra = models.RiskAssessment.objects.get(pk=rpk) + context['event'] = ra.event + context['edit'] = True + context['page_title'] = 'Edit Risk Assessment for Event {}'.format(ra.event.display_id) + return context + + +class EventRiskAssessmentDetail(generic.DetailView): + model = models.RiskAssessment + template_name = 'risk_assessment_detail.html' + + +class EventRiskAssessmentList(generic.ListView): + paginate_by = 20 + model = models.RiskAssessment + template_name = 'hs_object_list.html' + + def get_context_data(self, **kwargs): + context = super(EventRiskAssessmentList, self).get_context_data(**kwargs) + context['title'] = 'Risk Assessment' + context['view'] = 'ra_detail' + context['edit'] = 'ra_edit' + context['review'] = 'ra_review' + context['perm'] = 'perms.RIGS.review_riskassessment' + context['fields'] = [n.name for n in list(self.model._meta.get_fields()) if n.name != 'reviewed_at' and n.name != 'reviewed_by' and not n.is_relation and not n.auto_created] + return context + + +class EventRiskAssessmentReview(generic.View): + def get(self, *args, **kwargs): + rpk = kwargs.get('pk') + ra = models.RiskAssessment.objects.get(pk=rpk) + with reversion.create_revision(): + reversion.set_user(self.request.user) + ra.reviewed_by = self.request.user + ra.reviewed_at = timezone.now() + ra.save() + return HttpResponseRedirect(reverse_lazy('ra_list')) + + +class EventChecklistDetail(generic.DetailView): + model = models.EventChecklist + template_name = 'event_checklist_detail.html' + + def get_context_data(self, **kwargs): + context = super(EventChecklistDetail, self).get_context_data(**kwargs) + context['page_title'] = "Event Checklist for Event {} {}".format(self.object.event.display_id, self.object.event.name) + return context + + +class EventChecklistEdit(generic.UpdateView): + model = models.EventChecklist + template_name = 'event_checklist_form.html' + form_class = forms.EventChecklistForm + + def get_success_url(self): + ec = self.get_object() + ec.reviewed_by = None + ec.reviewed_at = None + ec.save() + return reverse_lazy('ec_detail', kwargs={'pk': self.object.pk}) + + def get_context_data(self, **kwargs): + context = super(EventChecklistEdit, self).get_context_data(**kwargs) + pk = self.kwargs.get('pk') + ec = models.EventChecklist.objects.get(pk=pk) + context['event'] = ec.event + context['edit'] = True + context['page_title'] = 'Edit Event Checklist for Event {}'.format(ec.event.display_id) + form = context['form'] + # Get some other objects to include in the form. Used when there are errors but also nice and quick. + for field, model in form.related_models.items(): + value = form[field].value() + if value is not None and value != '': + context[field] = model.objects.get(pk=value) + return context + + +class EventChecklistCreate(generic.CreateView): + model = models.EventChecklist + template_name = 'event_checklist_form.html' + form_class = forms.EventChecklistForm + + # From both business logic and programming POVs, RAs must exist before ECs! + def get(self, *args, **kwargs): + epk = kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + + # Check if RA exists + ra = models.RiskAssessment.objects.filter(event=event).first() + + if ra is None: + messages.error(self.request, 'A Risk Assessment must exist prior to creating any Event Checklists for {}! Please create one now.'.format(event)) + return HttpResponseRedirect(reverse_lazy('event_ra', kwargs={'pk': epk})) + + return super(EventChecklistCreate, self).get(self) + + def get_form(self, **kwargs): + form = super(EventChecklistCreate, self).get_form(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + form.instance.event = event + return form + + def get_context_data(self, **kwargs): + context = super(EventChecklistCreate, self).get_context_data(**kwargs) + epk = self.kwargs.get('pk') + event = models.Event.objects.get(pk=epk) + context['event'] = event + context['page_title'] = 'Create Event Checklist for Event {}'.format(event.display_id) + return context + + def get_success_url(self): + return reverse_lazy('ec_detail', kwargs={'pk': self.object.pk}) + + +class EventChecklistList(generic.ListView): + paginate_by = 20 + model = models.EventChecklist + template_name = 'hs_object_list.html' + + def get_context_data(self, **kwargs): + context = super(EventChecklistList, self).get_context_data(**kwargs) + context['title'] = 'Event Checklist' + context['view'] = 'ec_detail' + context['edit'] = 'ec_edit' + context['review'] = 'ec_review' + context['perm'] = 'perms.RIGS.review_eventchecklist' + context['fields'] = [n.name for n in list(self.model._meta.get_fields()) if n.name != 'reviewed_at' and n.name != 'reviewed_by' and not n.is_relation and not n.auto_created] + return context + + +class EventChecklistReview(generic.View): + def get(self, *args, **kwargs): + rpk = kwargs.get('pk') + ec = models.EventChecklist.objects.get(pk=rpk) + with reversion.create_revision(): + reversion.set_user(self.request.user) + ec.reviewed_by = self.request.user + ec.reviewed_at = timezone.now() + ec.save() + return HttpResponseRedirect(reverse_lazy('ec_list')) + + +class HSList(generic.ListView): + paginate_by = 20 + model = models.Event + template_name = 'hs_list.html' + + def get_queryset(self): + return models.Event.objects.all().order_by('-start_date') + + def get_context_data(self, **kwargs): + context = super(HSList, self).get_context_data(**kwargs) + context['page_title'] = 'H&S Overview' + return context diff --git a/RIGS/ical.py b/RIGS/ical.py index 6317f1fb..3940390b 100644 --- a/RIGS/ical.py +++ b/RIGS/ical.py @@ -40,8 +40,10 @@ class CalendarICS(ICalFeed): return params def description(self, params): - desc = "Calendar generated by RIGS system. This includes event types: " + ('Rig, ' if params['rig'] else '') + ('Non-rig, ' if params['non-rig'] else '') + ('Dry Hire ' if params['dry-hire'] else '') + '\n' - desc = desc + "Includes events with status: " + ('Cancelled, ' if params['cancelled'] else '') + ('Provisional, ' if params['provisional'] else '') + ('Confirmed/Booked, ' if params['confirmed'] else '') + desc = "Calendar generated by RIGS system. This includes event types: " + ('Rig, ' if params['rig'] else '') + ( + 'Non-rig, ' if params['non-rig'] else '') + ('Dry Hire ' if params['dry-hire'] else '') + '\n' + desc = desc + "Includes events with status: " + ('Cancelled, ' if params['cancelled'] else '') + ( + 'Provisional, ' if params['provisional'] else '') + ('Confirmed/Booked, ' if params['confirmed'] else '') return desc @@ -72,7 +74,8 @@ class CalendarICS(ICalFeed): filter = filter & typeFilters & statusFilters - return models.Event.objects.filter(filter).order_by('-start_date').select_related('person', 'organisation', 'venue', 'mic') + return models.Event.objects.filter(filter).order_by('-start_date').select_related('person', 'organisation', + 'venue', 'mic') def item_title(self, item): title = '' @@ -99,7 +102,7 @@ class CalendarICS(ICalFeed): return item.earliest_time def item_end_datetime(self, item): - if type(item.latest_time) == datetime.date: # Ical end_datetime is non-inclusive, so add a day + if isinstance(item.latest_time, datetime.date): # Ical end_datetime is non-inclusive, so add a day return item.latest_time + datetime.timedelta(days=1) return item.latest_time @@ -117,19 +120,24 @@ class CalendarICS(ICalFeed): desc += 'Event = ' + item.name + '\n' desc += 'Venue = ' + (item.venue.name if item.venue else '---') + '\n' if item.is_rig and item.person: - desc += 'Client = ' + item.person.name + ((' for ' + item.organisation.name) if item.organisation else '') + '\n' + desc += 'Client = ' + item.person.name + ( + (' for ' + item.organisation.name) if item.organisation else '') + '\n' desc += 'Status = ' + str(item.get_status_display()) + '\n' desc += 'MIC = ' + (item.mic.name if item.mic else '---') + '\n' desc += '\n' if item.meet_at: - desc += 'Crew Meet = ' + (item.meet_at.astimezone(tz).strftime('%Y-%m-%d %H:%M') if item.meet_at else '---') + '\n' + desc += 'Crew Meet = ' + ( + item.meet_at.astimezone(tz).strftime('%Y-%m-%d %H:%M') if item.meet_at else '---') + '\n' if item.access_at: - desc += 'Access At = ' + (item.access_at.astimezone(tz).strftime('%Y-%m-%d %H:%M') if item.access_at else '---') + '\n' + desc += 'Access At = ' + ( + item.access_at.astimezone(tz).strftime('%Y-%m-%d %H:%M') if item.access_at else '---') + '\n' if item.start_date: - desc += 'Event Start = ' + item.start_date.strftime('%Y-%m-%d') + ((' ' + item.start_time.strftime('%H:%M')) if item.has_start_time else '') + '\n' + desc += 'Event Start = ' + item.start_date.strftime('%Y-%m-%d') + ( + (' ' + item.start_time.strftime('%H:%M')) if item.has_start_time else '') + '\n' if item.end_date: - desc += 'Event End = ' + item.end_date.strftime('%Y-%m-%d') + ((' ' + item.end_time.strftime('%H:%M')) if item.has_end_time else '') + '\n' + desc += 'Event End = ' + item.end_date.strftime('%Y-%m-%d') + ( + (' ' + item.end_time.strftime('%H:%M')) if item.has_end_time else '') + '\n' desc += '\n' if item.description: diff --git a/RIGS/importer_tests.py b/RIGS/importer_tests.py deleted file mode 100644 index 36485f25..00000000 --- a/RIGS/importer_tests.py +++ /dev/null @@ -1,28 +0,0 @@ -__author__ = 'ghost' - -import unittest -from importer import fix_email - - -class EmailFixerTest(unittest.TestCase): - def test_correct(self): - e = fix_email("tom@ghost.uk.net") - self.assertEqual(e, "tom@ghost.uk.net") - - def test_partial(self): - e = fix_email("psytp") - self.assertEqual(e, "psytp@nottingham.ac.uk") - - def test_none(self): - old = None - new = fix_email(old) - self.assertEqual(old, new) - - def test_empty(self): - old = "" - new = fix_email(old) - self.assertEqual(old, new) - - -if __name__ == '__main__': - unittest.main() diff --git a/RIGS/management/commands/generateSampleRIGSData.py b/RIGS/management/commands/generateSampleRIGSData.py index 6b543971..f88e4f25 100644 --- a/RIGS/management/commands/generateSampleRIGSData.py +++ b/RIGS/management/commands/generateSampleRIGSData.py @@ -20,6 +20,7 @@ class Command(BaseCommand): keyholder_group = None finance_group = None + hs_group = None def handle(self, *args, **options): from django.conf import settings @@ -27,7 +28,8 @@ class Command(BaseCommand): if not (settings.DEBUG or settings.STAGING): raise CommandError('You cannot run this command in production') - random.seed('Some object to seed the random number generator') # otherwise it is done by time, which could lead to inconsistant tests + random.seed( + 'Some object to seed the random number generator') # otherwise it is done by time, which could lead to inconsistant tests with transaction.atomic(): models.VatRate.objects.create(start_at='2014-03-05', rate=0.20, comment='test1') @@ -45,8 +47,18 @@ class Command(BaseCommand): self.setupUsefulProfiles() def setupPeople(self): - names = ["Regulus Black", "Sirius Black", "Lavender Brown", "Cho Chang", "Vincent Crabbe", "Vincent Crabbe", "Bartemius Crouch", "Fleur Delacour", "Cedric Diggory", "Alberforth Dumbledore", "Albus Dumbledore", "Dudley Dursley", "Petunia Dursley", "Vernon Dursley", "Argus Filch", "Seamus Finnigan", "Nicolas Flamel", "Cornelius Fudge", "Goyle", "Gregory Goyle", "Hermione Granger", "Rubeus Hagrid", "Igor Karkaroff", "Viktor Krum", "Bellatrix Lestrange", "Alice Longbottom", "Frank Longbottom", "Neville Longbottom", "Luna Lovegood", "Xenophilius Lovegood", # noqa - "Remus Lupin", "Draco Malfoy", "Lucius Malfoy", "Narcissa Malfoy", "Olympe Maxime", "Minerva McGonagall", "Mad-Eye Moody", "Peter Pettigrew", "Harry Potter", "James Potter", "Lily Potter", "Quirinus Quirrell", "Tom Riddle", "Mary Riddle", "Lord Voldemort", "Rita Skeeter", "Severus Snape", "Nymphadora Tonks", "Dolores Janes Umbridge", "Arthur Weasley", "Bill Weasley", "Charlie Weasley", "Fred Weasley", "George Weasley", "Ginny Weasley", "Molly Weasley", "Percy Weasley", "Ron Weasley", "Dobby", "Fluffy", "Hedwig", "Moaning Myrtle", "Aragog", "Grawp"] # noqa + names = ["Regulus Black", "Sirius Black", "Lavender Brown", "Cho Chang", "Vincent Crabbe", "Vincent Crabbe", + "Bartemius Crouch", "Fleur Delacour", "Cedric Diggory", "Alberforth Dumbledore", "Albus Dumbledore", + "Dudley Dursley", "Petunia Dursley", "Vernon Dursley", "Argus Filch", "Seamus Finnigan", + "Nicolas Flamel", "Cornelius Fudge", "Goyle", "Gregory Goyle", "Hermione Granger", "Rubeus Hagrid", + "Igor Karkaroff", "Viktor Krum", "Bellatrix Lestrange", "Alice Longbottom", "Frank Longbottom", + "Neville Longbottom", "Luna Lovegood", "Xenophilius Lovegood", # noqa + "Remus Lupin", "Draco Malfoy", "Lucius Malfoy", "Narcissa Malfoy", "Olympe Maxime", + "Minerva McGonagall", "Mad-Eye Moody", "Peter Pettigrew", "Harry Potter", "James Potter", + "Lily Potter", "Quirinus Quirrell", "Tom Riddle", "Mary Riddle", "Lord Voldemort", "Rita Skeeter", + "Severus Snape", "Nymphadora Tonks", "Dolores Janes Umbridge", "Arthur Weasley", "Bill Weasley", + "Charlie Weasley", "Fred Weasley", "George Weasley", "Ginny Weasley", "Molly Weasley", "Percy Weasley", + "Ron Weasley", "Dobby", "Fluffy", "Hedwig", "Moaning Myrtle", "Aragog", "Grawp"] # noqa for i, name in enumerate(names): with reversion.create_revision(): reversion.set_user(random.choice(self.profiles)) @@ -68,8 +80,32 @@ class Command(BaseCommand): self.people.append(newPerson) def setupOrganisations(self): - names = ["Acme, inc.", "Widget Corp", "123 Warehousing", "Demo Company", "Smith and Co.", "Foo Bars", "ABC Telecom", "Fake Brothers", "QWERTY Logistics", "Demo, inc.", "Sample Company", "Sample, inc", "Acme Corp", "Allied Biscuit", "Ankh-Sto Associates", "Extensive Enterprise", "Galaxy Corp", "Globo-Chem", "Mr. Sparkle", "Globex Corporation", "LexCorp", "LuthorCorp", "North Central Positronics", "Omni Consimer Products", "Praxis Corporation", "Sombra Corporation", "Sto Plains Holdings", "Tessier-Ashpool", "Wayne Enterprises", "Wentworth Industries", "ZiffCorp", "Bluth Company", "Strickland Propane", "Thatherton Fuels", "Three Waters", "Water and Power", "Western Gas & Electric", "Mammoth Pictures", "Mooby Corp", "Gringotts", "Thrift Bank", "Flowers By Irene", "The Legitimate Businessmens Club", "Osato Chemicals", "Transworld Consortium", "Universal Export", "United Fried Chicken", "Virtucon", "Kumatsu Motors", "Keedsler Motors", "Powell Motors", "Industrial Automation", "Sirius Cybernetics Corporation", "U.S. Robotics and Mechanical Men", "Colonial Movers", "Corellian Engineering Corporation", "Incom Corporation", "General Products", "Leeding Engines Ltd.", "Blammo", # noqa - "Input, Inc.", "Mainway Toys", "Videlectrix", "Zevo Toys", "Ajax", "Axis Chemical Co.", "Barrytron", "Carrys Candles", "Cogswell Cogs", "Spacely Sprockets", "General Forge and Foundry", "Duff Brewing Company", "Dunder Mifflin", "General Services Corporation", "Monarch Playing Card Co.", "Krustyco", "Initech", "Roboto Industries", "Primatech", "Sonky Rubber Goods", "St. Anky Beer", "Stay Puft Corporation", "Vandelay Industries", "Wernham Hogg", "Gadgetron", "Burleigh and Stronginthearm", "BLAND Corporation", "Nordyne Defense Dynamics", "Petrox Oil Company", "Roxxon", "McMahon and Tate", "Sixty Second Avenue", "Charles Townsend Agency", "Spade and Archer", "Megadodo Publications", "Rouster and Sideways", "C.H. Lavatory and Sons", "Globo Gym American Corp", "The New Firm", "SpringShield", "Compuglobalhypermeganet", "Data Systems", "Gizmonic Institute", "Initrode", "Taggart Transcontinental", "Atlantic Northern", "Niagular", "Plow King", "Big Kahuna Burger", "Big T Burgers and Fries", "Chez Quis", "Chotchkies", "The Frying Dutchman", "Klimpys", "The Krusty Krab", "Monks Diner", "Milliways", "Minuteman Cafe", "Taco Grande", "Tip Top Cafe", "Moes Tavern", "Central Perk", "Chasers"] # noqa + names = ["Acme, inc.", "Widget Corp", "123 Warehousing", "Demo Company", "Smith and Co.", "Foo Bars", + "ABC Telecom", "Fake Brothers", "QWERTY Logistics", "Demo, inc.", "Sample Company", "Sample, inc", + "Acme Corp", "Allied Biscuit", "Ankh-Sto Associates", "Extensive Enterprise", "Galaxy Corp", + "Globo-Chem", "Mr. Sparkle", "Globex Corporation", "LexCorp", "LuthorCorp", + "North Central Positronics", "Omni Consimer Products", "Praxis Corporation", "Sombra Corporation", + "Sto Plains Holdings", "Tessier-Ashpool", "Wayne Enterprises", "Wentworth Industries", "ZiffCorp", + "Bluth Company", "Strickland Propane", "Thatherton Fuels", "Three Waters", "Water and Power", + "Western Gas & Electric", "Mammoth Pictures", "Mooby Corp", "Gringotts", "Thrift Bank", + "Flowers By Irene", "The Legitimate Businessmens Club", "Osato Chemicals", "Transworld Consortium", + "Universal Export", "United Fried Chicken", "Virtucon", "Kumatsu Motors", "Keedsler Motors", + "Powell Motors", "Industrial Automation", "Sirius Cybernetics Corporation", + "U.S. Robotics and Mechanical Men", "Colonial Movers", "Corellian Engineering Corporation", + "Incom Corporation", "General Products", "Leeding Engines Ltd.", "Blammo", # noqa + "Input, Inc.", "Mainway Toys", "Videlectrix", "Zevo Toys", "Ajax", "Axis Chemical Co.", "Barrytron", + "Carrys Candles", "Cogswell Cogs", "Spacely Sprockets", "General Forge and Foundry", + "Duff Brewing Company", "Dunder Mifflin", "General Services Corporation", "Monarch Playing Card Co.", + "Krustyco", "Initech", "Roboto Industries", "Primatech", "Sonky Rubber Goods", "St. Anky Beer", + "Stay Puft Corporation", "Vandelay Industries", "Wernham Hogg", "Gadgetron", + "Burleigh and Stronginthearm", "BLAND Corporation", "Nordyne Defense Dynamics", "Petrox Oil Company", + "Roxxon", "McMahon and Tate", "Sixty Second Avenue", "Charles Townsend Agency", "Spade and Archer", + "Megadodo Publications", "Rouster and Sideways", "C.H. Lavatory and Sons", "Globo Gym American Corp", + "The New Firm", "SpringShield", "Compuglobalhypermeganet", "Data Systems", "Gizmonic Institute", + "Initrode", "Taggart Transcontinental", "Atlantic Northern", "Niagular", "Plow King", + "Big Kahuna Burger", "Big T Burgers and Fries", "Chez Quis", "Chotchkies", "The Frying Dutchman", + "Klimpys", "The Krusty Krab", "Monks Diner", "Milliways", "Minuteman Cafe", "Taco Grande", + "Tip Top Cafe", "Moes Tavern", "Central Perk", "Chasers"] # noqa for i, name in enumerate(names): with reversion.create_revision(): reversion.set_user(random.choice(self.profiles)) @@ -93,8 +129,18 @@ class Command(BaseCommand): self.organisations.append(newOrganisation) def setupVenues(self): - names = ["Bear Island", "Crossroads Inn", "Deepwood Motte", "The Dreadfort", "The Eyrie", "Greywater Watch", "The Iron Islands", "Karhold", "Moat Cailin", "Oldstones", "Raventree Hall", "Riverlands", "The Ruby Ford", "Saltpans", "Seagard", "Torrhen's Square", "The Trident", "The Twins", "The Vale of Arryn", "The Whispering Wood", "White Harbor", "Winterfell", "The Arbor", "Ashemark", "Brightwater Keep", "Casterly Rock", "Clegane's Keep", "Dragonstone", "Dorne", "God's Eye", "The Golden Tooth", # noqa - "Harrenhal", "Highgarden", "Horn Hill", "Fingers", "King's Landing", "Lannisport", "Oldtown", "Rainswood", "Storm's End", "Summerhall", "Sunspear", "Tarth", "Castle Black", "Craster's Keep", "Fist of the First Men", "The Frostfangs", "The Gift", "The Skirling Pass", "The Wall", "Asshai", "Astapor", "Braavos", "The Dothraki Sea", "Lys", "Meereen", "Myr", "Norvos", "Pentos", "Qarth", "Qohor", "The Red Waste", "Tyrosh", "Vaes Dothrak", "Valyria", "Village of the Lhazareen", "Volantis", "Yunkai"] # noqa + names = ["Bear Island", "Crossroads Inn", "Deepwood Motte", "The Dreadfort", "The Eyrie", "Greywater Watch", + "The Iron Islands", "Karhold", "Moat Cailin", "Oldstones", "Raventree Hall", "Riverlands", + "The Ruby Ford", "Saltpans", "Seagard", "Torrhen's Square", "The Trident", "The Twins", + "The Vale of Arryn", "The Whispering Wood", "White Harbor", "Winterfell", "The Arbor", "Ashemark", + "Brightwater Keep", "Casterly Rock", "Clegane's Keep", "Dragonstone", "Dorne", "God's Eye", + "The Golden Tooth", # noqa + "Harrenhal", "Highgarden", "Horn Hill", "Fingers", "King's Landing", "Lannisport", "Oldtown", + "Rainswood", "Storm's End", "Summerhall", "Sunspear", "Tarth", "Castle Black", "Craster's Keep", + "Fist of the First Men", "The Frostfangs", "The Gift", "The Skirling Pass", "The Wall", "Asshai", + "Astapor", "Braavos", "The Dothraki Sea", "Lys", "Meereen", "Myr", "Norvos", "Pentos", "Qarth", + "Qohor", "The Red Waste", "Tyrosh", "Vaes Dothrak", "Valyria", "Village of the Lhazareen", "Volantis", + "Yunkai"] # noqa for i, name in enumerate(names): with reversion.create_revision(): reversion.set_user(random.choice(self.profiles)) @@ -120,6 +166,7 @@ class Command(BaseCommand): def setupGroups(self): self.keyholder_group = Group.objects.create(name='Keyholders') self.finance_group = Group.objects.create(name='Finance') + self.hs_group = Group.objects.create(name='H&S') keyholderPerms = ["add_event", "change_event", "view_event", "add_eventitem", "change_eventitem", "delete_eventitem", @@ -127,10 +174,17 @@ class Command(BaseCommand): "add_person", "change_person", "view_person", "view_profile", "add_venue", "change_venue", "view_venue", "add_asset", "change_asset", "delete_asset", - "asset_finance", "view_asset", "view_supplier", "asset_finance", - "add_supplier"] + "view_asset", "view_supplier", "change_supplier", "asset_finance", + "add_supplier", "view_cabletype", "change_cabletype", + "add_cabletype", "view_eventchecklist", "change_eventchecklist", + "add_eventchecklist", "view_riskassessment", "change_riskassessment", + "add_riskassessment", "add_eventchecklistcrew", "change_eventchecklistcrew", + "delete_eventchecklistcrew", "view_eventchecklistcrew", "add_eventchecklistvehicle", + "change_eventchecklistvehicle", + "delete_eventchecklistvehicle", "view_eventchecklistvehicle", ] financePerms = keyholderPerms + ["add_invoice", "change_invoice", "view_invoice", "add_payment", "change_payment", "delete_payment"] + hsPerms = keyholderPerms + ["review_riskassessment", "review_eventchecklist"] for permId in keyholderPerms: self.keyholder_group.permissions.add(Permission.objects.get(codename=permId)) @@ -138,10 +192,15 @@ class Command(BaseCommand): for permId in financePerms: self.finance_group.permissions.add(Permission.objects.get(codename=permId)) + for permId in hsPerms: + self.hs_group.permissions.add(Permission.objects.get(codename=permId)) + def setupGenericProfiles(self): - names = ["Clara Oswin Oswald", "Rory Williams", "Amy Pond", "River Song", "Martha Jones", "Donna Noble", "Jack Harkness", "Mickey Smith", "Rose Tyler"] + names = ["Clara Oswin Oswald", "Rory Williams", "Amy Pond", "River Song", "Martha Jones", "Donna Noble", + "Jack Harkness", "Mickey Smith", "Rose Tyler"] for i, name in enumerate(names): - newProfile = models.Profile.objects.create(username=name.replace(" ", ""), first_name=name.split(" ")[0], last_name=name.split(" ")[-1], + newProfile = models.Profile.objects.create(username=name.replace(" ", ""), first_name=name.split(" ")[0], + last_name=name.split(" ")[-1], email=name.replace(" ", "") + "@example.com", initials="".join([j[0].upper() for j in name.split()])) if i % 2 == 0: @@ -151,44 +210,68 @@ class Command(BaseCommand): self.profiles.append(newProfile) def setupUsefulProfiles(self): - superUser = models.Profile.objects.create(username="superuser", first_name="Super", last_name="User", initials="SU", - email="superuser@example.com", is_superuser=True, is_active=True, is_staff=True) + superUser = models.Profile.objects.create(username="superuser", first_name="Super", last_name="User", + initials="SU", + email="superuser@example.com", is_superuser=True, is_active=True, + is_staff=True) superUser.set_password('superuser') superUser.save() - financeUser = models.Profile.objects.create(username="finance", first_name="Finance", last_name="User", initials="FU", - email="financeuser@example.com", is_active=True) + financeUser = models.Profile.objects.create(username="finance", first_name="Finance", last_name="User", + initials="FU", + email="financeuser@example.com", is_active=True, is_approved=True) financeUser.groups.add(self.finance_group) financeUser.groups.add(self.keyholder_group) financeUser.set_password('finance') financeUser.save() - keyholderUser = models.Profile.objects.create(username="keyholder", first_name="Keyholder", last_name="User", initials="KU", - email="keyholderuser@example.com", is_active=True) + hsUser = models.Profile.objects.create(username="hs", first_name="HS", last_name="User", + initials="HSU", + email="hsuser@example.com", is_active=True, is_approved=True) + hsUser.groups.add(self.hs_group) + hsUser.groups.add(self.keyholder_group) + hsUser.set_password('hs') + hsUser.save() + + keyholderUser = models.Profile.objects.create(username="keyholder", first_name="Keyholder", last_name="User", + initials="KU", + email="keyholderuser@example.com", is_active=True, is_approved=True) keyholderUser.groups.add(self.keyholder_group) keyholderUser.set_password('keyholder') keyholderUser.save() basicUser = models.Profile.objects.create(username="basic", first_name="Basic", last_name="User", initials="BU", - email="basicuser@example.com", is_active=True) + email="basicuser@example.com", is_active=True, is_approved=True) basicUser.set_password('basic') basicUser.save() def setupEvents(self): - names = ["Outdoor Concert", "Hall Open Mic Night", "Festival", "Weekend Event", "Magic Show", "Society Ball", "Evening Show", "Talent Show", "Acoustic Evening", "Hire of Things", "SU Event", - "End of Term Show", "Theatre Show", "Outdoor Fun Day", "Summer Carnival", "Open Days", "Magic Show", "Awards Ceremony", "Debating Event", "Club Night", "DJ Evening", "Building Projection", "Choir Concert"] - descriptions = ["A brief desciption of the event", "This event is boring", "Probably wont happen", "Warning: this has lots of kit"] - notes = ["The client came into the office at some point", "Who knows if this will happen", "Probably should check this event", "Maybe not happening", "Run away!"] + names = ["Outdoor Concert", "Hall Open Mic Night", "Festival", "Weekend Event", "Magic Show", "Society Ball", + "Evening Show", "Talent Show", "Acoustic Evening", "Hire of Things", "SU Event", + "End of Term Show", "Theatre Show", "Outdoor Fun Day", "Summer Carnival", "Open Days", "Magic Show", + "Awards Ceremony", "Debating Event", "Club Night", "DJ Evening", "Building Projection", + "Choir Concert"] + descriptions = ["A brief description of the event", "This event is boring", "Probably wont happen", + "Warning: this has lots of kit"] + notes = ["The client came into the office at some point", "Who knows if this will happen", + "Probably should check this event", "Maybe not happening", "Run away!"] - itemOptions = [{'name': 'Speakers', 'description': 'Some really really big speakers \n these are very loud', 'quantity': 2, 'cost': 200.00}, - {'name': 'Projector', 'description': 'Some kind of video thinamejig, probably with unnecessary processing for free', 'quantity': 1, 'cost': 500.00}, - {'name': 'Lighting Desk', 'description': 'Cannot provide guarentee that it will work', 'quantity': 1, 'cost': 200.52}, - {'name': 'Moving lights', 'description': 'Flashy lights, with the copper', 'quantity': 8, 'cost': 50.00}, - {'name': 'Microphones', 'description': 'Make loud noise \n you will want speakers with this', 'quantity': 5, 'cost': 0.50}, - {'name': 'Sound Mixer Thing', 'description': 'Might be analogue, might be digital', 'quantity': 1, 'cost': 100.00}, - {'name': 'Electricity', 'description': 'You need this', 'quantity': 1, 'cost': 200.00}, - {'name': 'Crew', 'description': 'Costs nothing, because reasons', 'quantity': 1, 'cost': 0.00}, - {'name': 'Loyalty Discount', 'description': 'Have some negative moneys', 'quantity': 1, 'cost': -50.00}] + itemOptions = [ + {'name': 'Speakers', 'description': 'Some really really big speakers \n these are very loud', 'quantity': 2, + 'cost': 200.00}, + {'name': 'Projector', + 'description': 'Some kind of video thinamejig, probably with unnecessary processing for free', + 'quantity': 1, 'cost': 500.00}, + {'name': 'Lighting Desk', 'description': 'Cannot provide guarentee that it will work', 'quantity': 1, + 'cost': 200.52}, + {'name': 'Moving lights', 'description': 'Flashy lights, with the copper', 'quantity': 8, 'cost': 50.00}, + {'name': 'Microphones', 'description': 'Make loud noise \n you will want speakers with this', 'quantity': 5, + 'cost': 0.50}, + {'name': 'Sound Mixer Thing', 'description': 'Might be analogue, might be digital', 'quantity': 1, + 'cost': 100.00}, + {'name': 'Electricity', 'description': 'You need this', 'quantity': 1, 'cost': 200.00}, + {'name': 'Crew', 'description': 'Costs nothing, because reasons', 'quantity': 1, 'cost': 0.00}, + {'name': 'Loyalty Discount', 'description': 'Have some negative moneys', 'quantity': 1, 'cost': -50.00}] dayDelta = -120 # start adding events from 4 months ago @@ -226,7 +309,8 @@ class Command(BaseCommand): newEvent.venue = random.choice(self.venues) # Could have any status, equally weighted - newEvent.status = random.choice([models.Event.BOOKED, models.Event.CONFIRMED, models.Event.PROVISIONAL, models.Event.CANCELLED]) + newEvent.status = random.choice( + [models.Event.BOOKED, models.Event.CONFIRMED, models.Event.PROVISIONAL, models.Event.CANCELLED]) newEvent.dry_hire = (random.randint(0, 7) == 0) # 1 in 7 are dry hire @@ -257,4 +341,5 @@ class Command(BaseCommand): if newEvent.status is models.Event.CANCELLED: # void cancelled events newInvoice.void = True elif random.randint(0, 2) > 1: # 1 in 3 have been paid - models.Payment.objects.create(invoice=newInvoice, amount=newInvoice.balance, date=datetime.date.today()) + models.Payment.objects.create(invoice=newInvoice, amount=newInvoice.balance, + date=datetime.date.today()) diff --git a/RIGS/migrations/0039_auto_20210123_1910.py b/RIGS/migrations/0039_auto_20210123_1910.py new file mode 100644 index 00000000..0b995e30 --- /dev/null +++ b/RIGS/migrations/0039_auto_20210123_1910.py @@ -0,0 +1,190 @@ +# Generated by Django 3.1.2 on 2021-01-23 19:10 + +import RIGS.models +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('RIGS', '0038_auto_20200306_2000'), + ] + + operations = [ + migrations.CreateModel( + name='EventChecklist', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date', models.DateField()), + ('safe_parking', models.BooleanField(blank=True, help_text='Vehicles parked safely?
    (does not obstruct venue access)', null=True)), + ('safe_packing', models.BooleanField(blank=True, help_text='Equipment packed away safely?
    (including flightcases)', null=True)), + ('exits', models.BooleanField(blank=True, help_text='Emergency exits clear?', null=True)), + ('trip_hazard', models.BooleanField(blank=True, help_text='Appropriate barriers around kit and cabling secured?', null=True)), + ('warning_signs', models.BooleanField(blank=True, help_text='Warning signs in place?
    (strobe, smoke, power etc.)')), + ('ear_plugs', models.BooleanField(blank=True, help_text='Ear plugs issued to crew where needed?', null=True)), + ('hs_location', models.CharField(blank=True, help_text='Location of Safety Bag/Box', max_length=255, null=True)), + ('extinguishers_location', models.CharField(blank=True, help_text='Location of fire extinguishers', max_length=255, null=True)), + ('rcds', models.BooleanField(blank=True, help_text='RCDs installed where needed and tested?', null=True)), + ('supply_test', models.BooleanField(blank=True, help_text='Electrical supplies tested?
    (using socket tester)', null=True)), + ('earthing', models.BooleanField(blank=True, help_text='Equipment appropriately earthed?
    (truss, stage, generators etc)', null=True)), + ('pat', models.BooleanField(blank=True, help_text='All equipment in PAT period?', null=True)), + ('source_rcd', models.BooleanField(blank=True, help_text='Source RCD protected?
    (if cable is more than 3m long) ', null=True)), + ('labelling', models.BooleanField(blank=True, help_text='Appropriate and clear labelling on distribution and cabling?', null=True)), + ('fd_voltage_l1', models.IntegerField(blank=True, help_text='L1 - N', null=True, verbose_name='First Distro Voltage L1-N')), + ('fd_voltage_l2', models.IntegerField(blank=True, help_text='L2 - N', null=True, verbose_name='First Distro Voltage L2-N')), + ('fd_voltage_l3', models.IntegerField(blank=True, help_text='L3 - N', null=True, verbose_name='First Distro Voltage L3-N')), + ('fd_phase_rotation', models.BooleanField(blank=True, help_text='Phase Rotation
    (if required)', null=True, verbose_name='Phase Rotation')), + ('fd_earth_fault', models.IntegerField(blank=True, help_text='Earth Fault Loop Impedance (ZS)', null=True, verbose_name='Earth Fault Loop Impedance')), + ('fd_pssc', models.IntegerField(blank=True, help_text='Prospective Short Circuit Current', null=True, verbose_name='PSCC')), + ('w1_description', models.CharField(blank=True, help_text='Description', max_length=255, null=True)), + ('w1_polarity', models.BooleanField(blank=True, help_text='Polarity Checked?', null=True)), + ('w1_voltage', models.IntegerField(blank=True, help_text='Voltage', null=True)), + ('w1_earth_fault', models.IntegerField(blank=True, help_text='Earth Fault Loop Impedance (ZS)', null=True)), + ('w2_description', models.CharField(blank=True, help_text='Description', max_length=255, null=True)), + ('w2_polarity', models.BooleanField(blank=True, help_text='Polarity Checked?', null=True)), + ('w2_voltage', models.IntegerField(blank=True, help_text='Voltage', null=True)), + ('w2_earth_fault', models.IntegerField(blank=True, help_text='Earth Fault Loop Impedance (ZS)', null=True)), + ('w3_description', models.CharField(blank=True, help_text='Description', max_length=255, null=True)), + ('w3_polarity', models.BooleanField(blank=True, help_text='Polarity Checked?', null=True)), + ('w3_voltage', models.IntegerField(blank=True, help_text='Voltage', null=True)), + ('w3_earth_fault', models.IntegerField(blank=True, help_text='Earth Fault Loop Impedance (ZS)', null=True)), + ('all_rcds_tested', models.BooleanField(blank=True, help_text='All circuit RCDs tested?
    (using test button)', null=True)), + ('public_sockets_tested', models.BooleanField(blank=True, help_text='Public/Performer accessible circuits tested?
    (using socket tester)', null=True)), + ('reviewed_at', models.DateTimeField(null=True)), + ], + options={ + 'ordering': ['event'], + 'permissions': [('review_eventchecklist', 'Can review Event Checklists')], + }, + bases=(models.Model, RIGS.models.RevisionMixin), + ), + migrations.CreateModel( + name='EventChecklistCrew', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('role', models.CharField(max_length=255)), + ('start', models.DateTimeField()), + ('end', models.DateTimeField()), + ('checklist', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='crew', to='RIGS.eventchecklist')), + ], + bases=(models.Model, RIGS.models.RevisionMixin), + ), + migrations.CreateModel( + name='EventChecklistVehicle', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('vehicle', models.CharField(max_length=255)), + ('checklist', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='vehicles', to='RIGS.eventchecklist')), + ], + bases=(models.Model, RIGS.models.RevisionMixin), + ), + migrations.CreateModel( + name='RiskAssessment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nonstandard_equipment', models.BooleanField(help_text="Does the event require any hired in equipment or use of equipment that is not covered by TEC's standard risk assessments and method statements?")), + ('nonstandard_use', models.BooleanField(help_text='Are TEC using their equipment in a way that is abnormal?
    i.e. Not covered by TECs standard health and safety documentation')), + ('contractors', models.BooleanField(help_text='Are you using any external contractors?
    i.e. Freelancers/Crewing Companies')), + ('other_companies', models.BooleanField(help_text='Are TEC working with any other companies on site?
    e.g. TEC is providing the lighting while another company does sound')), + ('crew_fatigue', models.BooleanField(help_text='Is crew fatigue likely to be a risk at any point during this event?')), + ('general_notes', models.TextField(blank=True, help_text='Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?', null=True)), + ('big_power', models.BooleanField(help_text='Does the event require larger power supplies than 13A or 16A single phase wall sockets, or draw more than 20A total current?')), + ('outside', models.BooleanField(help_text='Is the event outdoors?')), + ('generators', models.BooleanField(help_text='Will generators be used?')), + ('other_companies_power', models.BooleanField(help_text='Will TEC be supplying power to any other companies?')), + ('nonstandard_equipment_power', models.BooleanField(help_text='Does the power plan require the use of any power equipment (distros, dimmers, motor controllers, etc.) that does not belong to TEC?')), + ('multiple_electrical_environments', models.BooleanField(help_text='Will the electrical installation occupy more than one electrical environment?')), + ('power_notes', models.TextField(blank=True, help_text='Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?', null=True)), + ('power_plan', models.URLField(blank=True, help_text="Upload your power plan to the Sharepoint and submit a link", null=True, validators=[RIGS.models.validate_url])), + ('noise_monitoring', models.BooleanField(help_text='Does the event require noise monitoring or any non-standard procedures in order to comply with health and safety legislation or site rules?')), + ('sound_notes', models.TextField(blank=True, help_text='Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?', null=True)), + ('known_venue', models.BooleanField(help_text='Is this venue new to you (the MIC) or new to TEC?')), + ('safe_loading', models.BooleanField(help_text='Are there any issues preventing a safe load in or out? (e.g. sufficient lighting, flat, not in a crowded area etc.)')), + ('safe_storage', models.BooleanField(help_text='Are there any problems with safe and secure equipment storage?')), + ('area_outside_of_control', models.BooleanField(help_text="Is any part of the work area out of TEC's direct control or openly accessible during the build or breakdown period?")), + ('barrier_required', models.BooleanField(help_text='Is there a requirement for TEC to provide any barrier for security or protection of persons/equipment?')), + ('nonstandard_emergency_procedure', models.BooleanField(help_text="Does the emergency procedure for the event differ from TEC's standard procedures?")), + ('special_structures', models.BooleanField(help_text='Does the event require use of winch stands, motors, MPT Towers, or staging?')), + ('suspended_structures', models.BooleanField(help_text="Are any structures (excluding projector screens and IWBs) being suspended from TEC's structures?")), + ('persons_responsible_structures', models.TextField(blank=True, help_text='Who are the persons on site responsible for their use?', null=True)), + ('rigging_plan', models.URLField(blank=True, help_text="Upload your rigging plan to the Sharepoint and submit a link", null=True, validators=[RIGS.models.validate_url])), + ('reviewed_at', models.DateTimeField(null=True)), + ('supervisor_consulted', models.BooleanField(null=True)), + ], + options={ + 'ordering': ['event'], + 'permissions': [('review_riskassessment', 'Can review Risk Assessments')], + }, + bases=(models.Model, RIGS.models.RevisionMixin), + ), + migrations.RemoveField( + model_name='eventcrew', + name='event', + ), + migrations.RemoveField( + model_name='eventcrew', + name='user', + ), + migrations.DeleteModel( + name='RIGSVersion', + ), + migrations.RemoveField( + model_name='event', + name='risk_assessment_edit_url', + ), + migrations.AlterField( + model_name='profile', + name='first_name', + field=models.CharField(blank=True, max_length=150, verbose_name='first name'), + ), + migrations.DeleteModel( + name='EventCrew', + ), + migrations.AddField( + model_name='riskassessment', + name='event', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='RIGS.event'), + ), + migrations.AddField( + model_name='riskassessment', + name='power_mic', + field=models.ForeignKey(blank=True, help_text='Who is the Power MIC? (if yes to the above question, this person must be a Power Technician or Power Supervisor)', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='power_mic', to=settings.AUTH_USER_MODEL, verbose_name='Power MIC'), + ), + migrations.AddField( + model_name='riskassessment', + name='reviewed_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Reviewer'), + ), + migrations.AddField( + model_name='eventchecklistvehicle', + name='driver', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='vehicles', to=settings.AUTH_USER_MODEL), + ), + migrations.AddField( + model_name='eventchecklistcrew', + name='crewmember', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='crewed', to=settings.AUTH_USER_MODEL), + ), + migrations.AddField( + model_name='eventchecklist', + name='event', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='checklists', to='RIGS.event'), + ), + migrations.AddField( + model_name='eventchecklist', + name='power_mic', + field=models.ForeignKey(blank=True, help_text='Who is the Power MIC?', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='checklists', to=settings.AUTH_USER_MODEL, verbose_name='Power MIC'), + ), + migrations.AddField( + model_name='eventchecklist', + name='reviewed_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Reviewer'), + ), + migrations.AddField( + model_name='eventchecklist', + name='venue', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='RIGS.venue'), + ), + ] diff --git a/RIGS/models.py b/RIGS/models.py index 2b22da05..a075d9aa 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -1,8 +1,8 @@ import datetime import hashlib -import datetime import pytz +from django import forms from django.db import models from django.contrib.auth.models import AbstractUser from django.conf import settings @@ -19,14 +19,16 @@ from decimal import Decimal from django.core.exceptions import ValidationError from django.urls import reverse_lazy +from urllib.parse import urlparse + -# Create your models here. class Profile(AbstractUser): initials = models.CharField(max_length=5, unique=True, null=True, blank=False) phone = models.CharField(max_length=13, null=True, blank=True) api_key = models.CharField(max_length=40, blank=True, editable=False, null=True) is_approved = models.BooleanField(default=False) - last_emailed = models.DateTimeField(blank=True, null=True) # Currently only populated by the admin approval email. TODO: Populate it each time we send any email, might need that... + last_emailed = models.DateTimeField(blank=True, + null=True) # Currently only populated by the admin approval email. TODO: Populate it each time we send any email, might need that... @classmethod def make_api_key(cls): @@ -39,7 +41,8 @@ class Profile(AbstractUser): def profile_picture(self): url = "" if settings.USE_GRAVATAR or settings.USE_GRAVATAR is None: - url = "https://www.gravatar.com/avatar/" + hashlib.md5(self.email.encode('utf-8')).hexdigest() + "?d=wavatar&s=500" + url = "https://www.gravatar.com/avatar/" + hashlib.md5( + self.email.encode('utf-8')).hexdigest() + "?d=wavatar&s=500" return url @property @@ -64,8 +67,15 @@ class Profile(AbstractUser): def __str__(self): return self.name +# TODO move to versioning - currently get import errors with that + class RevisionMixin(object): + @property + def is_first_version(self): + versions = Version.objects.get_for_object(self) + return len(versions) == 1 + @property def current_version(self): version = Version.objects.get_for_object(self).select_related('revision').first() @@ -93,7 +103,6 @@ class RevisionMixin(object): return "V{0} | R{1}".format(version.pk, version.revision.pk) -@reversion.register class Person(models.Model, RevisionMixin): name = models.CharField(max_length=50) phone = models.CharField(max_length=15, blank=True, null=True) @@ -130,7 +139,6 @@ class Person(models.Model, RevisionMixin): return reverse_lazy('person_detail', kwargs={'pk': self.pk}) -@reversion.register class Organisation(models.Model, RevisionMixin): name = models.CharField(max_length=50) phone = models.CharField(max_length=15, blank=True, null=True) @@ -190,6 +198,8 @@ class VatRate(models.Model, RevisionMixin): objects = VatManager() + reversion_hide = True + @property def as_percent(self): return self.rate * 100 @@ -202,7 +212,6 @@ class VatRate(models.Model, RevisionMixin): return self.comment + " " + str(self.start_at) + " @ " + str(self.as_percent) + "%" -@reversion.register class Venue(models.Model, RevisionMixin): name = models.CharField(max_length=255) phone = models.CharField(max_length=15, blank=True, null=True) @@ -229,12 +238,18 @@ class Venue(models.Model, RevisionMixin): class EventManager(models.Manager): def current_events(self): events = self.filter( - (models.Q(start_date__gte=timezone.now().date(), end_date__isnull=True, dry_hire=False) & ~models.Q(status=Event.CANCELLED)) | # Starts after with no end - (models.Q(end_date__gte=timezone.now().date(), dry_hire=False) & ~models.Q(status=Event.CANCELLED)) | # Ends after - (models.Q(dry_hire=True, start_date__gte=timezone.now().date()) & ~models.Q(status=Event.CANCELLED)) | # Active dry hire - (models.Q(dry_hire=True, checked_in_by__isnull=True) & (models.Q(status=Event.BOOKED) | models.Q(status=Event.CONFIRMED))) | # Active dry hire GT + (models.Q(start_date__gte=timezone.now().date(), end_date__isnull=True, dry_hire=False) & ~models.Q( + status=Event.CANCELLED)) | # Starts after with no end + (models.Q(end_date__gte=timezone.now().date(), dry_hire=False) & ~models.Q( + status=Event.CANCELLED)) | # Ends after + (models.Q(dry_hire=True, start_date__gte=timezone.now().date()) & ~models.Q( + status=Event.CANCELLED)) | # Active dry hire + (models.Q(dry_hire=True, checked_in_by__isnull=True) & ( + models.Q(status=Event.BOOKED) | models.Q(status=Event.CONFIRMED))) | # Active dry hire GT models.Q(status=Event.CANCELLED, start_date__gte=timezone.now().date()) # Canceled but not started - ).order_by('start_date', 'end_date', 'start_time', 'end_time', 'meet_at').select_related('person', 'organisation', 'venue', 'mic') + ).order_by('start_date', 'end_date', 'start_time', 'end_time', 'meet_at').select_related('person', + 'organisation', + 'venue', 'mic') return events def events_in_bounds(self, start, end): @@ -263,9 +278,7 @@ class EventManager(models.Manager): (models.Q(end_date__gte=timezone.now().date(), dry_hire=False, is_rig=True) & ~models.Q( status=Event.CANCELLED)) | # Ends after (models.Q(dry_hire=True, start_date__gte=timezone.now().date(), is_rig=True) & ~models.Q( - status=Event.CANCELLED)) | # Active dry hire - (models.Q(dry_hire=True, checked_in_by__isnull=True, is_rig=True) & ( - models.Q(status=Event.BOOKED) | models.Q(status=Event.CONFIRMED))) # Active dry hire GT + status=Event.CANCELLED)) # Active dry hire ).count() return event_count @@ -306,7 +319,8 @@ class Event(models.Model, RevisionMixin): meet_info = models.CharField(max_length=255, blank=True, null=True) # Crew management - checked_in_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True, null=True, on_delete=models.CASCADE) + checked_in_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_checked_in', blank=True, null=True, + on_delete=models.CASCADE) mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='event_mic', blank=True, null=True, verbose_name="MIC", on_delete=models.CASCADE) @@ -321,8 +335,12 @@ class Event(models.Model, RevisionMixin): auth_request_at = models.DateTimeField(null=True, blank=True) auth_request_to = models.EmailField(null=True, blank=True) - # Risk assessment info - risk_assessment_edit_url = models.CharField(verbose_name="risk assessment", max_length=255, blank=True, null=True) + @property + def display_id(self): + if self.is_rig: + return str("N%05d" % self.pk) + else: + return self.pk # Calculated values """ @@ -331,17 +349,6 @@ class Event(models.Model, RevisionMixin): @property def sum_total(self): - # Manual querying is required for efficiency whilst maintaining floating point arithmetic - # if connection.vendor == 'postgresql': - # sql = "SELECT SUM(quantity * cost) AS sum_total FROM \"RIGS_eventitem\" WHERE event_id=%i" % self.id - # else: - # sql = "SELECT id, SUM(quantity * cost) AS sum_total FROM RIGS_eventitem WHERE event_id=%i" % self.id - # total = self.items.raw(sql)[0] - # if total.sum_total: - # return total.sum_total - # total = 0.0 - # for item in self.items.filter(cost__gt=0).extra(select="SUM(cost * quantity) AS sum"): - # total += item.sum total = EventItem.objects.filter(event=self).aggregate( sum_total=models.Sum(models.F('cost') * models.F('quantity'), output_field=models.DecimalField(max_digits=10, decimal_places=2)) @@ -375,8 +382,8 @@ class Event(models.Model, RevisionMixin): return (self.status == self.BOOKED or self.status == self.CONFIRMED) @property - def authorised(self): - return not self.internal and self.purchase_order or self.authorisation.amount == self.total + def hs_done(self): + return self.riskassessment is not None and len(self.checklists.all()) > 0 @property def has_start_time(self): @@ -440,7 +447,14 @@ class Event(models.Model, RevisionMixin): @property def internal(self): - return self.organisation and self.organisation.union_account + return bool(self.organisation and self.organisation.union_account) + + @property + def authorised(self): + if self.internal: + return self.authorisation.amount == self.total + else: + return bool(self.purchase_order) objects = EventManager() @@ -448,16 +462,26 @@ class Event(models.Model, RevisionMixin): return reverse_lazy('event_detail', kwargs={'pk': self.pk}) def __str__(self): - return str(self.pk) + ": " + self.name + return "{}: {}".format(self.display_id, self.name) def clean(self): + errdict = {} if self.end_date and self.start_date > self.end_date: - raise ValidationError('Unless you\'ve invented time travel, the event can\'t finish before it has started.') + errdict['end_date'] = ['Unless you\'ve invented time travel, the event can\'t finish before it has started.'] startEndSameDay = not self.end_date or self.end_date == self.start_date hasStartAndEnd = self.has_start_time and self.has_end_time if startEndSameDay and hasStartAndEnd and self.start_time > self.end_time: - raise ValidationError('Unless you\'ve invented time travel, the event can\'t finish before it has started.') + errdict['end_time'] = ['Unless you\'ve invented time travel, the event can\'t finish before it has started.'] + + if self.access_at is not None: + if self.access_at.date() > self.start_date: + errdict['access_at'] = ['Regardless of what some clients might think, access time cannot be after the event has started.'] + elif self.start_time is not None and self.start_date == self.access_at.date() and self.access_at.time() > self.start_time: + errdict['access_at'] = ['Regardless of what some clients might think, access time cannot be after the event has started.'] + + if errdict != {}: # If there was an error when validation + raise ValidationError(errdict) def save(self, *args, **kwargs): """Call :meth:`full_clean` before saving.""" @@ -465,7 +489,8 @@ class Event(models.Model, RevisionMixin): super(Event, self).save(*args, **kwargs) -class EventItem(models.Model): +@reversion.register +class EventItem(models.Model, RevisionMixin): event = models.ForeignKey('Event', related_name='items', blank=True, on_delete=models.CASCADE) name = models.CharField(max_length=255) description = models.TextField(blank=True, null=True) @@ -473,6 +498,8 @@ class EventItem(models.Model): cost = models.DecimalField(max_digits=10, decimal_places=2) order = models.IntegerField() + reversion_hide = True + @property def total_cost(self): return self.cost * self.quantity @@ -483,14 +510,9 @@ class EventItem(models.Model): def __str__(self): return str(self.event.pk) + "." + str(self.order) + ": " + self.event.name + " | " + self.name - -class EventCrew(models.Model): - event = models.ForeignKey('Event', related_name='crew', on_delete=models.CASCADE) - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - rig = models.BooleanField(default=False) - run = models.BooleanField(default=False) - derig = models.BooleanField(default=False) - notes = models.TextField(blank=True, null=True) + @property + def activity_feed_string(self): + return str("item {}".format(self.name)) @reversion.register @@ -508,14 +530,17 @@ class EventAuthorisation(models.Model, RevisionMixin): @property def activity_feed_string(self): - return str("N%05d" % self.event.pk + ' (requested by ' + self.sent_by.initials + ')') + return "{} (requested by {})".format(self.event.display_id, self.sent_by.initials) -class Invoice(models.Model): +@reversion.register(follow=['payment_set']) +class Invoice(models.Model, RevisionMixin): event = models.OneToOneField('Event', on_delete=models.CASCADE) invoice_date = models.DateField(auto_now_add=True) void = models.BooleanField(default=False) + reversion_perm = 'RIGS.view_invoice' + @property def sum_total(self): return self.event.sum_total @@ -539,14 +564,26 @@ class Invoice(models.Model): def is_closed(self): return self.balance == 0 or self.void + def get_absolute_url(self): + return reverse_lazy('invoice_detail', kwargs={'pk': self.pk}) + + @property + def activity_feed_string(self): + return "#{} for Event {}".format(self.display_id, "N%05d" % self.event.pk) + def __str__(self): return "%i: %s (%.2f)" % (self.pk, self.event, self.balance) + @property + def display_id(self): + return "{:05d}".format(self.pk) + class Meta: ordering = ['-invoice_date'] -class Payment(models.Model): +@reversion.register +class Payment(models.Model, RevisionMixin): CASH = 'C' INTERNAL = 'I' EXTERNAL = 'E' @@ -565,5 +602,239 @@ class Payment(models.Model): amount = models.DecimalField(max_digits=10, decimal_places=2, help_text='Please use ex. VAT') method = models.CharField(max_length=2, choices=METHODS, null=True, blank=True) + reversion_hide = True + def __str__(self): return "%s: %d" % (self.get_method_display(), self.amount) + + @property + def activity_feed_string(self): + return str("payment of £{}".format(self.amount)) + + +def validate_url(value): + if not value: + return # Required error is done the field + obj = urlparse(value) + if obj.hostname not in ('nottinghamtec.sharepoint.com'): + raise ValidationError('URL must point to a location on the TEC Sharepoint') + + +@reversion.register +class RiskAssessment(models.Model, RevisionMixin): + SMALL = (0, 'Small') + MEDIUM = (1, 'Medium') + LARGE = (2, 'Large') + SIZES = (SMALL, MEDIUM, LARGE) + + event = models.OneToOneField('Event', on_delete=models.CASCADE) + # General + nonstandard_equipment = models.BooleanField(help_text="Does the event require any hired in equipment or use of equipment that is not covered by " + "TEC's standard risk assessments and method statements?") + nonstandard_use = models.BooleanField(help_text="Are TEC using their equipment in a way that is abnormal?
    i.e. Not covered by TECs standard health and safety documentation") + contractors = models.BooleanField(help_text="Are you using any external contractors?
    i.e. Freelancers/Crewing Companies") + other_companies = models.BooleanField(help_text="Are TEC working with any other companies on site?
    e.g. TEC is providing the lighting while another company does sound") + crew_fatigue = models.BooleanField(help_text="Is crew fatigue likely to be a risk at any point during this event?") + general_notes = models.TextField(blank=True, null=True, help_text="Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?") + + # Power + # event_size = models.IntegerField(blank=True, null=True, choices=SIZES) + big_power = models.BooleanField(help_text="Does the event require larger power supplies than 13A or 16A single phase wall sockets, or draw more than 20A total current?") + # If yes to the above two, you must answer... + power_mic = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='power_mic', blank=True, null=True, + verbose_name="Power MIC", on_delete=models.CASCADE, help_text="Who is the Power MIC? (if yes to the above question, this person must be a Power Technician or Power Supervisor)") + outside = models.BooleanField(help_text="Is the event outdoors?") + generators = models.BooleanField(help_text="Will generators be used?") + other_companies_power = models.BooleanField(help_text="Will TEC be supplying power to any other companies?") + nonstandard_equipment_power = models.BooleanField(help_text="Does the power plan require the use of any power equipment (distros, dimmers, motor controllers, etc.) that does not belong to TEC?") + multiple_electrical_environments = models.BooleanField(help_text="Will the electrical installation occupy more than one electrical environment?") + power_notes = models.TextField(blank=True, null=True, help_text="Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?") + power_plan = models.URLField(blank=True, null=True, help_text="Upload your power plan to the Sharepoint and submit a link", validators=[validate_url]) + + # Sound + noise_monitoring = models.BooleanField(help_text="Does the event require noise monitoring or any non-standard procedures in order to comply with health and safety legislation or site rules?") + sound_notes = models.TextField(blank=True, null=True, help_text="Did you have to consult a supervisor about any of the above? If so who did you consult and what was the outcome?") + + # Site + known_venue = models.BooleanField(help_text="Is this venue new to you (the MIC) or new to TEC?") + safe_loading = models.BooleanField(help_text="Are there any issues preventing a safe load in or out? (e.g. sufficient lighting, flat, not in a crowded area etc.)") + safe_storage = models.BooleanField(help_text="Are there any problems with safe and secure equipment storage?") + area_outside_of_control = models.BooleanField(help_text="Is any part of the work area out of TEC's direct control or openly accessible during the build or breakdown period?") + barrier_required = models.BooleanField(help_text="Is there a requirement for TEC to provide any barrier for security or protection of persons/equipment?") + nonstandard_emergency_procedure = models.BooleanField(help_text="Does the emergency procedure for the event differ from TEC's standard procedures?") + + # Structures + special_structures = models.BooleanField(help_text="Does the event require use of winch stands, motors, MPT Towers, or staging?") + suspended_structures = models.BooleanField(help_text="Are any structures (excluding projector screens and IWBs) being suspended from TEC's structures?") + persons_responsible_structures = models.TextField(blank=True, null=True, help_text="Who are the persons on site responsible for their use?") + rigging_plan = models.URLField(blank=True, null=True, help_text="Upload your rigging plan to the Sharepoint and submit a link", validators=[validate_url]) + + # Blimey that was a lot of options + + reviewed_at = models.DateTimeField(null=True) + reviewed_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, + verbose_name="Reviewer", on_delete=models.CASCADE) + + supervisor_consulted = models.BooleanField(null=True) + + expected_values = { + 'nonstandard_equipment': False, + 'nonstandard_use': False, + 'contractors': False, + 'other_companies': False, + 'crew_fatigue': False, + 'big_power': False, + 'generators': False, + 'other_companies_power': False, + 'nonstandard_equipment_power': False, + 'multiple_electrical_environments': False, + 'noise_monitoring': False, + 'known_venue': False, + 'safe_loading': False, + 'safe_storage': False, + 'area_outside_of_control': False, + 'barrier_required': False, + 'nonstandard_emergency_procedure': False, + 'special_structures': False, + 'suspended_structures': False, + } + inverted_fields = {key: value for (key, value) in expected_values.items() if not value}.keys() + + def clean(self): + # Check for idiots + if not self.outside and self.generators: + raise forms.ValidationError("Engage brain, please. No generators indoors!(!)") + + class Meta: + ordering = ['event'] + permissions = [ + ('review_riskassessment', 'Can review Risk Assessments') + ] + + @property + def event_size(self): + # Confirm event size. Check all except generators, since generators entails outside + if self.outside or self.other_companies_power or self.nonstandard_equipment_power or self.multiple_electrical_environments: + return self.LARGE[0] + elif self.big_power: + return self.MEDIUM[0] + else: + return self.SMALL[0] + + @property + def activity_feed_string(self): + return str(self.event) + + def get_absolute_url(self): + return reverse_lazy('ra_detail', kwargs={'pk': self.pk}) + + def __str__(self): + return "%i - %s" % (self.pk, self.event) + + +@reversion.register(follow=['vehicles', 'crew']) +class EventChecklist(models.Model, RevisionMixin): + event = models.ForeignKey('Event', related_name='checklists', on_delete=models.CASCADE) + + # General + power_mic = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name='checklists', + verbose_name="Power MIC", on_delete=models.CASCADE, help_text="Who is the Power MIC?") + venue = models.ForeignKey('Venue', on_delete=models.CASCADE) + date = models.DateField() + + # Safety Checks + safe_parking = models.BooleanField(blank=True, null=True, help_text="Vehicles parked safely?
    (does not obstruct venue access)") + safe_packing = models.BooleanField(blank=True, null=True, help_text="Equipment packed away safely?
    (including flightcases)") + exits = models.BooleanField(blank=True, null=True, help_text="Emergency exits clear?") + trip_hazard = models.BooleanField(blank=True, null=True, help_text="Appropriate barriers around kit and cabling secured?") + warning_signs = models.BooleanField(blank=True, help_text="Warning signs in place?
    (strobe, smoke, power etc.)") + ear_plugs = models.BooleanField(blank=True, null=True, help_text="Ear plugs issued to crew where needed?") + hs_location = models.CharField(blank=True, null=True, max_length=255, help_text="Location of Safety Bag/Box") + extinguishers_location = models.CharField(blank=True, null=True, max_length=255, help_text="Location of fire extinguishers") + + # Small Electrical Checks + rcds = models.BooleanField(blank=True, null=True, help_text="RCDs installed where needed and tested?") + supply_test = models.BooleanField(blank=True, null=True, help_text="Electrical supplies tested?
    (using socket tester)") + + # Shared electrical checks + earthing = models.BooleanField(blank=True, null=True, help_text="Equipment appropriately earthed?
    (truss, stage, generators etc)") + pat = models.BooleanField(blank=True, null=True, help_text="All equipment in PAT period?") + + # Medium Electrical Checks + source_rcd = models.BooleanField(blank=True, null=True, help_text="Source RCD protected?
    (if cable is more than 3m long) ") + labelling = models.BooleanField(blank=True, null=True, help_text="Appropriate and clear labelling on distribution and cabling?") + # First Distro + fd_voltage_l1 = models.IntegerField(blank=True, null=True, verbose_name="First Distro Voltage L1-N", help_text="L1 - N") + fd_voltage_l2 = models.IntegerField(blank=True, null=True, verbose_name="First Distro Voltage L2-N", help_text="L2 - N") + fd_voltage_l3 = models.IntegerField(blank=True, null=True, verbose_name="First Distro Voltage L3-N", help_text="L3 - N") + fd_phase_rotation = models.BooleanField(blank=True, null=True, verbose_name="Phase Rotation", help_text="Phase Rotation
    (if required)") + fd_earth_fault = models.IntegerField(blank=True, null=True, verbose_name="Earth Fault Loop Impedance", help_text="Earth Fault Loop Impedance (ZS)") + fd_pssc = models.IntegerField(blank=True, null=True, verbose_name="PSCC", help_text="Prospective Short Circuit Current") + # Worst case points + w1_description = models.CharField(blank=True, null=True, max_length=255, help_text="Description") + w1_polarity = models.BooleanField(blank=True, null=True, help_text="Polarity Checked?") + w1_voltage = models.IntegerField(blank=True, null=True, help_text="Voltage") + w1_earth_fault = models.IntegerField(blank=True, null=True, help_text="Earth Fault Loop Impedance (ZS)") + w2_description = models.CharField(blank=True, null=True, max_length=255, help_text="Description") + w2_polarity = models.BooleanField(blank=True, null=True, help_text="Polarity Checked?") + w2_voltage = models.IntegerField(blank=True, null=True, help_text="Voltage") + w2_earth_fault = models.IntegerField(blank=True, null=True, help_text="Earth Fault Loop Impedance (ZS)") + w3_description = models.CharField(blank=True, null=True, max_length=255, help_text="Description") + w3_polarity = models.BooleanField(blank=True, null=True, help_text="Polarity Checked?") + w3_voltage = models.IntegerField(blank=True, null=True, help_text="Voltage") + w3_earth_fault = models.IntegerField(blank=True, null=True, help_text="Earth Fault Loop Impedance (ZS)") + + all_rcds_tested = models.BooleanField(blank=True, null=True, help_text="All circuit RCDs tested?
    (using test button)") + public_sockets_tested = models.BooleanField(blank=True, null=True, help_text="Public/Performer accessible circuits tested?
    (using socket tester)") + + reviewed_at = models.DateTimeField(null=True) + reviewed_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, + verbose_name="Reviewer", on_delete=models.CASCADE) + + inverted_fields = [] + + class Meta: + ordering = ['event'] + permissions = [ + ('review_eventchecklist', 'Can review Event Checklists') + ] + + @property + def activity_feed_string(self): + return str(self.event) + + def get_absolute_url(self): + return reverse_lazy('ec_detail', kwargs={'pk': self.pk}) + + def __str__(self): + return "%i - %s" % (self.pk, self.event) + + +@reversion.register +class EventChecklistVehicle(models.Model, RevisionMixin): + checklist = models.ForeignKey('EventChecklist', related_name='vehicles', blank=True, on_delete=models.CASCADE) + vehicle = models.CharField(max_length=255) + driver = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='vehicles', on_delete=models.CASCADE) + + reversion_hide = True + + def __str__(self): + return "{} driven by {}".format(self.vehicle, str(self.driver)) + + +@reversion.register +class EventChecklistCrew(models.Model, RevisionMixin): + checklist = models.ForeignKey('EventChecklist', related_name='crew', blank=True, on_delete=models.CASCADE) + crewmember = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='crewed', on_delete=models.CASCADE) + role = models.CharField(max_length=255) + start = models.DateTimeField() + end = models.DateTimeField() + + reversion_hide = True + + def clean(self): + if self.start > self.end: + raise ValidationError('Unless you\'ve invented time travel, crew can\'t finish before they have started.') + + def __str__(self): + return "{} ({})".format(str(self.crewmember), self.role) diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 6aeff551..c3c9594f 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -6,12 +6,13 @@ import urllib.parse from django.contrib.staticfiles.storage import staticfiles_storage from django.core.mail import EmailMessage, EmailMultiAlternatives from django.views import generic -from django.urls import reverse_lazy from django.shortcuts import get_object_or_404 +from django.http import HttpResponseRedirect from django.template import RequestContext from django.template.loader import get_template from django.conf import settings from django.urls import reverse +from django.urls import reverse_lazy from django.core import signing from django.http import HttpResponse from django.core.exceptions import SuspiciousOperation @@ -19,6 +20,7 @@ from django.db.models import Q from django.contrib import messages from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt +from django.utils import timezone from z3c.rml import rml2pdf from PyPDF2 import PdfFileMerger, PdfFileReader import simplejson @@ -34,7 +36,7 @@ __author__ = 'ghost' class RigboardIndex(generic.TemplateView): - template_name = 'RIGS/rigboard.html' + template_name = 'rigboard.html' def get_context_data(self, **kwargs): # get super context @@ -42,11 +44,12 @@ class RigboardIndex(generic.TemplateView): # call out method to get current events context['events'] = models.Event.objects.current_events() + context['page_title'] = "Rigboard" return context class WebCalendar(generic.TemplateView): - template_name = 'RIGS/calendar.html' + template_name = 'calendar.html' def get_context_data(self, **kwargs): context = super(WebCalendar, self).get_context_data(**kwargs) @@ -56,6 +59,7 @@ class WebCalendar(generic.TemplateView): class EventDetail(generic.DetailView): + template_name = 'event_detail.html' model = models.Event @@ -78,39 +82,22 @@ class EventOembed(generic.View): class EventEmbed(EventDetail): - template_name = 'RIGS/event_embed.html' - - -class EventRA(generic.base.RedirectView): - permanent = False - - def get_redirect_url(self, *args, **kwargs): - event = get_object_or_404(models.Event, pk=kwargs['pk']) - - if event.risk_assessment_edit_url: - return event.risk_assessment_edit_url - - params = { - 'entry.708610078': f'N{event.pk:05}', - 'entry.905899507': event.name, - 'entry.139491562': event.venue.name if event.venue else '', - 'entry.1689826056': event.start_date.strftime('%Y-%m-%d') + ((' - ' + event.end_date.strftime('%Y-%m-%d')) if event.end_date else ''), - 'entry.902421165': event.mic.name if event.mic else '' - } - return settings.RISK_ASSESSMENT_URL + "?" + urllib.parse.urlencode(params) + template_name = 'event_embed.html' class EventCreate(generic.CreateView): model = models.Event form_class = forms.EventForm + template_name = 'event_form.html' def get_context_data(self, **kwargs): context = super(EventCreate, self).get_context_data(**kwargs) + context['page_title'] = "New Event" context['edit'] = True context['currentVAT'] = models.VatRate.objects.current_rate() form = context['form'] - if re.search(r'"-\d+"', form['items_json'].value()): + if hasattr(form, 'items_json') and re.search(r'"-\d+"', form['items_json'].value()): messages.info(self.request, "Your item changes have been saved. Please fix the errors and save the event.") # Get some other objects to include in the form. Used when there are errors but also nice and quick. @@ -127,9 +114,11 @@ class EventCreate(generic.CreateView): class EventUpdate(generic.UpdateView): model = models.Event form_class = forms.EventForm + template_name = 'event_form.html' def get_context_data(self, **kwargs): context = super(EventUpdate, self).get_context_data(**kwargs) + context['page_title'] = "Event {}".format(self.object.display_id) context['edit'] = True form = context['form'] @@ -143,13 +132,15 @@ class EventUpdate(generic.UpdateView): return context def render_to_response(self, context, **response_kwargs): - if not hasattr(context, 'duplicate'): + if hasattr(context, 'duplicate') and not context['duplicate']: # If this event has already been emailed to a client, show a warning if self.object.auth_request_at is not None: - messages.info(self.request, 'This event has already been sent to the client for authorisation, any changes you make will be visible to them immediately.') + messages.info(self.request, + 'This event has already been sent to the client for authorisation, any changes you make will be visible to them immediately.') if hasattr(self.object, 'authorised'): - messages.warning(self.request, 'This event has already been authorised by client, any changes to price will require reauthorisation.') + messages.warning(self.request, + 'This event has already been authorised by the client, any changes to the price will require reauthorisation.') return super(EventUpdate, self).render_to_response(context, **response_kwargs) def get_success_url(self): @@ -162,6 +153,7 @@ class EventDuplicate(EventUpdate): new = copy.copy(old) # Make a copy of the object in memory new.based_on = old # Make the new event based on the old event new.purchase_order = None # Remove old PO + new.status = new.PROVISIONAL # Return status to provisional # Clear checked in by if it's a dry hire if new.dry_hire is True: @@ -182,6 +174,7 @@ class EventDuplicate(EventUpdate): def get_context_data(self, **kwargs): context = super(EventDuplicate, self).get_context_data(**kwargs) + context['page_title'] = "Duplicate of Event {}".format(self.object.display_id) context["duplicate"] = True return context @@ -189,7 +182,7 @@ class EventDuplicate(EventUpdate): class EventPrint(generic.View): def get(self, request, pk): object = get_object_or_404(models.Event, pk=pk) - template = get_template('RIGS/event_print.xml') + template = get_template('event_print.xml') merger = PdfFileMerger() @@ -197,12 +190,13 @@ class EventPrint(generic.View): 'object': object, 'fonts': { 'opensans': { - 'regular': 'RIGS/static/fonts/OPENSANS-REGULAR.TTF', - 'bold': 'RIGS/static/fonts/OPENSANS-BOLD.TTF', + 'regular': 'static/fonts/OPENSANS-REGULAR.TTF', + 'bold': 'static/fonts/OPENSANS-BOLD.TTF', } }, 'quote': True, 'current_user': request.user, + 'filename': 'Event {} {} {}.pdf'.format(object.display_id, re.sub(r'[^a-zA-Z0-9 \n\.]', '', object.name), object.start_date) } rml = template.render(context) @@ -217,18 +211,15 @@ class EventPrint(generic.View): merger.write(merged) response = HttpResponse(content_type='application/pdf') - - escapedEventName = re.sub(r'[^a-zA-Z0-9 \n\.]', '', object.name) - - response['Content-Disposition'] = "filename=N%05d | %s.pdf" % (object.pk, escapedEventName) + response['Content-Disposition'] = 'filename="{}"'.format(context['filename']) response.write(merged.getvalue()) return response class EventArchive(generic.ListView): + template_name = "event_archive.html" model = models.Event paginate_by = 25 - template_name = "RIGS/event_archive.html" def get_context_data(self, **kwargs): # get super context @@ -236,6 +227,8 @@ class EventArchive(generic.ListView): context['start'] = self.request.GET.get('start', None) context['end'] = self.request.GET.get('end', datetime.date.today().strftime('%Y-%m-%d')) + context['statuses'] = models.Event.EVENT_STATUS_CHOICES + context['page_title'] = 'Event Archive' return context def get_queryset(self): @@ -256,7 +249,7 @@ class EventArchive(generic.ListView): q = self.request.GET.get('q', "") - if q is not "": + if q != "": qfilter = Q(name__icontains=q) | Q(description__icontains=q) | Q(notes__icontains=q) # try and parse an int @@ -275,6 +268,11 @@ class EventArchive(generic.ListView): filter &= qfilter + status = self.request.GET.getlist('status', "") + + if len(status) > 0: + filter &= Q(status__in=status) + qs = self.model.objects.filter(filter).order_by('-start_date') # Preselect related for efficiency @@ -287,8 +285,8 @@ class EventArchive(generic.ListView): class EventAuthorise(generic.UpdateView): - template_name = 'RIGS/eventauthorisation_form.html' - success_template = 'RIGS/eventauthorisation_success.html' + template_name = 'eventauthorisation_form.html' + success_template = 'eventauthorisation_success.html' def form_valid(self, form): self.object = form.save() @@ -312,8 +310,10 @@ class EventAuthorise(generic.UpdateView): def get_context_data(self, **kwargs): context = super(EventAuthorise, self).get_context_data(**kwargs) context['event'] = self.event - context['tos_url'] = settings.TERMS_OF_HIRE_URL + context['page_title'] = "{}: {}".format(self.event.display_id, self.event.name) + if self.event.dry_hire: + context['page_title'] += ' Dry Hire' return context def get(self, request, *args, **kwargs): @@ -351,7 +351,7 @@ class EventAuthorise(generic.UpdateView): class EventAuthorisationRequest(generic.FormView, generic.detail.SingleObjectMixin): model = models.Event form_class = forms.EventAuthorisationRequestForm - template_name = 'RIGS/eventauthorisation_request.html' + template_name = 'eventauthorisation_request.html' @method_decorator(decorators.nottinghamtec_address_required) def dispatch(self, *args, **kwargs): @@ -376,7 +376,7 @@ class EventAuthorisationRequest(generic.FormView, generic.detail.SingleObjectMix email = form.cleaned_data['email'] event = self.object event.auth_request_by = self.request.user - event.auth_request_at = datetime.datetime.now() + event.auth_request_at = timezone.now() event.auth_request_to = email event.save() @@ -396,12 +396,12 @@ class EventAuthorisationRequest(generic.FormView, generic.detail.SingleObjectMix msg = EmailMultiAlternatives( "N%05d | %s - Event Authorisation Request" % (self.object.pk, self.object.name), - get_template("RIGS/eventauthorisation_client_request.txt").render(context), + get_template("eventauthorisation_client_request.txt").render(context), to=[email], reply_to=[self.request.user.email], ) css = staticfiles_storage.path('css/email.css') - html = premailer.Premailer(get_template("RIGS/eventauthorisation_client_request.html").render(context), + html = premailer.Premailer(get_template("eventauthorisation_client_request.html").render(context), external_styles=css).transform() msg.attach_alternative(html, 'text/html') @@ -411,7 +411,7 @@ class EventAuthorisationRequest(generic.FormView, generic.detail.SingleObjectMix class EventAuthoriseRequestEmailPreview(generic.DetailView): - template_name = "RIGS/eventauthorisation_client_request.html" + template_name = "eventauthorisation_client_request.html" model = models.Event def render_to_response(self, context, **response_kwargs): @@ -431,27 +431,3 @@ class EventAuthoriseRequestEmailPreview(generic.DetailView): }) context['to_name'] = self.request.GET.get('to_name', None) return context - - -@method_decorator(csrf_exempt, name='dispatch') -class LogRiskAssessment(generic.View): - http_method_names = ["post"] - - def post(self, request, **kwargs): - data = request.POST - shared_secret = data.get("secret") - edit_url = data.get("editUrl") - rig_number = data.get("rigNum") - if shared_secret is None or edit_url is None or rig_number is None: - return HttpResponse(status=422) - - if shared_secret != settings.RISK_ASSESSMENT_SECRET: - return HttpResponse(status=403) - - rig_number = int(re.sub("[^0-9]", "", rig_number)) - - event = get_object_or_404(models.Event, pk=rig_number) - event.risk_assessment_edit_url = edit_url - event.save() - - return HttpResponse(status=200) diff --git a/RIGS/signals.py b/RIGS/signals.py index e1772e07..b75dc348 100644 --- a/RIGS/signals.py +++ b/RIGS/signals.py @@ -10,6 +10,7 @@ from PyPDF2 import PdfFileReader, PdfFileMerger from django.conf import settings from django.contrib.staticfiles.storage import staticfiles_storage from django.core.mail import EmailMessage, EmailMultiAlternatives +from django.core.cache import cache from django.template.loader import get_template from django.urls import reverse from django.utils import timezone @@ -18,6 +19,7 @@ from premailer import Premailer from z3c.rml import rml2pdf from RIGS import models +from reversion import revisions as reversion def send_eventauthorisation_success_email(instance): @@ -34,7 +36,7 @@ def send_eventauthorisation_success_email(instance): 'current_user': False, } - template = get_template('RIGS/event_print.xml') + template = get_template('event_print.xml') merger = PdfFileMerger() rml = template.render(context) @@ -63,13 +65,13 @@ def send_eventauthorisation_success_email(instance): client_email = EmailMultiAlternatives( subject, - get_template("RIGS/eventauthorisation_client_success.txt").render(context), + get_template("eventauthorisation_client_success.txt").render(context), to=[instance.email], reply_to=[settings.AUTHORISATION_NOTIFICATION_ADDRESS], ) css = staticfiles_storage.path('css/email.css') - html = Premailer(get_template("RIGS/eventauthorisation_client_success.html").render(context), + html = Premailer(get_template("eventauthorisation_client_success.html").render(context), external_styles=css).transform() client_email.attach_alternative(html, 'text/html') @@ -87,7 +89,7 @@ def send_eventauthorisation_success_email(instance): mic_email = EmailMessage( subject, - get_template("RIGS/eventauthorisation_mic_success.txt").render(context), + get_template("eventauthorisation_mic_success.txt").render(context), to=[mic_email_address] ) @@ -122,12 +124,12 @@ def send_admin_awaiting_approval_email(user, request, **kwargs): email = EmailMultiAlternatives( "%s new users awaiting approval on RIGS" % (context['number_of_users']), - get_template("RIGS/admin_awaiting_approval.txt").render(context), + get_template("admin_awaiting_approval.txt").render(context), to=[admin.email], reply_to=[user.email], ) css = staticfiles_storage.path('css/email.css') - html = Premailer(get_template("RIGS/admin_awaiting_approval.html").render(context), + html = Premailer(get_template("admin_awaiting_approval.html").render(context), external_styles=css).transform() email.attach_alternative(html, 'text/html') email.send() @@ -138,3 +140,11 @@ def send_admin_awaiting_approval_email(user, request, **kwargs): user_activated.connect(send_admin_awaiting_approval_email) + + +def update_cache(sender, instance, created, **kwargs): + cache.clear() + + +for model in reversion.get_registered_models(): + post_save.connect(update_cache, sender=model) diff --git a/RIGS/static/config.rb b/RIGS/static/config.rb deleted file mode 100644 index 7c3e52b4..00000000 --- a/RIGS/static/config.rb +++ /dev/null @@ -1,27 +0,0 @@ -# Require any additional compass plugins here. -require 'bootstrap-sass' - -# Set this to the root of your project when deployed: -http_path = "/static/" -css_dir = "css" -sass_dir = "scss" -images_dir = "img" -javascripts_dir = "js" -fonts_dir = "fonts" - -# You can select your preferred output style here (can be overridden via the command line): -# output_style = :expanded or :nested or :compact or :compressed -output_style = :compressed - -# To enable relative paths to assets via compass helper functions. Uncomment: -# relative_assets = true - -# To disable debugging comments that display the original location of your selectors. Uncomment: -# line_comments = false - - -# If you prefer the indented syntax, you might want to regenerate this -# project again passing --syntax sass, or you can uncomment this: -# preferred_syntax = :sass -# and then run: -# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/RIGS/static/css/ajax-bootstrap-select.css b/RIGS/static/css/ajax-bootstrap-select.css old mode 100755 new mode 100644 index a7c010b2..03ca139a --- a/RIGS/static/css/ajax-bootstrap-select.css +++ b/RIGS/static/css/ajax-bootstrap-select.css @@ -3,16 +3,16 @@ * * Extends existing [Bootstrap Select] implementations by adding the ability to search via AJAX requests as you type. Originally for CROSCON. * - * @version 1.3.1 + * @version 1.4.5 * @author Adam Heim - https://github.com/truckingsim * @link https://github.com/truckingsim/Ajax-Bootstrap-Select - * @copyright 2015 Adam Heim + * @copyright 2019 Adam Heim * @license Released under the MIT license. * * Contributors: * Mark Carver - https://github.com/markcarver * - * Last build: 2015-01-06 8:43:11 PM EST + * Last build: 2019-04-23 12:18:56 PM EDT */ .bootstrap-select .status { background: #f0f0f0; @@ -23,5 +23,6 @@ font-weight: 500; line-height: 1; margin-bottom: -5px; - padding: 10px 20px; -} + padding: 10px 20px; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFqYXgtYm9vdHN0cmFwLXNlbGVjdC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0FBQ0Y7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFdBQVc7RUFDWCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBIiwiZmlsZSI6ImFqYXgtYm9vdHN0cmFwLXNlbGVjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEFqYXggQm9vdHN0cmFwIFNlbGVjdFxuICpcbiAqIEV4dGVuZHMgZXhpc3RpbmcgW0Jvb3RzdHJhcCBTZWxlY3RdIGltcGxlbWVudGF0aW9ucyBieSBhZGRpbmcgdGhlIGFiaWxpdHkgdG8gc2VhcmNoIHZpYSBBSkFYIHJlcXVlc3RzIGFzIHlvdSB0eXBlLiBPcmlnaW5hbGx5IGZvciBDUk9TQ09OLlxuICpcbiAqIEB2ZXJzaW9uIDEuNC41XG4gKiBAYXV0aG9yIEFkYW0gSGVpbSAtIGh0dHBzOi8vZ2l0aHViLmNvbS90cnVja2luZ3NpbVxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RydWNraW5nc2ltL0FqYXgtQm9vdHN0cmFwLVNlbGVjdFxuICogQGNvcHlyaWdodCAyMDE5IEFkYW0gSGVpbVxuICogQGxpY2Vuc2UgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICpcbiAqIENvbnRyaWJ1dG9yczpcbiAqICAgTWFyayBDYXJ2ZXIgLSBodHRwczovL2dpdGh1Yi5jb20vbWFya2NhcnZlclxuICpcbiAqIExhc3QgYnVpbGQ6IDIwMTktMDQtMjMgMTI6MTg6NTYgUE0gRURUXG4gKi9cbi5ib290c3RyYXAtc2VsZWN0IC5zdGF0dXMge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xufVxuIl19 */ diff --git a/RIGS/static/css/ajax-bootstrap-select.min.css b/RIGS/static/css/ajax-bootstrap-select.min.css new file mode 100644 index 00000000..861ca3e0 --- /dev/null +++ b/RIGS/static/css/ajax-bootstrap-select.min.css @@ -0,0 +1,28 @@ +/*! + * Ajax Bootstrap Select + * + * Extends existing [Bootstrap Select] implementations by adding the ability to search via AJAX requests as you type. Originally for CROSCON. + * + * @version 1.4.5 + * @author Adam Heim - https://github.com/truckingsim + * @link https://github.com/truckingsim/Ajax-Bootstrap-Select + * @copyright 2019 Adam Heim + * @license Released under the MIT license. + * + * Contributors: + * Mark Carver - https://github.com/markcarver + * + * Last build: 2019-04-23 12:18:56 PM EDT + */ +.bootstrap-select .status { + background: #f0f0f0; + clear: both; + color: #999; + font-size: 11px; + font-style: italic; + font-weight: 500; + line-height: 1; + margin-bottom: -5px; + padding: 10px 20px; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFqYXgtYm9vdHN0cmFwLXNlbGVjdC5taW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBQUFDO0VBQTBCLG1CQUFrQjtFQUFDLFdBQVU7RUFBQyxXQUFVO0VBQUMsZUFBYztFQUFDLGtCQUFpQjtFQUFDLGdCQUFlO0VBQUMsY0FBYTtFQUFDLG1CQUFrQjtFQUFDLGtCQUFpQixFQUFBIiwiZmlsZSI6ImFqYXgtYm9vdHN0cmFwLXNlbGVjdC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBBamF4IEJvb3RzdHJhcCBTZWxlY3RcbiAqXG4gKiBFeHRlbmRzIGV4aXN0aW5nIFtCb290c3RyYXAgU2VsZWN0XSBpbXBsZW1lbnRhdGlvbnMgYnkgYWRkaW5nIHRoZSBhYmlsaXR5IHRvIHNlYXJjaCB2aWEgQUpBWCByZXF1ZXN0cyBhcyB5b3UgdHlwZS4gT3JpZ2luYWxseSBmb3IgQ1JPU0NPTi5cbiAqXG4gKiBAdmVyc2lvbiAxLjQuNVxuICogQGF1dGhvciBBZGFtIEhlaW0gLSBodHRwczovL2dpdGh1Yi5jb20vdHJ1Y2tpbmdzaW1cbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS90cnVja2luZ3NpbS9BamF4LUJvb3RzdHJhcC1TZWxlY3RcbiAqIEBjb3B5cmlnaHQgMjAxOSBBZGFtIEhlaW1cbiAqIEBsaWNlbnNlIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBDb250cmlidXRvcnM6XG4gKiAgIE1hcmsgQ2FydmVyIC0gaHR0cHM6Ly9naXRodWIuY29tL21hcmtjYXJ2ZXJcbiAqXG4gKiBMYXN0IGJ1aWxkOiAyMDE5LTA0LTIzIDEyOjE4OjU2IFBNIEVEVFxuICovLmJvb3RzdHJhcC1zZWxlY3QgLnN0YXR1c3tiYWNrZ3JvdW5kOiNmMGYwZjA7Y2xlYXI6Ym90aDtjb2xvcjojOTk5O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206LTVweDtwYWRkaW5nOjEwcHggMjBweH0iXX0= */ diff --git a/RIGS/static/css/autocomplete.css b/RIGS/static/css/autocomplete.css new file mode 100644 index 00000000..257cd8f3 --- /dev/null +++ b/RIGS/static/css/autocomplete.css @@ -0,0 +1,23 @@ +.autocomplete { + background: white; + z-index: 1000; + font: 14px/22px "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + overflow: auto; + box-sizing: border-box; + border: 1px solid rgba(50, 50, 50, 0.6); } + +.autocomplete * { + font: inherit; } + +.autocomplete > div { + padding: 0 4px; } + +.autocomplete .group { + background: #eee; } + +.autocomplete > div:hover:not(.group), +.autocomplete > div.selected { + background: #81ca91; + cursor: pointer; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dG9jb21wbGV0ZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLDRHQUE0RztFQUM1RyxjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLHVDQUF1QyxFQUFBOztBQUczQztFQUNJLGFBQWEsRUFBQTs7QUFHakI7RUFDSSxjQUFjLEVBQUE7O0FBR2xCO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBR3BCOztFQUVJLG1CQUFtQjtFQUNuQixlQUFlLEVBQUEiLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYXV0b2NvbXBsZXRlIHtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIGZvbnQ6IDE0cHgvMjJweCBcIi1hcHBsZS1zeXN0ZW1cIiwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTAsIDUwLCA1MCwgMC42KTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZSAqIHtcclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGUgPiBkaXYge1xyXG4gICAgcGFkZGluZzogMCA0cHg7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGUgLmdyb3VwIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGUgPiBkaXY6aG92ZXI6bm90KC5ncm91cCksXHJcbi5hdXRvY29tcGxldGUgPiBkaXYuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZDogIzgxY2E5MTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuIl19 */ diff --git a/RIGS/static/css/bootstrap-datetimepicker.min.css b/RIGS/static/css/bootstrap-datetimepicker.min.css index c7021619..f7a93500 100644 --- a/RIGS/static/css/bootstrap-datetimepicker.min.css +++ b/RIGS/static/css/bootstrap-datetimepicker.min.css @@ -1,366 +1,248 @@ /*! - * Datetimepicker for Bootstrap 3 - * ! version : 4.7.14 - * https://github.com/Eonasdan/bootstrap-datetimepicker/ + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * */ -.bootstrap-datetimepicker-widget { - list-style: none; -} -.bootstrap-datetimepicker-widget.dropdown-menu { - margin: 2px 0; +.datetimepicker { padding: 4px; - width: 19em; -} -@media (min-width: 768px) { - .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { - width: 38em; - } -} -@media (min-width: 992px) { - .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { - width: 38em; - } -} -@media (min-width: 1200px) { - .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs { - width: 38em; - } -} -.bootstrap-datetimepicker-widget.dropdown-menu:before, -.bootstrap-datetimepicker-widget.dropdown-menu:after { + margin-top: 1px; + border-radius: 4px; + direction: ltr; } + +.datetimepicker-inline { + width: 220px; } + +.datetimepicker.datetimepicker-rtl { + direction: rtl; } + +.datetimepicker.datetimepicker-rtl table tr td span { + float: right; } + +.datetimepicker-dropdown, .datetimepicker-dropdown-left { + top: 0; + left: 0; } + +[class*=" datetimepicker-dropdown"]:before { content: ''; display: inline-block; - position: absolute; -} -.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before { border-left: 7px solid transparent; border-right: 7px solid transparent; - border-bottom: 7px solid #cccccc; + border-bottom: 7px solid #ccc; border-bottom-color: rgba(0, 0, 0, 0.2); - top: -7px; - left: 7px; -} -.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after { - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid white; - top: -6px; - left: 8px; -} -.bootstrap-datetimepicker-widget.dropdown-menu.top:before { - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-top: 7px solid #cccccc; - border-top-color: rgba(0, 0, 0, 0.2); - bottom: -7px; - left: 6px; -} -.bootstrap-datetimepicker-widget.dropdown-menu.top:after { - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px solid white; - bottom: -6px; - left: 7px; -} -.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before { - left: auto; - right: 6px; -} -.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after { - left: auto; - right: 7px; -} -.bootstrap-datetimepicker-widget .list-unstyled { - margin: 0; -} -.bootstrap-datetimepicker-widget a[data-action] { - padding: 6px 0; -} -.bootstrap-datetimepicker-widget a[data-action]:active { - box-shadow: none; -} -.bootstrap-datetimepicker-widget .timepicker-hour, -.bootstrap-datetimepicker-widget .timepicker-minute, -.bootstrap-datetimepicker-widget .timepicker-second { - width: 54px; - font-weight: bold; - font-size: 1.2em; - margin: 0; -} -.bootstrap-datetimepicker-widget button[data-action] { - padding: 6px; -} -.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Increment Hours"; -} -.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Increment Minutes"; -} -.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Decrement Hours"; -} -.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Decrement Minutes"; -} -.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Show Hours"; -} -.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Show Minutes"; -} -.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Toggle AM/PM"; -} -.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Clear the picker"; -} -.bootstrap-datetimepicker-widget .btn[data-action="today"]::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Set the date to today"; -} -.bootstrap-datetimepicker-widget .picker-switch { - text-align: center; -} -.bootstrap-datetimepicker-widget .picker-switch::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Toggle Date and Time Screens"; -} -.bootstrap-datetimepicker-widget .picker-switch td { - padding: 0; - margin: 0; - height: auto; - width: auto; - line-height: inherit; -} -.bootstrap-datetimepicker-widget .picker-switch td span { - line-height: 2.5; - height: 2.5em; - width: 100%; -} -.bootstrap-datetimepicker-widget table { - width: 100%; - margin: 0; -} -.bootstrap-datetimepicker-widget table td, -.bootstrap-datetimepicker-widget table th { - text-align: center; - border-radius: 4px; -} -.bootstrap-datetimepicker-widget table th { - height: 20px; - line-height: 20px; - width: 20px; -} -.bootstrap-datetimepicker-widget table th.picker-switch { - width: 145px; -} -.bootstrap-datetimepicker-widget table th.disabled, -.bootstrap-datetimepicker-widget table th.disabled:hover { - background: none; - color: #777777; - cursor: not-allowed; -} -.bootstrap-datetimepicker-widget table th.prev::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Previous Month"; -} -.bootstrap-datetimepicker-widget table th.next::after { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; - content: "Next Month"; -} -.bootstrap-datetimepicker-widget table thead tr:first-child th { - cursor: pointer; -} -.bootstrap-datetimepicker-widget table thead tr:first-child th:hover { - background: #eeeeee; -} -.bootstrap-datetimepicker-widget table td { - height: 54px; - line-height: 54px; - width: 54px; -} -.bootstrap-datetimepicker-widget table td.cw { - font-size: .8em; - height: 20px; - line-height: 20px; - color: #777777; -} -.bootstrap-datetimepicker-widget table td.day { - height: 20px; - line-height: 20px; - width: 20px; -} -.bootstrap-datetimepicker-widget table td.day:hover, -.bootstrap-datetimepicker-widget table td.hour:hover, -.bootstrap-datetimepicker-widget table td.minute:hover, -.bootstrap-datetimepicker-widget table td.second:hover { - background: #eeeeee; - cursor: pointer; -} -.bootstrap-datetimepicker-widget table td.old, -.bootstrap-datetimepicker-widget table td.new { - color: #777777; -} -.bootstrap-datetimepicker-widget table td.today { - position: relative; -} -.bootstrap-datetimepicker-widget table td.today:before { + position: absolute; } + +[class*=" datetimepicker-dropdown"]:after { content: ''; display: inline-block; - border: 0 0 7px 7px solid transparent; - border-bottom-color: #337ab7; - border-top-color: rgba(0, 0, 0, 0.2); - position: absolute; - bottom: 4px; - right: 4px; -} -.bootstrap-datetimepicker-widget table td.active, -.bootstrap-datetimepicker-widget table td.active:hover { - background-color: #337ab7; - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.bootstrap-datetimepicker-widget table td.active.today:before { - border-bottom-color: #fff; -} -.bootstrap-datetimepicker-widget table td.disabled, -.bootstrap-datetimepicker-widget table td.disabled:hover { - background: none; - color: #777777; - cursor: not-allowed; -} -.bootstrap-datetimepicker-widget table td span { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + position: absolute; } + +[class*=" datetimepicker-dropdown-top"]:before { + content: ''; display: inline-block; - width: 54px; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; } + +[class*=" datetimepicker-dropdown-top"]:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #fff; + border-bottom: 0; } + +.datetimepicker-dropdown-bottom-left:before { + top: -7px; + right: 6px; } + +.datetimepicker-dropdown-bottom-left:after { + top: -6px; + right: 7px; } + +.datetimepicker-dropdown-bottom-right:before { + top: -7px; + left: 6px; } + +.datetimepicker-dropdown-bottom-right:after { + top: -6px; + left: 7px; } + +.datetimepicker-dropdown-top-left:before { + bottom: -7px; + right: 6px; } + +.datetimepicker-dropdown-top-left:after { + bottom: -6px; + right: 7px; } + +.datetimepicker-dropdown-top-right:before { + bottom: -7px; + left: 6px; } + +.datetimepicker-dropdown-top-right:after { + bottom: -6px; + left: 7px; } + +.datetimepicker > div { + display: none; } + +.datetimepicker.minutes div.datetimepicker-minutes { + display: block; } + +.datetimepicker.hours div.datetimepicker-hours { + display: block; } + +.datetimepicker.days div.datetimepicker-days { + display: block; } + +.datetimepicker.months div.datetimepicker-months { + display: block; } + +.datetimepicker.years div.datetimepicker-years { + display: block; } + +.datetimepicker table { + margin: 0; } + +.datetimepicker td, .datetimepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: 0; } + +.table-striped .datetimepicker table tr td, .table-striped .datetimepicker table tr th { + background-color: transparent; } + +.datetimepicker table tr td.minute:hover { + background: #eee; + cursor: pointer; } + +.datetimepicker table tr td.hour:hover { + background: #eee; + cursor: pointer; } + +.datetimepicker table tr td.day:hover { + background: #eee; + cursor: pointer; } + +.datetimepicker table tr td.old, .datetimepicker table tr td.new { + color: #999; } + +.datetimepicker table tr td.disabled, .datetimepicker table tr td.disabled:hover { + background: 0; + color: #999; + cursor: default; } + +.datetimepicker table tr td.today, .datetimepicker table tr td.today:hover, .datetimepicker table tr td.today.disabled, .datetimepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } + +.datetimepicker table tr td.today:hover, .datetimepicker table tr td.today:hover:hover, .datetimepicker table tr td.today.disabled:hover, .datetimepicker table tr td.today.disabled:hover:hover, .datetimepicker table tr td.today:active, .datetimepicker table tr td.today:hover:active, .datetimepicker table tr td.today.disabled:active, .datetimepicker table tr td.today.disabled:hover:active, .datetimepicker table tr td.today.active, .datetimepicker table tr td.today:hover.active, .datetimepicker table tr td.today.disabled.active, .datetimepicker table tr td.today.disabled:hover.active, .datetimepicker table tr td.today.disabled, .datetimepicker table tr td.today:hover.disabled, .datetimepicker table tr td.today.disabled.disabled, .datetimepicker table tr td.today.disabled:hover.disabled, .datetimepicker table tr td.today[disabled], .datetimepicker table tr td.today:hover[disabled], .datetimepicker table tr td.today.disabled[disabled], .datetimepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; } + +.datetimepicker table tr td.today:active, .datetimepicker table tr td.today:hover:active, .datetimepicker table tr td.today.disabled:active, .datetimepicker table tr td.today.disabled:hover:active, .datetimepicker table tr td.today.active, .datetimepicker table tr td.today:hover.active, .datetimepicker table tr td.today.disabled.active, .datetimepicker table tr td.today.disabled:hover.active { + background-color: #fbf069; } + +.datetimepicker table tr td.active, .datetimepicker table tr td.active:hover, .datetimepicker table tr td.active.disabled, .datetimepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: linear-gradient(to bottom, #08c, #04c); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0); + border-color: #04c #04c #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } + +.datetimepicker table tr td.active:hover, .datetimepicker table tr td.active:hover:hover, .datetimepicker table tr td.active.disabled:hover, .datetimepicker table tr td.active.disabled:hover:hover, .datetimepicker table tr td.active:active, .datetimepicker table tr td.active:hover:active, .datetimepicker table tr td.active.disabled:active, .datetimepicker table tr td.active.disabled:hover:active, .datetimepicker table tr td.active.active, .datetimepicker table tr td.active:hover.active, .datetimepicker table tr td.active.disabled.active, .datetimepicker table tr td.active.disabled:hover.active, .datetimepicker table tr td.active.disabled, .datetimepicker table tr td.active:hover.disabled, .datetimepicker table tr td.active.disabled.disabled, .datetimepicker table tr td.active.disabled:hover.disabled, .datetimepicker table tr td.active[disabled], .datetimepicker table tr td.active:hover[disabled], .datetimepicker table tr td.active.disabled[disabled], .datetimepicker table tr td.active.disabled:hover[disabled] { + background-color: #04c; } + +.datetimepicker table tr td.active:active, .datetimepicker table tr td.active:hover:active, .datetimepicker table tr td.active.disabled:active, .datetimepicker table tr td.active.disabled:hover:active, .datetimepicker table tr td.active.active, .datetimepicker table tr td.active:hover.active, .datetimepicker table tr td.active.disabled.active, .datetimepicker table tr td.active.disabled:hover.active { + background-color: #039; } + +.datetimepicker table tr td span { + display: block; + width: 23%; height: 54px; line-height: 54px; - margin: 2px 1.5px; + float: left; + margin: 1%; cursor: pointer; - border-radius: 4px; -} -.bootstrap-datetimepicker-widget table td span:hover { - background: #eeeeee; -} -.bootstrap-datetimepicker-widget table td span.active { - background-color: #337ab7; - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.bootstrap-datetimepicker-widget table td span.old { - color: #777777; -} -.bootstrap-datetimepicker-widget table td span.disabled, -.bootstrap-datetimepicker-widget table td span.disabled:hover { - background: none; - color: #777777; - cursor: not-allowed; -} -.bootstrap-datetimepicker-widget.usetwentyfour td.hour { - height: 27px; - line-height: 27px; -} -.input-group.date .input-group-addon { + border-radius: 4px; } + +.datetimepicker .datetimepicker-hours span { + height: 26px; + line-height: 26px; } + +.datetimepicker .datetimepicker-hours table tr td span.hour_am, .datetimepicker .datetimepicker-hours table tr td span.hour_pm { + width: 14.6%; } + +.datetimepicker .datetimepicker-hours fieldset legend, .datetimepicker .datetimepicker-minutes fieldset legend { + margin-bottom: inherit; + line-height: 30px; } + +.datetimepicker .datetimepicker-minutes span { + height: 26px; + line-height: 26px; } + +.datetimepicker table tr td span:hover { + background: #eee; } + +.datetimepicker table tr td span.disabled, .datetimepicker table tr td span.disabled:hover { + background: 0; + color: #999; + cursor: default; } + +.datetimepicker table tr td span.active, .datetimepicker table tr td span.active:hover, .datetimepicker table tr td span.active.disabled, .datetimepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: linear-gradient(to bottom, #08c, #04c); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0); + border-color: #04c #04c #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } + +.datetimepicker table tr td span.active:hover, .datetimepicker table tr td span.active:hover:hover, .datetimepicker table tr td span.active.disabled:hover, .datetimepicker table tr td span.active.disabled:hover:hover, .datetimepicker table tr td span.active:active, .datetimepicker table tr td span.active:hover:active, .datetimepicker table tr td span.active.disabled:active, .datetimepicker table tr td span.active.disabled:hover:active, .datetimepicker table tr td span.active.active, .datetimepicker table tr td span.active:hover.active, .datetimepicker table tr td span.active.disabled.active, .datetimepicker table tr td span.active.disabled:hover.active, .datetimepicker table tr td span.active.disabled, .datetimepicker table tr td span.active:hover.disabled, .datetimepicker table tr td span.active.disabled.disabled, .datetimepicker table tr td span.active.disabled:hover.disabled, .datetimepicker table tr td span.active[disabled], .datetimepicker table tr td span.active:hover[disabled], .datetimepicker table tr td span.active.disabled[disabled], .datetimepicker table tr td span.active.disabled:hover[disabled] { + background-color: #04c; } + +.datetimepicker table tr td span.active:active, .datetimepicker table tr td span.active:hover:active, .datetimepicker table tr td span.active.disabled:active, .datetimepicker table tr td span.active.disabled:hover:active, .datetimepicker table tr td span.active.active, .datetimepicker table tr td span.active:hover.active, .datetimepicker table tr td span.active.disabled.active, .datetimepicker table tr td span.active.disabled:hover.active { + background-color: #039; } + +.datetimepicker table tr td span.old { + color: #999; } + +.datetimepicker th.switch { + width: 145px; } + +.datetimepicker th span.glyphicon { + pointer-events: none; } + +.datetimepicker thead tr:first-child th, .datetimepicker tfoot th { + cursor: pointer; } + +.datetimepicker thead tr:first-child th:hover, .datetimepicker tfoot th:hover { + background: #eee; } + +.input-append.date .add-on i, .input-prepend.date .add-on i, .input-group.date .input-group-addon span { cursor: pointer; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} + width: 14px; + height: 14px; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJvb3RzdHJhcC1kYXRldGltZXBpY2tlci5taW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztFQVFFO0FBQUM7RUFBZ0IsWUFBVztFQUFDLGVBQWM7RUFBa0Qsa0JBQWlCO0VBQUMsY0FBYSxFQUFBOztBQUFDO0VBQXVCLFlBQVcsRUFBQTs7QUFBQztFQUFtQyxjQUFhLEVBQUE7O0FBQUM7RUFBb0QsWUFBVyxFQUFBOztBQUFDO0VBQXVELE1BQUs7RUFBQyxPQUFNLEVBQUE7O0FBc0J0VjtFQXRCa1ksV0FBVTtFQUFDLHFCQUFvQjtFQUFDLGtDQUFpQztFQUFDLG1DQUFrQztFQUFDLDZCQUE0QjtFQUFDLHVDQUFtQztFQUFDLGtCQUFpQixFQUFBOztBQStCempCO0VBL0JvbUIsV0FBVTtFQUFDLHFCQUFvQjtFQUFDLGtDQUFpQztFQUFDLG1DQUFrQztFQUFDLDZCQUE0QjtFQUFDLGtCQUFpQixFQUFBOztBQXVDdnZCO0VBdkN1eUIsV0FBVTtFQUFDLHFCQUFvQjtFQUFDLGtDQUFpQztFQUFDLG1DQUFrQztFQUFDLDBCQUF5QjtFQUFDLG9DQUFnQztFQUFDLGdCQUFlLEVBQUE7O0FBZ0R0OUI7RUFoRHFnQyxXQUFVO0VBQUMscUJBQW9CO0VBQUMsa0NBQWlDO0VBQUMsbUNBQWtDO0VBQUMsMEJBQXlCO0VBQUMsZ0JBQWUsRUFBQTs7QUFBQztFQUE0QyxTQUFRO0VBQUMsVUFBUyxFQUFBOztBQUFDO0VBQTJDLFNBQVE7RUFBQyxVQUFTLEVBQUE7O0FBQUM7RUFBNkMsU0FBUTtFQUFDLFNBQVEsRUFBQTs7QUFBQztFQUE0QyxTQUFRO0VBQUMsU0FBUSxFQUFBOztBQUFDO0VBQXlDLFlBQVc7RUFBQyxVQUFTLEVBQUE7O0FBQUM7RUFBd0MsWUFBVztFQUFDLFVBQVMsRUFBQTs7QUFBQztFQUEwQyxZQUFXO0VBQUMsU0FBUSxFQUFBOztBQUFDO0VBQXlDLFlBQVc7RUFBQyxTQUFRLEVBQUE7O0FBQUM7RUFBb0IsYUFBWSxFQUFBOztBQUFDO0VBQW1ELGNBQWEsRUFBQTs7QUFBQztFQUErQyxjQUFhLEVBQUE7O0FBQUM7RUFBNkMsY0FBYSxFQUFBOztBQUFDO0VBQWlELGNBQWEsRUFBQTs7QUFBQztFQUErQyxjQUFhLEVBQUE7O0FBQUM7RUFBc0IsU0FBUSxFQUFBOztBQUFDO0VBQXNDLGtCQUFpQjtFQUFDLFdBQVU7RUFBQyxZQUFXO0VBQWtELGtCQUFpQjtFQUFDLFNBQVEsRUFBQTs7QUFBQztFQUFzRiw2QkFBNEIsRUFBQTs7QUFBQztFQUF5QyxnQkFBZTtFQUFDLGVBQWMsRUFBQTs7QUFBQztFQUF1QyxnQkFBZTtFQUFDLGVBQWMsRUFBQTs7QUFBQztFQUFzQyxnQkFBZTtFQUFDLGVBQWMsRUFBQTs7QUFBQztFQUFnRSxXQUFVLEVBQUE7O0FBQUM7RUFBZ0YsYUFBWTtFQUFDLFdBQVU7RUFBQyxlQUFjLEVBQUE7O0FBQUM7RUFBc0sseUJBQXdCO0VBQTRULDhEQUEyRDtFQUFDLDJCQUEwQjtFQUFDLGdIQUErRztFQUFDLHFDQUFvQztFQUFDLHVFQUE2RDtFQUFDLGlFQUFnRSxFQUFBOztBQUFDO0VBQTA5Qix5QkFBd0IsRUFBQTs7QUFBQztFQUFvWSx5QkFBd0IsRUFBQTs7QUFBQztFQUEwSyx5QkFBd0I7RUFBOFIsd0RBQXFEO0VBQUMsMkJBQTBCO0VBQUMsZ0hBQStHO0VBQUMsK0JBQThCO0VBQUMsdUVBQTZEO0VBQUMsaUVBQWdFO0VBQUMsV0FBVTtFQUFDLHlDQUFxQyxFQUFBOztBQUFDO0VBQTgrQixzQkFBcUIsRUFBQTs7QUFBQztFQUE0WSxzQkFBcUIsRUFBQTs7QUFBQztFQUFpQyxjQUFhO0VBQUMsVUFBUztFQUFDLFlBQVc7RUFBQyxpQkFBZ0I7RUFBQyxXQUFVO0VBQUMsVUFBUztFQUFDLGVBQWM7RUFBa0Qsa0JBQWlCLEVBQUE7O0FBQUM7RUFBMkMsWUFBVztFQUFDLGlCQUFnQixFQUFBOztBQUFDO0VBQThILFlBQVcsRUFBQTs7QUFBQztFQUE4RyxzQkFBcUI7RUFBQyxpQkFBZ0IsRUFBQTs7QUFBQztFQUE2QyxZQUFXO0VBQUMsaUJBQWdCLEVBQUE7O0FBQUM7RUFBdUMsZ0JBQWUsRUFBQTs7QUFBQztFQUEwRixhQUFZO0VBQUMsV0FBVTtFQUFDLGVBQWMsRUFBQTs7QUFBQztFQUE4TCx5QkFBd0I7RUFBOFIsd0RBQXFEO0VBQUMsMkJBQTBCO0VBQUMsZ0hBQStHO0VBQUMsK0JBQThCO0VBQUMsdUVBQTZEO0VBQUMsaUVBQWdFO0VBQUMsV0FBVTtFQUFDLHlDQUFxQyxFQUFBOztBQUFDO0VBQWtsQyxzQkFBcUIsRUFBQTs7QUFBQztFQUFvYixzQkFBcUIsRUFBQTs7QUFBQztFQUFxQyxXQUFVLEVBQUE7O0FBQUM7RUFBMEIsWUFBVyxFQUFBOztBQUFDO0VBQWtDLG9CQUFtQixFQUFBOztBQUFDO0VBQWlFLGVBQWMsRUFBQTs7QUFBQztFQUE2RSxnQkFBZSxFQUFBOztBQUFDO0VBQXFHLGVBQWM7RUFBQyxXQUFVO0VBQUMsWUFBVyxFQUFBIiwiZmlsZSI6ImJvb3RzdHJhcC1kYXRldGltZXBpY2tlci5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBEYXRldGltZXBpY2tlciBmb3IgQm9vdHN0cmFwXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlXG4gKiBJbXByb3ZlbWVudHMgYnkgQW5kcmV3IFJvd2xzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICovLmRhdGV0aW1lcGlja2Vye3BhZGRpbmc6NHB4O21hcmdpbi10b3A6MXB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDtkaXJlY3Rpb246bHRyfS5kYXRldGltZXBpY2tlci1pbmxpbmV7d2lkdGg6MjIwcHh9LmRhdGV0aW1lcGlja2VyLmRhdGV0aW1lcGlja2VyLXJ0bHtkaXJlY3Rpb246cnRsfS5kYXRldGltZXBpY2tlci5kYXRldGltZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbntmbG9hdDpyaWdodH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24sLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWxlZnR7dG9wOjA7bGVmdDowfVtjbGFzcyo9XCIgZGF0ZXRpbWVwaWNrZXItZHJvcGRvd25cIl06YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgI2NjYztib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsMC4yKTtwb3NpdGlvbjphYnNvbHV0ZX1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2ZmZjtwb3NpdGlvbjphYnNvbHV0ZX1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTpiZWZvcmV7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjdweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvcmRlci1ib3R0b206MH1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLWJvdHRvbTowfS5kYXRldGltZXBpY2tlci1kcm9wZG93bi1ib3R0b20tbGVmdDpiZWZvcmV7dG9wOi03cHg7cmlnaHQ6NnB4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi1ib3R0b20tbGVmdDphZnRlcnt0b3A6LTZweDtyaWdodDo3cHh9LmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1yaWdodDpiZWZvcmV7dG9wOi03cHg7bGVmdDo2cHh9LmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1yaWdodDphZnRlcnt0b3A6LTZweDtsZWZ0OjdweH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLWxlZnQ6YmVmb3Jle2JvdHRvbTotN3B4O3JpZ2h0OjZweH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLWxlZnQ6YWZ0ZXJ7Ym90dG9tOi02cHg7cmlnaHQ6N3B4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi10b3AtcmlnaHQ6YmVmb3Jle2JvdHRvbTotN3B4O2xlZnQ6NnB4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi10b3AtcmlnaHQ6YWZ0ZXJ7Ym90dG9tOi02cHg7bGVmdDo3cHh9LmRhdGV0aW1lcGlja2VyPmRpdntkaXNwbGF5Om5vbmV9LmRhdGV0aW1lcGlja2VyLm1pbnV0ZXMgZGl2LmRhdGV0aW1lcGlja2VyLW1pbnV0ZXN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIuaG91cnMgZGl2LmRhdGV0aW1lcGlja2VyLWhvdXJze2Rpc3BsYXk6YmxvY2t9LmRhdGV0aW1lcGlja2VyLmRheXMgZGl2LmRhdGV0aW1lcGlja2VyLWRheXN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIubW9udGhzIGRpdi5kYXRldGltZXBpY2tlci1tb250aHN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIueWVhcnMgZGl2LmRhdGV0aW1lcGlja2VyLXllYXJze2Rpc3BsYXk6YmxvY2t9LmRhdGV0aW1lcGlja2VyIHRhYmxle21hcmdpbjowfS5kYXRldGltZXBpY2tlciB0ZCwuZGF0ZXRpbWVwaWNrZXIgdGh7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjB9LnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLC50YWJsZS1zdHJpcGVkIC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0aHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5taW51dGU6aG92ZXJ7YmFja2dyb3VuZDojZWVlO2N1cnNvcjpwb2ludGVyfS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5ob3VyOmhvdmVye2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGF5OmhvdmVye2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQub2xkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5uZXd7Y29sb3I6Izk5OX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MDtjb2xvcjojOTk5O2N1cnNvcjpkZWZhdWx0fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZGUxOWE7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZkZDQ5YSwjZmRmNTlhKTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwwIDAsMCAxMDAlLGZyb20oI2ZkZDQ5YSksdG8oI2ZkZjU5YSkpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmRkNDlhJyxlbmRDb2xvcnN0cj0nI2ZkZjU5YScsR3JhZGllbnRUeXBlPTApO2JvcmRlci1jb2xvcjojZmRmNTlhICNmZGY1OWEgI2ZiZWQ1MDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpIHJnYmEoMCwwLDAsMC4xKSByZ2JhKDAsMCwwLDAuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZFtkaXNhYmxlZF0sLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZGY1OWF9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZiZjA2OX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwNmRjYztiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDAgMCwwIDEwMCUsZnJvbSgjMDhjKSx0bygjMDRjKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDg4Y2MnLGVuZENvbG9yc3RyPScjMDA0NGNjJyxHcmFkaWVudFR5cGU9MCk7Ym9yZGVyLWNvbG9yOiMwNGMgIzA0YyAjMDAyYTgwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSkgcmdiYSgwLDAsMCwwLjEpIHJnYmEoMCwwLDAsMC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsMC4yNSl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6IzA0Y30uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMzl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoyMyU7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweDtmbG9hdDpsZWZ0O21hcmdpbjoxJTtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBzcGFue2hlaWdodDoyNnB4O2xpbmUtaGVpZ2h0OjI2cHh9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfYW0sLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfcG17d2lkdGg6MTQuNiV9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBmaWVsZHNldCBsZWdlbmQsLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1taW51dGVzIGZpZWxkc2V0IGxlZ2VuZHttYXJnaW4tYm90dG9tOmluaGVyaXQ7bGluZS1oZWlnaHQ6MzBweH0uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLW1pbnV0ZXMgc3BhbntoZWlnaHQ6MjZweDtsaW5lLWhlaWdodDoyNnB4fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjA7Y29sb3I6Izk5OTtjdXJzb3I6ZGVmYXVsdH0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2ZGNjO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCMwOGMsIzA0Yyk7YmFja2dyb3VuZC1pbWFnZTotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsMCAwLDAgMTAwJSxmcm9tKCMwOGMpLHRvKCMwNGMpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwODhjYycsZW5kQ29sb3JzdHI9JyMwMDQ0Y2MnLEdyYWRpZW50VHlwZT0wKTtib3JkZXItY29sb3I6IzA0YyAjMDRjICMwMDJhODA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKSByZ2JhKDAsMCwwLDAuMSkgcmdiYSgwLDAsMCwwLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwwLjI1KX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmVbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6IzA0Y30uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDM5fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLm9sZHtjb2xvcjojOTk5fS5kYXRldGltZXBpY2tlciB0aC5zd2l0Y2h7d2lkdGg6MTQ1cHh9LmRhdGV0aW1lcGlja2VyIHRoIHNwYW4uZ2x5cGhpY29ue3BvaW50ZXItZXZlbnRzOm5vbmV9LmRhdGV0aW1lcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC5kYXRldGltZXBpY2tlciB0Zm9vdCB0aHtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRmb290IHRoOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uaW5wdXQtYXBwZW5kLmRhdGUgLmFkZC1vbiBpLC5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbiBpLC5pbnB1dC1ncm91cC5kYXRlIC5pbnB1dC1ncm91cC1hZGRvbiBzcGFue2N1cnNvcjpwb2ludGVyO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9Il19 */ diff --git a/RIGS/static/css/bootstrap-select.css b/RIGS/static/css/bootstrap-select.css new file mode 100644 index 00000000..ee73eb2b --- /dev/null +++ b/RIGS/static/css/bootstrap-select.css @@ -0,0 +1,455 @@ +/*! + * Bootstrap-select v1.13.17 (https://developer.snapappointments.com/bootstrap-select) + * + * Copyright 2012-2020 SnapAppointments, LLC + * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE) + */ +@-webkit-keyframes bs-notify-fadeOut { + 0% { + opacity: 0.9; } + 100% { + opacity: 0; } } + +@-o-keyframes bs-notify-fadeOut { + 0% { + opacity: 0.9; } + 100% { + opacity: 0; } } + +@keyframes bs-notify-fadeOut { + 0% { + opacity: 0.9; } + 100% { + opacity: 0; } } + +select.bs-select-hidden, +.bootstrap-select > select.bs-select-hidden, +select.selectpicker { + display: none !important; } + +.bootstrap-select { + width: 220px \0; + /*IE9 and below*/ + vertical-align: middle; } + +.bootstrap-select > .dropdown-toggle { + position: relative; + width: 100%; + text-align: right; + white-space: nowrap; + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; } + +.bootstrap-select > .dropdown-toggle:after { + margin-top: -1px; } + +.bootstrap-select > .dropdown-toggle.bs-placeholder, +.bootstrap-select > .dropdown-toggle.bs-placeholder:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder:active { + color: #999; } + +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active, +.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active { + color: rgba(255, 255, 255, 0.5); } + +.bootstrap-select > select { + position: absolute !important; + bottom: 0; + left: 50%; + display: block !important; + width: 0.5px !important; + height: 100% !important; + padding: 0 !important; + opacity: 0 !important; + border: none; + z-index: 0 !important; } + +.bootstrap-select > select.mobile-device { + top: 0; + left: 0; + display: block !important; + width: 100% !important; + z-index: 2 !important; } + +.has-error .bootstrap-select .dropdown-toggle, +.error .bootstrap-select .dropdown-toggle, +.bootstrap-select.is-invalid .dropdown-toggle, +.was-validated .bootstrap-select select:invalid + .dropdown-toggle { + border-color: #b94a48; } + +.bootstrap-select.is-valid .dropdown-toggle, +.was-validated .bootstrap-select select:valid + .dropdown-toggle { + border-color: #28a745; } + +.bootstrap-select.fit-width { + width: auto !important; } + +.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: 220px; } + +.bootstrap-select > select.mobile-device:focus + .dropdown-toggle, +.bootstrap-select .dropdown-toggle:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; } + +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; + height: auto; } + +:not(.input-group) > .bootstrap-select.form-control:not([class*="col-"]) { + width: 100%; } + +.bootstrap-select.form-control.input-group-btn { + float: none; + z-index: auto; } + +.form-inline .bootstrap-select, +.form-inline .bootstrap-select.form-control:not([class*="col-"]) { + width: auto; } + +.bootstrap-select:not(.input-group-btn), +.bootstrap-select[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; } + +.bootstrap-select.dropdown-menu-right, +.bootstrap-select[class*="col-"].dropdown-menu-right, +.row .bootstrap-select[class*="col-"].dropdown-menu-right { + float: right; } + +.form-inline .bootstrap-select, +.form-horizontal .bootstrap-select, +.form-group .bootstrap-select { + margin-bottom: 0; } + +.form-group-lg .bootstrap-select.form-control, +.form-group-sm .bootstrap-select.form-control { + padding: 0; } + +.form-group-lg .bootstrap-select.form-control .dropdown-toggle, +.form-group-sm .bootstrap-select.form-control .dropdown-toggle { + height: 100%; + font-size: inherit; + line-height: inherit; + border-radius: inherit; } + +.bootstrap-select.form-control-sm .dropdown-toggle, +.bootstrap-select.form-control-lg .dropdown-toggle { + font-size: inherit; + line-height: inherit; + border-radius: inherit; } + +.bootstrap-select.form-control-sm .dropdown-toggle { + padding: 0.25rem 0.5rem; } + +.bootstrap-select.form-control-lg .dropdown-toggle { + padding: 0.5rem 1rem; } + +.form-inline .bootstrap-select .form-control { + width: 100%; } + +.bootstrap-select.disabled, +.bootstrap-select > .disabled { + cursor: not-allowed; } + +.bootstrap-select.disabled:focus, +.bootstrap-select > .disabled:focus { + outline: none !important; } + +.bootstrap-select.bs-container { + position: absolute; + top: 0; + left: 0; + height: 0 !important; + padding: 0 !important; } + +.bootstrap-select.bs-container .dropdown-menu { + z-index: 1060; } + +.bootstrap-select .dropdown-toggle .filter-option { + position: static; + top: 0; + left: 0; + float: left; + height: 100%; + width: 100%; + text-align: left; + overflow: hidden; + -webkit-box-flex: 0; + -webkit-flex: 0 1 auto; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } + +.bs3.bootstrap-select .dropdown-toggle .filter-option { + padding-right: inherit; } + +.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option { + position: absolute; + padding-top: inherit; + padding-bottom: inherit; + padding-left: inherit; + float: none; } + +.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner { + padding-right: inherit; } + +.bootstrap-select .dropdown-toggle .filter-option-inner-inner { + overflow: hidden; } + +.bootstrap-select .dropdown-toggle .filter-expand { + width: 0 !important; + float: left; + opacity: 0 !important; + overflow: hidden; } + +.bootstrap-select .dropdown-toggle .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; } + +.input-group .bootstrap-select.form-control .dropdown-toggle { + border-radius: inherit; } + +.bootstrap-select[class*="col-"] .dropdown-toggle { + width: 100%; } + +.bootstrap-select .dropdown-menu { + min-width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.bootstrap-select .dropdown-menu > .inner:focus { + outline: none !important; } + +.bootstrap-select .dropdown-menu.inner { + position: static; + float: none; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; } + +.bootstrap-select .dropdown-menu li { + position: relative; } + +.bootstrap-select .dropdown-menu li.active small { + color: rgba(255, 255, 255, 0.5) !important; } + +.bootstrap-select .dropdown-menu li.disabled a { + cursor: not-allowed; } + +.bootstrap-select .dropdown-menu li a { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.bootstrap-select .dropdown-menu li a.opt { + position: relative; + padding-left: 2.25em; } + +.bootstrap-select .dropdown-menu li a span.check-mark { + display: none; } + +.bootstrap-select .dropdown-menu li a span.text { + display: inline-block; } + +.bootstrap-select .dropdown-menu li small { + padding-left: 0.5em; } + +.bootstrap-select .dropdown-menu .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + pointer-events: none; + opacity: 0.9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.bootstrap-select .dropdown-menu .notify.fadeOut { + -webkit-animation: 300ms linear 750ms forwards bs-notify-fadeOut; + -o-animation: 300ms linear 750ms forwards bs-notify-fadeOut; + animation: 300ms linear 750ms forwards bs-notify-fadeOut; } + +.bootstrap-select .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; + white-space: nowrap; } + +.bootstrap-select.fit-width .dropdown-toggle .filter-option { + position: static; + display: inline; + padding: 0; } + +.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner, +.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner { + display: inline; } + +.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before { + content: '\00a0'; } + +.bootstrap-select.fit-width .dropdown-toggle .caret { + position: static; + top: auto; + margin-top: -1px; } + +.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + top: 5px; } + +.bootstrap-select.show-tick .dropdown-menu li a span.text { + margin-right: 34px; } + +.bootstrap-select .bs-ok-default:after { + content: ''; + display: block; + width: 0.5em; + height: 1em; + border-style: solid; + border-width: 0 0.26em 0.26em 0; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); } + +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, +.bootstrap-select.show-menu-arrow.show > .dropdown-toggle { + z-index: 1061; } + +.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid rgba(204, 204, 204, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; } + +.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; } + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before { + bottom: auto; + top: -4px; + border-top: 7px solid rgba(204, 204, 204, 0.2); + border-bottom: 0; } + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after { + bottom: auto; + top: -4px; + border-top: 6px solid white; + border-bottom: 0; } + +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before { + right: 12px; + left: auto; } + +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after { + right: 13px; + left: auto; } + +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before, +.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before, +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after, +.bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after { + display: block; } + +.bs-searchbox, +.bs-actionsbox, +.bs-donebutton { + padding: 4px 8px; } + +.bs-actionsbox { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.bs-actionsbox .btn-group button { + width: 50%; } + +.bs-donebutton { + float: left; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.bs-donebutton .btn-group button { + width: 100%; } + +.bs-searchbox + .bs-actionsbox { + padding: 0 8px 4px; } + +.bs-searchbox .form-control { + margin-bottom: 0; + width: 100%; + float: none; } + +/*# sourceMappingURL=bootstrap-select.css.map */ + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlc3MvYm9vdHN0cmFwLXNlbGVjdC5sZXNzIiwiYm9vdHN0cmFwLXNlbGVjdC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0VDR0U7QUFFRjtFQUFDO0lETEQsWUFBQSxFQUFBO0VBQ0U7SUFBSSxVQUFBLEVBQUEsRUFBQTs7QUNZTjtFQUNFO0lBVEYsWUFBQSxFQUFBO0VBQUM7SURMRCxVQUFBLEVBQUEsRUFBQTs7QUNxQkE7RUFDRTtJRHBCQSxZQUFBLEVBQUE7RUN1QkE7SUFwQkYsVUFBQSxFQUFBLEVBQUE7O0FETUE7OztFQUdFLHdCQUFBLEVBQUE7O0FBR0Y7RUFDRSxlQUFBO0VDREEsZ0JBQUE7RURFQSxzQkFBQSxFQUFBOztBQUZGO0VBTUksa0JBQUE7RUFDQSxXQUFBO0VBRUEsaUJBQUE7RUFDQSxtQkFBQTtFQUVBLDJCQUFBO0VBQUEsNEJBQUE7RUFBQSwyQkFBQTtFQUFBLG9CQUFBO0VBQ0EseUJBQUE7RUFBQSwyQkFBQTtFQ29CRSxzQkRwQkY7RUNxQk0sbUJEckJOO0VBQ0EseUJBQUE7RUFBQSxzQ0FBQTtFQ3VCRSxzQkR2QkY7RUN3Qk0sOEJEeEJOLEVBQUE7O0FBRUE7RUFDRSxnQkFBQSxFQUFBOztBQUlBOzs7O0VBSUUsV0FBQSxFQUFBOztBQVNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJRSwrQkFBQSxFQUFBOztBQXRDVjtFQTZDSSw2QkFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EseUJBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EscUJBQUE7RUFDQSxxQkFBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQSxFQUFBOztBQUVBO0VBQ0UsTUFBQTtFQUNBLE9BQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUEsRUFBQTs7QUFLSjs7OztFQUlFLHFCQUFBLEVBQUE7O0FBR0Y7O0VBRUUscUJBQUEsRUFBQTs7QUFHRjtFQUNFLHNCQUFBLEVBQUE7O0FBR0Y7RUFDRSxZQUFBLEVBQUE7O0FBbkZKOztFQXdGSSx1Q0FBQTtFQUNBLHFEQUFBO0VBQ0Esb0JBQUEsRUFBQTs7QUFNRjtFQUNFLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBLEVBQUE7O0FBRUE7RUFDRSxXQUFBLEVBQUE7O0FBR0Y7RUFDRSxXQUFBO0VBQ0EsYUFBQSxFQUFBOztBQUlKOztFQUVFLFdBQUEsRUFBQTs7QUFHRjs7RUFFRSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBLEVBQUE7O0FBT0E7OztFQUNFLFlBQUEsRUFBQTs7QUFJSjs7O0VBR0UsZ0JBQUEsRUFBQTs7QUFHRjs7RUFFRSxVQUFBLEVBQUE7O0FBRkY7O0VBS0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxzQkFBQSxFQUFBOztBQUlKOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxzQkFBQSxFQUFBOztBQUdGO0VBQ0UsdUJBQUEsRUFBQTs7QUFHRjtFQUNFLG9CQUFBLEVBQUE7O0FBS0Y7RUFDRSxXQUFBLEVBQUE7O0FBR0Y7O0VBdExBLG1CQUFBLEVBQUE7O0FBMExFOztFQUNFLHdCQUFBLEVBQUE7O0FBSUo7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQSxFQUFBOztBQUxGO0VBUUksYUFBQSxFQUFBOztBQTlGTjtFQXFHTSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQUEsc0JBQUE7RUNBQSxrQkRBQTtFQ0NJLGNEREosRUFBQTs7QUFFQTtFQUNFLHNCQUFBLEVBQUE7O0FBR0Y7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUEsRUFBQTs7QUFMRjtFQVFJLHNCQUFBLEVBQUE7O0FBM0hWO0VBaUlNLGdCQUFBLEVBQUE7O0FBaklOO0VBc0lNLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUEsRUFBQTs7QUF6SU47RUE2SU0sa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUEsRUFBQTs7QUFJSjtFQUNFLHNCQUFBLEVBQUE7O0FBR0Y7RUFDRSxXQUFBLEVBQUE7O0FBMUpKO0VBK0pJLGVBQUE7RUFDQSw4QkFBQTtFQ1ZDLDJCRFVEO0VDVE0sc0JEU04sRUFBQTs7QUFoS0o7RUFtS00sd0JBQUEsRUFBQTs7QUFHRjtFQUNFLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUNUSSxnQkRTSixFQUFBOztBQTdLTjtFQWlMTSxrQkFBQSxFQUFBOztBQUVBO0VBQ0UsMENBQUEsRUFBQTs7QUFHRjtFQWhTSixtQkFBQSxFQUFBOztBQXlHRjtFQTRMUSxlQUFBO0VBQ0EseUJBQUE7RUNYSCxzQkRXRztFQ1ZGLHFCRFVFO0VDVEUsaUJEU0YsRUFBQTs7QUFFQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUEsRUFBQTs7QUFqTVY7RUFxTVUsYUFBQSxFQUFBOztBQXJNVjtFQXlNVSxxQkFBQSxFQUFBOztBQXpNVjtFQThNUSxtQkFBQSxFQUFBOztBQTlNUjtFQW1OTSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsdURBQUE7RUNkSSwrQ0RjSjtFQUNBLG9CQUFBO0VBQ0EsWUFBQTtFQUNBLDhCQUFBO0VDYkQsMkJEYUM7RUNaSSxzQkRZSixFQUFBOztBQUVBO0VBQ0UsZ0VBQUE7RUNYRCwyRERXQztFQ1ZFLHdERFVGLEVBQUE7O0FBak9SO0VBdU9JLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQSxFQUFBOztBQUdGO0VBRUksZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQSxFQUFBOztBQUpKOztFQVNJLGVBQUEsRUFBQTs7QUFUSjtFQWFJLGdCQUFBLEVBQUE7O0FBYko7RUFpQkksZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUEsRUFBQTs7QUFJSjtFQUVJLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQSxFQUFBOztBQUxKO0VBU0ksa0JBQUEsRUFBQTs7QUE3UU47RUFtUkksV0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsK0JBQUE7RUFDQSxvQ0FBQTtFQ3hCTSw0QkR3Qk47RUFDQSxnQ0FBQTtFQ3ZCRSw0QkR1QkY7RUN0QkcsMkJEc0JIO0VDckJNLHdCRHFCTixFQUFBOztBQUtGOztFQUVFLGFBQUEsRUFBQTs7QUFJQTtFQUNFLFdBQUE7RUFDQSxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsaURBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0EsYUFBQSxFQUFBOztBQUdGO0VBQ0UsV0FBQTtFQUNBLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSw4QkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7RUFDQSxhQUFBLEVBQUE7O0FBS0Y7RUFDRSxZQUFBO0VBQ0EsU0FBQTtFQUNBLDhDQUFBO0VBQ0EsZ0JBQUEsRUFBQTs7QUFHRjtFQUNFLFlBQUE7RUFDQSxTQUFBO0VBQ0EsMkJBQUE7RUFDQSxnQkFBQSxFQUFBOztBQUtGO0VBQ0UsV0FBQTtFQUNBLFVBQUEsRUFBQTs7QUFHRjtFQUNFLFdBQUE7RUFDQSxVQUFBLEVBQUE7O0FBTUY7Ozs7RUFFRSxjQUFBLEVBQUE7O0FBS047OztFQUdFLGdCQUFBLEVBQUE7O0FBR0Y7RUFDRSxXQUFBO0VBQ0EsOEJBQUE7RUN4Q0csMkJEd0NIO0VDdkNRLHNCRHVDUixFQUFBOztBQUVBO0VBQ0UsVUFBQSxFQUFBOztBQUlKO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSw4QkFBQTtFQ3hDRywyQkR3Q0g7RUN2Q1Esc0JEdUNSLEVBQUE7O0FBRUE7RUFDRSxXQUFBLEVBQUE7O0FBS0Y7RUFDRSxrQkFBQSxFQUFBOztBQUdGO0VBQ0UsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQSxFQUFBOztBQ3pDSiwrQ0FBQSIsImZpbGUiOiJib290c3RyYXAtc2VsZWN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuQGtleWZyYW1lcyBicy1ub3RpZnktZmFkZU91dCB7XG4gIDAlIHtvcGFjaXR5OiAwLjk7fVxuICAxMDAlIHtvcGFjaXR5OiAwO31cbn1cblxuLy8gTWl4aW5zXG4uY3Vyc29yLWRpc2FibGVkKCkge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLyBSdWxlc1xuc2VsZWN0LmJzLXNlbGVjdC1oaWRkZW4sXG4uYm9vdHN0cmFwLXNlbGVjdCA+IHNlbGVjdC5icy1zZWxlY3QtaGlkZGVuLFxuc2VsZWN0LnNlbGVjdHBpY2tlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Qge1xuICB3aWR0aDogMjIwcHggXFwwOyAvKklFOSBhbmQgYmVsb3cqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIC8vIFRoZSBzZWxlY3RwaWNrZXIgYnV0dG9uXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIG5lY2Vzc2FyeSBmb3IgcHJvcGVyIHBvc2l0aW9uaW5nIG9mIGNhcmV0IGluIEJvb3RzdHJhcCA0IChwdXNoZXMgY2FyZXQgdG8gdGhlIHJpZ2h0KVxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gZm9yY2UgY2FyZXQgdG8gYmUgdmVydGljYWxseSBjZW50ZXJlZCBmb3IgQm9vdHN0cmFwIDQgbXVsdGktbGluZSBidXR0b25zXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuXG4gICAgJi5icy1wbGFjZWhvbGRlciB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI7XG4gICAgICB9XG5cbiAgICAgICYuYnRuLXByaW1hcnksXG4gICAgICAmLmJ0bi1zZWNvbmRhcnksXG4gICAgICAmLmJ0bi1zdWNjZXNzLFxuICAgICAgJi5idG4tZGFuZ2VyLFxuICAgICAgJi5idG4taW5mbyxcbiAgICAgICYuYnRuLWRhcmsge1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IEBpbnB1dC1hbHQtY29sb3ItcGxhY2Vob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IHNlbGVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwLjVweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcblxuICAgICYubW9iaWxlLWRldmljZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRXJyb3IgZGlzcGxheVxuICAuaGFzLWVycm9yICYgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLmVycm9yICYgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgJi5pcy1pbnZhbGlkIC5kcm9wZG93bi10b2dnbGUsXG4gIC53YXMtdmFsaWRhdGVkICYgc2VsZWN0OmludmFsaWQgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvci1yZWQtZXJyb3I7XG4gIH1cblxuICAmLmlzLXZhbGlkIC5kcm9wZG93bi10b2dnbGUsXG4gIC53YXMtdmFsaWRhdGVkICYgc2VsZWN0OnZhbGlkICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItZ3JlZW4tc3VjY2VzcztcbiAgfVxuXG4gICYuZml0LXdpZHRoIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjpub3QoW2NsYXNzKj1cImNvbC1cIl0pOm5vdChbY2xhc3MqPVwiZm9ybS1jb250cm9sXCJdKTpub3QoLmlucHV0LWdyb3VwLWJ0bikge1xuICAgIHdpZHRoOiBAd2lkdGgtZGVmYXVsdDtcbiAgfVxuXG4gID4gc2VsZWN0Lm1vYmlsZS1kZXZpY2U6Zm9jdXMgKyAuZHJvcGRvd24tdG9nZ2xlLFxuICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbn1cblxuLy8gVGhlIHNlbGVjdHBpY2tlciBjb21wb25lbnRzXG4uYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIDpub3QoLmlucHV0LWdyb3VwKSA+ICY6bm90KFtjbGFzcyo9XCJjb2wtXCJdKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taW5saW5lICYsXG4gIC5mb3JtLWlubGluZSAmLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj1cImNvbC1cIl0pIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gICY6bm90KC5pbnB1dC1ncm91cC1idG4pLFxuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIEZvcmNlcyB0aGUgcHVsbCB0byB0aGUgcmlnaHQsIGlmIG5lY2Vzc2FyeVxuICAmLFxuICAmW2NsYXNzKj1cImNvbC1cIl0sXG4gIC5yb3cgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWlubGluZSAmLFxuICAuZm9ybS1ob3Jpem9udGFsICYsXG4gIC5mb3JtLWdyb3VwICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZm9ybS1ncm91cC1sZyAmLmZvcm0tY29udHJvbCxcbiAgLmZvcm0tZ3JvdXAtc20gJi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSAuZHJvcGRvd24tdG9nZ2xlLFxuICAmLmZvcm0tY29udHJvbC1sZyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHBhZGRpbmc6IEBpbnB1dC1wYWRkaW5nLXktc20gQGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHBhZGRpbmc6IEBpbnB1dC1wYWRkaW5nLXktbGcgQGlucHV0LXBhZGRpbmcteC1sZztcbiAgfVxuXG4gIC8vIFNldCB0aGUgd2lkdGggb2YgdGhlIGxpdmUgc2VhcmNoIChhbmQgYW55IG90aGVyIGZvcm0gY29udHJvbCB3aXRoaW4gYW4gaW5saW5lIGZvcm0pXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2lsdmlvbW9yZXRvL2Jvb3RzdHJhcC1zZWxlY3QvaXNzdWVzLzY4NVxuICAuZm9ybS1pbmxpbmUgJiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gID4gLmRpc2FibGVkIHtcbiAgICAuY3Vyc29yLWRpc2FibGVkKCk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLmJzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICB6LWluZGV4OiBAemluZGV4LXNlbGVjdC1kcm9wZG93bjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgc2VsZWN0cGlja2VyIGJ1dHRvblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuZmlsdGVyLW9wdGlvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZsZXg6IDAgMSBhdXRvOyAvLyBmb3IgSUUxMFxuXG4gICAgICAuYnMzJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC5pbnB1dC1ncm91cCAuYnMzLWhhcy1hZGRvbiYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmctdG9wOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAuZmlsdGVyLW9wdGlvbi1pbm5lciB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItb3B0aW9uLWlubmVyLWlubmVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gdXNlZCB0byBleHBhbmQgdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHdoZW4gaW5zaWRlIGFuIGlucHV0IGdyb3VwXG4gICAgLmZpbHRlci1leHBhbmQge1xuICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY2FyZXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCAmLmZvcm0tY29udHJvbCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICB9XG5cbiAgJltjbGFzcyo9XCJjb2wtXCJdIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVGhlIHNlbGVjdHBpY2tlciBkcm9wZG93blxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICA+IC5pbm5lcjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbm5lciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmLmFjdGl2ZSBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiBAaW5wdXQtYWx0LWNvbG9yLXBsYWNlaG9sZGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQgYSB7XG4gICAgICAgIC5jdXJzb3ItZGlzYWJsZWQoKTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgJi5vcHQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4uY2hlY2stbWFyayB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4udGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm90aWZ5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1hcmdpbjogMCAyJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIyNywgMjI3LCAyMjcpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IGZhZGUocmdiKDAsIDAsIDApLCA1JSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICYuZmFkZU91dCB7XG4gICAgICAgIGFuaW1hdGlvbjogMzAwbXMgbGluZWFyIDc1MG1zIGZvcndhcmRzIGJzLW5vdGlmeS1mYWRlT3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmLmZpdC13aWR0aCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuZmlsdGVyLW9wdGlvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLW9wdGlvbi1pbm5lcixcbiAgICAuZmlsdGVyLW9wdGlvbi1pbm5lci1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLmJzLWNhcmV0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG5cbiAgICAuY2FyZXQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgJi5zaG93LXRpY2sgLmRyb3Bkb3duLW1lbnUge1xuICAgIC5zZWxlY3RlZCBzcGFuLmNoZWNrLW1hcmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG5cbiAgICBsaSBhIHNwYW4udGV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gZGVmYXVsdCBjaGVjayBtYXJrIGZvciB1c2Ugd2l0aG91dCBhbiBpY29uIGZvbnRcbiAgLmJzLW9rLWRlZmF1bHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwLjVlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwLjI2ZW0gMC4yNmVtIDA7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbn1cblxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93IHtcbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSxcbiAgJi5zaG93ID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgei1pbmRleDogKEB6aW5kZXgtc2VsZWN0LWRyb3Bkb3duICsgMSk7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCBAY29sb3ItZ3JleS1hcnJvdztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCBAY29sb3ItZ3JleS1hcnJvdztcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgd2hpdGU7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYucHVsbC1yaWdodCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMTNweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbixcbiAgJi5zaG93ID4gLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbiB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmJzLXNlYXJjaGJveCxcbi5icy1hY3Rpb25zYm94LFxuLmJzLWRvbmVidXR0b24ge1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4uYnMtYWN0aW9uc2JveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICYgLmJ0bi1ncm91cCBidXR0b24ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmJzLWRvbmVidXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJiAuYnRuLWdyb3VwIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJzLXNlYXJjaGJveCB7XG4gICYgKyAuYnMtYWN0aW9uc2JveCB7XG4gICAgcGFkZGluZzogMCA4cHggNHB4O1xuICB9XG5cbiAgJiAuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG4iLCIvKiFcclxuICogQm9vdHN0cmFwLXNlbGVjdCB2MS4xMy4xNyAoaHR0cHM6Ly9kZXZlbG9wZXIuc25hcGFwcG9pbnRtZW50cy5jb20vYm9vdHN0cmFwLXNlbGVjdClcclxuICpcclxuICogQ29weXJpZ2h0IDIwMTItMjAyMCBTbmFwQXBwb2ludG1lbnRzLCBMTENcclxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vc25hcGFwcG9pbnRtZW50cy9ib290c3RyYXAtc2VsZWN0L2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXHJcbiAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJzLW5vdGlmeS1mYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5ALW8ta2V5ZnJhbWVzIGJzLW5vdGlmeS1mYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJzLW5vdGlmeS1mYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5zZWxlY3QuYnMtc2VsZWN0LWhpZGRlbixcbi5ib290c3RyYXAtc2VsZWN0ID4gc2VsZWN0LmJzLXNlbGVjdC1oaWRkZW4sXG5zZWxlY3Quc2VsZWN0cGlja2VyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJvb3RzdHJhcC1zZWxlY3Qge1xuICB3aWR0aDogMjIwcHggXFwwO1xuICAvKklFOSBhbmQgYmVsb3cqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlOmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlcixcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlcjpob3Zlcixcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlcjpmb2N1cyxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlcjphY3RpdmUge1xuICBjb2xvcjogIzk5OTtcbn1cbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tcHJpbWFyeSxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tc2Vjb25kYXJ5LFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1zdWNjZXNzLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1kYW5nZXIsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLWluZm8sXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLWRhcmssXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLXByaW1hcnk6aG92ZXIsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLXNlY29uZGFyeTpob3Zlcixcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tc3VjY2Vzczpob3Zlcixcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tZGFuZ2VyOmhvdmVyLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1pbmZvOmhvdmVyLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1kYXJrOmhvdmVyLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1wcmltYXJ5OmZvY3VzLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLWRhbmdlcjpmb2N1cyxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4taW5mbzpmb2N1cyxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tZGFyazpmb2N1cyxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tcHJpbWFyeTphY3RpdmUsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLXNlY29uZGFyeTphY3RpdmUsXG4uYm9vdHN0cmFwLXNlbGVjdCA+IC5kcm9wZG93bi10b2dnbGUuYnMtcGxhY2Vob2xkZXIuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1kYW5nZXI6YWN0aXZlLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZHJvcGRvd24tdG9nZ2xlLmJzLXBsYWNlaG9sZGVyLmJ0bi1pbmZvOmFjdGl2ZSxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRyb3Bkb3duLXRvZ2dsZS5icy1wbGFjZWhvbGRlci5idG4tZGFyazphY3RpdmUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgPiBzZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAwLjVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50O1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgPiBzZWxlY3QubW9iaWxlLWRldmljZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xufVxuLmhhcy1lcnJvciAuYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tdG9nZ2xlLFxuLmVycm9yIC5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGUsXG4uYm9vdHN0cmFwLXNlbGVjdC5pcy1pbnZhbGlkIC5kcm9wZG93bi10b2dnbGUsXG4ud2FzLXZhbGlkYXRlZCAuYm9vdHN0cmFwLXNlbGVjdCBzZWxlY3Q6aW52YWxpZCArIC5kcm9wZG93bi10b2dnbGUge1xuICBib3JkZXItY29sb3I6ICNiOTRhNDg7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5pcy12YWxpZCAuZHJvcGRvd24tdG9nZ2xlLFxuLndhcy12YWxpZGF0ZWQgLmJvb3RzdHJhcC1zZWxlY3Qgc2VsZWN0OnZhbGlkICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmZpdC13aWR0aCB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uYm9vdHN0cmFwLXNlbGVjdDpub3QoW2NsYXNzKj1cImNvbC1cIl0pOm5vdChbY2xhc3MqPVwiZm9ybS1jb250cm9sXCJdKTpub3QoLmlucHV0LWdyb3VwLWJ0bikge1xuICB3aWR0aDogMjIwcHg7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCA+IHNlbGVjdC5tb2JpbGUtZGV2aWNlOmZvY3VzICsgLmRyb3Bkb3duLXRvZ2dsZSxcbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuOm5vdCguaW5wdXQtZ3JvdXApID4gLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiY29sLVwiXSkge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbC5pbnB1dC1ncm91cC1idG4ge1xuICBmbG9hdDogbm9uZTtcbiAgei1pbmRleDogYXV0bztcbn1cbi5mb3JtLWlubGluZSAuYm9vdHN0cmFwLXNlbGVjdCxcbi5mb3JtLWlubGluZSAuYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJjb2wtXCJdKSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmJvb3RzdHJhcC1zZWxlY3Q6bm90KC5pbnB1dC1ncm91cC1idG4pLFxuLmJvb3RzdHJhcC1zZWxlY3RbY2xhc3MqPVwiY29sLVwiXSB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QuZHJvcGRvd24tbWVudS1yaWdodCxcbi5ib290c3RyYXAtc2VsZWN0W2NsYXNzKj1cImNvbC1cIl0uZHJvcGRvd24tbWVudS1yaWdodCxcbi5yb3cgLmJvb3RzdHJhcC1zZWxlY3RbY2xhc3MqPVwiY29sLVwiXS5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmZvcm0taW5saW5lIC5ib290c3RyYXAtc2VsZWN0LFxuLmZvcm0taG9yaXpvbnRhbCAuYm9vdHN0cmFwLXNlbGVjdCxcbi5mb3JtLWdyb3VwIC5ib290c3RyYXAtc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5mb3JtLWdyb3VwLWxnIC5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCxcbi5mb3JtLWdyb3VwLXNtIC5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZm9ybS1ncm91cC1sZyAuYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wgLmRyb3Bkb3duLXRvZ2dsZSxcbi5mb3JtLWdyb3VwLXNtIC5ib290c3RyYXAtc2VsZWN0LmZvcm0tY29udHJvbCAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sLXNtIC5kcm9wZG93bi10b2dnbGUsXG4uYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wtbGcgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5mb3JtLWNvbnRyb2wtc20gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sLWxnIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbn1cbi5mb3JtLWlubGluZSAuYm9vdHN0cmFwLXNlbGVjdCAuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5kaXNhYmxlZCxcbi5ib290c3RyYXAtc2VsZWN0ID4gLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmRpc2FibGVkOmZvY3VzLFxuLmJvb3RzdHJhcC1zZWxlY3QgPiAuZGlzYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5icy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmJzLWNvbnRhaW5lciAuZHJvcGRvd24tbWVudSB7XG4gIHotaW5kZXg6IDEwNjA7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDEgYXV0bztcbiAgICAgIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbn1cbi5iczMuYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uIHtcbiAgcGFkZGluZy1yaWdodDogaW5oZXJpdDtcbn1cbi5pbnB1dC1ncm91cCAuYnMzLWhhcy1hZGRvbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmctdG9wOiBpbmhlcml0O1xuICBwYWRkaW5nLWJvdHRvbTogaW5oZXJpdDtcbiAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICBmbG9hdDogbm9uZTtcbn1cbi5pbnB1dC1ncm91cCAuYnMzLWhhcy1hZGRvbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb24gLmZpbHRlci1vcHRpb24taW5uZXIge1xuICBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0O1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbi1pbm5lci1pbm5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItZXhwYW5kIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEycHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW5wdXQtZ3JvdXAgLmJvb3RzdHJhcC1zZWxlY3QuZm9ybS1jb250cm9sIC5kcm9wZG93bi10b2dnbGUge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLmJvb3RzdHJhcC1zZWxlY3RbY2xhc3MqPVwiY29sLVwiXSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi1tZW51ID4gLmlubmVyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLW1lbnUuaW5uZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLW1lbnUgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSBsaS5hY3RpdmUgc21hbGwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSBsaS5kaXNhYmxlZCBhIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi1tZW51IGxpIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSBsaSBhLm9wdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyLjI1ZW07XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSBsaSBhIHNwYW4uY2hlY2stbWFyayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSBsaSBhIHNwYW4udGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi1tZW51IGxpIHNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbn1cbi5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi1tZW51IC5ub3RpZnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNXB4O1xuICB3aWR0aDogOTYlO1xuICBtYXJnaW46IDAgMiU7XG4gIG1pbi1oZWlnaHQ6IDI2cHg7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlM2UzZTM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuZHJvcGRvd24tbWVudSAubm90aWZ5LmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbjogMzAwbXMgbGluZWFyIDc1MG1zIGZvcndhcmRzIGJzLW5vdGlmeS1mYWRlT3V0O1xuICAgICAgIC1vLWFuaW1hdGlvbjogMzAwbXMgbGluZWFyIDc1MG1zIGZvcndhcmRzIGJzLW5vdGlmeS1mYWRlT3V0O1xuICAgICAgICAgIGFuaW1hdGlvbjogMzAwbXMgbGluZWFyIDc1MG1zIGZvcndhcmRzIGJzLW5vdGlmeS1mYWRlT3V0O1xufVxuLmJvb3RzdHJhcC1zZWxlY3QgLm5vLXJlc3VsdHMge1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIG1hcmdpbjogMCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5maXQtd2lkdGggLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMDtcbn1cbi5ib290c3RyYXAtc2VsZWN0LmZpdC13aWR0aCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uLWlubmVyLFxuLmJvb3RzdHJhcC1zZWxlY3QuZml0LXdpZHRoIC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb24taW5uZXItaW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5maXQtd2lkdGggLmRyb3Bkb3duLXRvZ2dsZSAuYnMtY2FyZXQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhMCc7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5maXQtd2lkdGggLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5zaG93LXRpY2sgLmRyb3Bkb3duLW1lbnUgLnNlbGVjdGVkIHNwYW4uY2hlY2stbWFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICByaWdodDogMTVweDtcbiAgdG9wOiA1cHg7XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5zaG93LXRpY2sgLmRyb3Bkb3duLW1lbnUgbGkgYSBzcGFuLnRleHQge1xuICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG59XG4uYm9vdHN0cmFwLXNlbGVjdCAuYnMtb2stZGVmYXVsdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuMjZlbSAwLjI2ZW0gMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93Lm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93LnNob3cgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgei1pbmRleDogMTA2MTtcbn1cbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdyAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IDlweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdyAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgd2hpdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNHB4O1xuICBsZWZ0OiAxMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAtNHB4O1xuICBib3JkZXItdG9wOiA3cHggc29saWQgcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmFmdGVyIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IC00cHg7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdy5wdWxsLXJpZ2h0IC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb246YmVmb3JlIHtcbiAgcmlnaHQ6IDEycHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5zaG93LW1lbnUtYXJyb3cucHVsbC1yaWdodCAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmFmdGVyIHtcbiAgcmlnaHQ6IDEzcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uYm9vdHN0cmFwLXNlbGVjdC5zaG93LW1lbnUtYXJyb3cub3BlbiA+IC5kcm9wZG93bi10b2dnbGUgLmZpbHRlci1vcHRpb246YmVmb3JlLFxuLmJvb3RzdHJhcC1zZWxlY3Quc2hvdy1tZW51LWFycm93LnNob3cgPiAuZHJvcGRvd24tdG9nZ2xlIC5maWx0ZXItb3B0aW9uOmJlZm9yZSxcbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdy5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbjphZnRlcixcbi5ib290c3RyYXAtc2VsZWN0LnNob3ctbWVudS1hcnJvdy5zaG93ID4gLmRyb3Bkb3duLXRvZ2dsZSAuZmlsdGVyLW9wdGlvbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJzLXNlYXJjaGJveCxcbi5icy1hY3Rpb25zYm94LFxuLmJzLWRvbmVidXR0b24ge1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuLmJzLWFjdGlvbnNib3gge1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5icy1hY3Rpb25zYm94IC5idG4tZ3JvdXAgYnV0dG9uIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5icy1kb25lYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmJzLWRvbmVidXR0b24gLmJ0bi1ncm91cCBidXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5icy1zZWFyY2hib3ggKyAuYnMtYWN0aW9uc2JveCB7XG4gIHBhZGRpbmc6IDAgOHB4IDRweDtcbn1cbi5icy1zZWFyY2hib3ggLmZvcm0tY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC1zZWxlY3QuY3NzLm1hcCAqLyJdfQ== */ diff --git a/RIGS/static/css/bootstrap-select.min.css b/RIGS/static/css/bootstrap-select.min.css deleted file mode 100755 index 9d96ebb3..00000000 --- a/RIGS/static/css/bootstrap-select.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap-select v1.12.4 (http://silviomoreto.github.io/bootstrap-select) - * - * Copyright 2013-2017 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child)>.btn{border-radius:0}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute;height:0!important;padding:0!important}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} \ No newline at end of file diff --git a/RIGS/static/css/dark_screen.css b/RIGS/static/css/dark_screen.css new file mode 100644 index 00000000..b6d8d328 --- /dev/null +++ b/RIGS/static/css/dark_screen.css @@ -0,0 +1,6650 @@ +[data-theme='dark'] { + background: #222; + color: #f8f9fa; } + [data-theme='dark'] :root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #3A52A2; + --secondary: #6c757d; + --success: #3AB54A; + --info: #25AAE2; + --warning: #FFE89B; + --danger: #BF1E2E; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: "Open Sans", sans-serif; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + [data-theme='dark'] *, + [data-theme='dark'] *::before, + [data-theme='dark'] *::after { + box-sizing: border-box; } + [data-theme='dark'] html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + [data-theme='dark'] article, [data-theme='dark'] aside, [data-theme='dark'] figcaption, [data-theme='dark'] figure, [data-theme='dark'] footer, [data-theme='dark'] header, [data-theme='dark'] hgroup, [data-theme='dark'] main, [data-theme='dark'] nav, [data-theme='dark'] section { + display: block; } + [data-theme='dark'] body { + margin: 0; + font-family: "Open Sans", sans-serif; + font-size: 0.85rem; + font-weight: 400; + line-height: 1.5; + color: #d3d3d3; + text-align: left; + background-color: #191d21; } + [data-theme='dark'] [tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; } + [data-theme='dark'] hr { + box-sizing: content-box; + height: 0; + overflow: visible; } + [data-theme='dark'] h1, [data-theme='dark'] h2, [data-theme='dark'] h3, [data-theme='dark'] h4, [data-theme='dark'] h5, [data-theme='dark'] h6 { + margin-top: 0; + margin-bottom: 0.5rem; } + [data-theme='dark'] p { + margin-top: 0; + margin-bottom: 1rem; } + [data-theme='dark'] abbr[title], + [data-theme='dark'] abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; } + [data-theme='dark'] address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + [data-theme='dark'] ol, + [data-theme='dark'] ul, + [data-theme='dark'] dl { + margin-top: 0; + margin-bottom: 1rem; } + [data-theme='dark'] ol ol, + [data-theme='dark'] ul ul, + [data-theme='dark'] ol ul, + [data-theme='dark'] ul ol { + margin-bottom: 0; } + [data-theme='dark'] dt { + font-weight: 700; } + [data-theme='dark'] dd { + margin-bottom: .5rem; + margin-left: 0; } + [data-theme='dark'] blockquote { + margin: 0 0 1rem; } + [data-theme='dark'] b, + [data-theme='dark'] strong { + font-weight: bolder; } + [data-theme='dark'] small { + font-size: 80%; } + [data-theme='dark'] sub, + [data-theme='dark'] sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } + [data-theme='dark'] sub { + bottom: -.25em; } + [data-theme='dark'] sup { + top: -.5em; } + [data-theme='dark'] a { + color: #adadad; + text-decoration: none; + background-color: transparent; } + [data-theme='dark'] a:hover { + color: #878787; + text-decoration: underline; } + [data-theme='dark'] a:not([href]):not([class]) { + color: inherit; + text-decoration: none; } + [data-theme='dark'] a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; } + [data-theme='dark'] pre, + [data-theme='dark'] code, + [data-theme='dark'] kbd, + [data-theme='dark'] samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; } + [data-theme='dark'] pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; } + [data-theme='dark'] figure { + margin: 0 0 1rem; } + [data-theme='dark'] img { + vertical-align: middle; + border-style: none; } + [data-theme='dark'] svg { + overflow: hidden; + vertical-align: middle; } + [data-theme='dark'] table { + border-collapse: collapse; } + [data-theme='dark'] caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; } + [data-theme='dark'] th { + text-align: inherit; } + [data-theme='dark'] label { + display: inline-block; + margin-bottom: 0.5rem; } + [data-theme='dark'] button { + border-radius: 0; } + [data-theme='dark'] button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } + [data-theme='dark'] input, + [data-theme='dark'] button, + [data-theme='dark'] select, + [data-theme='dark'] optgroup, + [data-theme='dark'] textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } + [data-theme='dark'] button, + [data-theme='dark'] input { + overflow: visible; } + [data-theme='dark'] button, + [data-theme='dark'] select { + text-transform: none; } + [data-theme='dark'] [role="button"] { + cursor: pointer; } + [data-theme='dark'] select { + word-wrap: normal; } + [data-theme='dark'] button, + [data-theme='dark'] [type="button"], + [data-theme='dark'] [type="reset"], + [data-theme='dark'] [type="submit"] { + -webkit-appearance: button; } + [data-theme='dark'] button:not(:disabled), + [data-theme='dark'] [type="button"]:not(:disabled), + [data-theme='dark'] [type="reset"]:not(:disabled), + [data-theme='dark'] [type="submit"]:not(:disabled) { + cursor: pointer; } + [data-theme='dark'] button::-moz-focus-inner, + [data-theme='dark'] [type="button"]::-moz-focus-inner, + [data-theme='dark'] [type="reset"]::-moz-focus-inner, + [data-theme='dark'] [type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; } + [data-theme='dark'] input[type="radio"], + [data-theme='dark'] input[type="checkbox"] { + box-sizing: border-box; + padding: 0; } + [data-theme='dark'] textarea { + overflow: auto; + resize: vertical; } + [data-theme='dark'] fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + [data-theme='dark'] legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } + [data-theme='dark'] progress { + vertical-align: baseline; } + [data-theme='dark'] [type="number"]::-webkit-inner-spin-button, + [data-theme='dark'] [type="number"]::-webkit-outer-spin-button { + height: auto; } + [data-theme='dark'] [type="search"] { + outline-offset: -2px; + -webkit-appearance: none; } + [data-theme='dark'] [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + [data-theme='dark'] ::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; } + [data-theme='dark'] output { + display: inline-block; } + [data-theme='dark'] summary { + display: list-item; + cursor: pointer; } + [data-theme='dark'] template { + display: none; } + [data-theme='dark'] [hidden] { + display: none !important; } + [data-theme='dark'] h1, [data-theme='dark'] h2, [data-theme='dark'] h3, [data-theme='dark'] h4, [data-theme='dark'] h5, [data-theme='dark'] h6, + [data-theme='dark'] .h1, [data-theme='dark'] .h2, [data-theme='dark'] .h3, [data-theme='dark'] .h4, [data-theme='dark'] .h5, [data-theme='dark'] .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; } + [data-theme='dark'] h1, [data-theme='dark'] .h1 { + font-size: 2.125rem; } + [data-theme='dark'] h2, [data-theme='dark'] .h2 { + font-size: 1.7rem; } + [data-theme='dark'] h3, [data-theme='dark'] .h3 { + font-size: 1.4875rem; } + [data-theme='dark'] h4, [data-theme='dark'] .h4 { + font-size: 1.275rem; } + [data-theme='dark'] h5, [data-theme='dark'] .h5 { + font-size: 1.0625rem; } + [data-theme='dark'] h6, [data-theme='dark'] .h6 { + font-size: 0.85rem; } + [data-theme='dark'] .lead { + font-size: 1.0625rem; + font-weight: 300; } + [data-theme='dark'] .display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; } + [data-theme='dark'] .display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; } + [data-theme='dark'] .display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; } + [data-theme='dark'] .display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; } + [data-theme='dark'] hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(255, 255, 255, 0.1); } + [data-theme='dark'] small, + [data-theme='dark'] .small { + font-size: 80%; + font-weight: 400; } + [data-theme='dark'] mark, + [data-theme='dark'] .mark { + padding: 0.2em; + background-color: #fcf8e3; } + [data-theme='dark'] .list-unstyled { + padding-left: 0; + list-style: none; } + [data-theme='dark'] .list-inline { + padding-left: 0; + list-style: none; } + [data-theme='dark'] .list-inline-item { + display: inline-block; } + [data-theme='dark'] .list-inline-item:not(:last-child) { + margin-right: 0.5rem; } + [data-theme='dark'] .initialism { + font-size: 90%; + text-transform: uppercase; } + [data-theme='dark'] .blockquote { + margin-bottom: 1rem; + font-size: 1.0625rem; } + [data-theme='dark'] .blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; } + [data-theme='dark'] .blockquote-footer::before { + content: "\2014\00A0"; } + [data-theme='dark'] .img-fluid { + max-width: 100%; + height: auto; } + [data-theme='dark'] .img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + max-width: 100%; + height: auto; } + [data-theme='dark'] .figure { + display: inline-block; } + [data-theme='dark'] .figure-img { + margin-bottom: 0.5rem; + line-height: 1; } + [data-theme='dark'] .figure-caption { + font-size: 90%; + color: #6c757d; } + [data-theme='dark'] code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; } + a > [data-theme='dark'] code { + color: inherit; } + [data-theme='dark'] kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; + box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); } + [data-theme='dark'] kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + box-shadow: none; } + [data-theme='dark'] pre { + display: block; + font-size: 87.5%; + color: #212529; } + [data-theme='dark'] pre code { + font-size: inherit; + color: inherit; + word-break: normal; } + [data-theme='dark'] .pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + [data-theme='dark'] .container, + [data-theme='dark'] .container-fluid, + [data-theme='dark'] .container-sm, + [data-theme='dark'] .container-md, + [data-theme='dark'] .container-lg, + [data-theme='dark'] .container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } + @media (min-width: 576px) { + [data-theme='dark'] .container, [data-theme='dark'] .container-sm { + max-width: 540px; } } + @media (min-width: 768px) { + [data-theme='dark'] .container, [data-theme='dark'] .container-sm, [data-theme='dark'] .container-md { + max-width: 720px; } } + @media (min-width: 992px) { + [data-theme='dark'] .container, [data-theme='dark'] .container-sm, [data-theme='dark'] .container-md, [data-theme='dark'] .container-lg { + max-width: 960px; } } + @media (min-width: 1200px) { + [data-theme='dark'] .container, [data-theme='dark'] .container-sm, [data-theme='dark'] .container-md, [data-theme='dark'] .container-lg, [data-theme='dark'] .container-xl { + max-width: 1140px; } } + [data-theme='dark'] .row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; } + [data-theme='dark'] .no-gutters { + margin-right: 0; + margin-left: 0; } + [data-theme='dark'] .no-gutters > .col, + [data-theme='dark'] .no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; } + [data-theme='dark'] .col-1, [data-theme='dark'] .col-2, [data-theme='dark'] .col-3, [data-theme='dark'] .col-4, [data-theme='dark'] .col-5, [data-theme='dark'] .col-6, [data-theme='dark'] .col-7, [data-theme='dark'] .col-8, [data-theme='dark'] .col-9, [data-theme='dark'] .col-10, [data-theme='dark'] .col-11, [data-theme='dark'] .col-12, [data-theme='dark'] .col, + [data-theme='dark'] .col-auto, [data-theme='dark'] .col-sm-1, [data-theme='dark'] .col-sm-2, [data-theme='dark'] .col-sm-3, [data-theme='dark'] .col-sm-4, [data-theme='dark'] .col-sm-5, [data-theme='dark'] .col-sm-6, [data-theme='dark'] .col-sm-7, [data-theme='dark'] .col-sm-8, [data-theme='dark'] .col-sm-9, [data-theme='dark'] .col-sm-10, [data-theme='dark'] .col-sm-11, [data-theme='dark'] .col-sm-12, [data-theme='dark'] .col-sm, + [data-theme='dark'] .col-sm-auto, [data-theme='dark'] .col-md-1, [data-theme='dark'] .col-md-2, [data-theme='dark'] .col-md-3, [data-theme='dark'] .col-md-4, [data-theme='dark'] .col-md-5, [data-theme='dark'] .col-md-6, [data-theme='dark'] .col-md-7, [data-theme='dark'] .col-md-8, [data-theme='dark'] .col-md-9, [data-theme='dark'] .col-md-10, [data-theme='dark'] .col-md-11, [data-theme='dark'] .col-md-12, [data-theme='dark'] .col-md, + [data-theme='dark'] .col-md-auto, [data-theme='dark'] .col-lg-1, [data-theme='dark'] .col-lg-2, [data-theme='dark'] .col-lg-3, [data-theme='dark'] .col-lg-4, [data-theme='dark'] .col-lg-5, [data-theme='dark'] .col-lg-6, [data-theme='dark'] .col-lg-7, [data-theme='dark'] .col-lg-8, [data-theme='dark'] .col-lg-9, [data-theme='dark'] .col-lg-10, [data-theme='dark'] .col-lg-11, [data-theme='dark'] .col-lg-12, [data-theme='dark'] .col-lg, + [data-theme='dark'] .col-lg-auto, [data-theme='dark'] .col-xl-1, [data-theme='dark'] .col-xl-2, [data-theme='dark'] .col-xl-3, [data-theme='dark'] .col-xl-4, [data-theme='dark'] .col-xl-5, [data-theme='dark'] .col-xl-6, [data-theme='dark'] .col-xl-7, [data-theme='dark'] .col-xl-8, [data-theme='dark'] .col-xl-9, [data-theme='dark'] .col-xl-10, [data-theme='dark'] .col-xl-11, [data-theme='dark'] .col-xl-12, [data-theme='dark'] .col-xl, + [data-theme='dark'] .col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; } + [data-theme='dark'] .col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + [data-theme='dark'] .row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .row-cols-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; } + [data-theme='dark'] .row-cols-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + [data-theme='dark'] .col-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; } + [data-theme='dark'] .col-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-3 { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .col-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .col-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; } + [data-theme='dark'] .col-6 { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .col-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; } + [data-theme='dark'] .col-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; } + [data-theme='dark'] .col-9 { + flex: 0 0 75%; + max-width: 75%; } + [data-theme='dark'] .col-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; } + [data-theme='dark'] .col-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; } + [data-theme='dark'] .col-12 { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .order-first { + order: -1; } + [data-theme='dark'] .order-last { + order: 13; } + [data-theme='dark'] .order-0 { + order: 0; } + [data-theme='dark'] .order-1 { + order: 1; } + [data-theme='dark'] .order-2 { + order: 2; } + [data-theme='dark'] .order-3 { + order: 3; } + [data-theme='dark'] .order-4 { + order: 4; } + [data-theme='dark'] .order-5 { + order: 5; } + [data-theme='dark'] .order-6 { + order: 6; } + [data-theme='dark'] .order-7 { + order: 7; } + [data-theme='dark'] .order-8 { + order: 8; } + [data-theme='dark'] .order-9 { + order: 9; } + [data-theme='dark'] .order-10 { + order: 10; } + [data-theme='dark'] .order-11 { + order: 11; } + [data-theme='dark'] .order-12 { + order: 12; } + [data-theme='dark'] .offset-1 { + margin-left: 8.33333%; } + [data-theme='dark'] .offset-2 { + margin-left: 16.66667%; } + [data-theme='dark'] .offset-3 { + margin-left: 25%; } + [data-theme='dark'] .offset-4 { + margin-left: 33.33333%; } + [data-theme='dark'] .offset-5 { + margin-left: 41.66667%; } + [data-theme='dark'] .offset-6 { + margin-left: 50%; } + [data-theme='dark'] .offset-7 { + margin-left: 58.33333%; } + [data-theme='dark'] .offset-8 { + margin-left: 66.66667%; } + [data-theme='dark'] .offset-9 { + margin-left: 75%; } + [data-theme='dark'] .offset-10 { + margin-left: 83.33333%; } + [data-theme='dark'] .offset-11 { + margin-left: 91.66667%; } + @media (min-width: 576px) { + [data-theme='dark'] .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + [data-theme='dark'] .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .row-cols-sm-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; } + [data-theme='dark'] .row-cols-sm-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + [data-theme='dark'] .col-sm-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; } + [data-theme='dark'] .col-sm-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .col-sm-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .col-sm-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; } + [data-theme='dark'] .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .col-sm-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; } + [data-theme='dark'] .col-sm-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; } + [data-theme='dark'] .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; } + [data-theme='dark'] .col-sm-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; } + [data-theme='dark'] .col-sm-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; } + [data-theme='dark'] .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .order-sm-first { + order: -1; } + [data-theme='dark'] .order-sm-last { + order: 13; } + [data-theme='dark'] .order-sm-0 { + order: 0; } + [data-theme='dark'] .order-sm-1 { + order: 1; } + [data-theme='dark'] .order-sm-2 { + order: 2; } + [data-theme='dark'] .order-sm-3 { + order: 3; } + [data-theme='dark'] .order-sm-4 { + order: 4; } + [data-theme='dark'] .order-sm-5 { + order: 5; } + [data-theme='dark'] .order-sm-6 { + order: 6; } + [data-theme='dark'] .order-sm-7 { + order: 7; } + [data-theme='dark'] .order-sm-8 { + order: 8; } + [data-theme='dark'] .order-sm-9 { + order: 9; } + [data-theme='dark'] .order-sm-10 { + order: 10; } + [data-theme='dark'] .order-sm-11 { + order: 11; } + [data-theme='dark'] .order-sm-12 { + order: 12; } + [data-theme='dark'] .offset-sm-0 { + margin-left: 0; } + [data-theme='dark'] .offset-sm-1 { + margin-left: 8.33333%; } + [data-theme='dark'] .offset-sm-2 { + margin-left: 16.66667%; } + [data-theme='dark'] .offset-sm-3 { + margin-left: 25%; } + [data-theme='dark'] .offset-sm-4 { + margin-left: 33.33333%; } + [data-theme='dark'] .offset-sm-5 { + margin-left: 41.66667%; } + [data-theme='dark'] .offset-sm-6 { + margin-left: 50%; } + [data-theme='dark'] .offset-sm-7 { + margin-left: 58.33333%; } + [data-theme='dark'] .offset-sm-8 { + margin-left: 66.66667%; } + [data-theme='dark'] .offset-sm-9 { + margin-left: 75%; } + [data-theme='dark'] .offset-sm-10 { + margin-left: 83.33333%; } + [data-theme='dark'] .offset-sm-11 { + margin-left: 91.66667%; } } + @media (min-width: 768px) { + [data-theme='dark'] .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + [data-theme='dark'] .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .row-cols-md-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; } + [data-theme='dark'] .row-cols-md-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + [data-theme='dark'] .col-md-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; } + [data-theme='dark'] .col-md-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-md-3 { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .col-md-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .col-md-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; } + [data-theme='dark'] .col-md-6 { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .col-md-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; } + [data-theme='dark'] .col-md-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; } + [data-theme='dark'] .col-md-9 { + flex: 0 0 75%; + max-width: 75%; } + [data-theme='dark'] .col-md-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; } + [data-theme='dark'] .col-md-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; } + [data-theme='dark'] .col-md-12 { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .order-md-first { + order: -1; } + [data-theme='dark'] .order-md-last { + order: 13; } + [data-theme='dark'] .order-md-0 { + order: 0; } + [data-theme='dark'] .order-md-1 { + order: 1; } + [data-theme='dark'] .order-md-2 { + order: 2; } + [data-theme='dark'] .order-md-3 { + order: 3; } + [data-theme='dark'] .order-md-4 { + order: 4; } + [data-theme='dark'] .order-md-5 { + order: 5; } + [data-theme='dark'] .order-md-6 { + order: 6; } + [data-theme='dark'] .order-md-7 { + order: 7; } + [data-theme='dark'] .order-md-8 { + order: 8; } + [data-theme='dark'] .order-md-9 { + order: 9; } + [data-theme='dark'] .order-md-10 { + order: 10; } + [data-theme='dark'] .order-md-11 { + order: 11; } + [data-theme='dark'] .order-md-12 { + order: 12; } + [data-theme='dark'] .offset-md-0 { + margin-left: 0; } + [data-theme='dark'] .offset-md-1 { + margin-left: 8.33333%; } + [data-theme='dark'] .offset-md-2 { + margin-left: 16.66667%; } + [data-theme='dark'] .offset-md-3 { + margin-left: 25%; } + [data-theme='dark'] .offset-md-4 { + margin-left: 33.33333%; } + [data-theme='dark'] .offset-md-5 { + margin-left: 41.66667%; } + [data-theme='dark'] .offset-md-6 { + margin-left: 50%; } + [data-theme='dark'] .offset-md-7 { + margin-left: 58.33333%; } + [data-theme='dark'] .offset-md-8 { + margin-left: 66.66667%; } + [data-theme='dark'] .offset-md-9 { + margin-left: 75%; } + [data-theme='dark'] .offset-md-10 { + margin-left: 83.33333%; } + [data-theme='dark'] .offset-md-11 { + margin-left: 91.66667%; } } + @media (min-width: 992px) { + [data-theme='dark'] .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + [data-theme='dark'] .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .row-cols-lg-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; } + [data-theme='dark'] .row-cols-lg-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + [data-theme='dark'] .col-lg-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; } + [data-theme='dark'] .col-lg-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .col-lg-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .col-lg-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; } + [data-theme='dark'] .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .col-lg-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; } + [data-theme='dark'] .col-lg-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; } + [data-theme='dark'] .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; } + [data-theme='dark'] .col-lg-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; } + [data-theme='dark'] .col-lg-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; } + [data-theme='dark'] .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .order-lg-first { + order: -1; } + [data-theme='dark'] .order-lg-last { + order: 13; } + [data-theme='dark'] .order-lg-0 { + order: 0; } + [data-theme='dark'] .order-lg-1 { + order: 1; } + [data-theme='dark'] .order-lg-2 { + order: 2; } + [data-theme='dark'] .order-lg-3 { + order: 3; } + [data-theme='dark'] .order-lg-4 { + order: 4; } + [data-theme='dark'] .order-lg-5 { + order: 5; } + [data-theme='dark'] .order-lg-6 { + order: 6; } + [data-theme='dark'] .order-lg-7 { + order: 7; } + [data-theme='dark'] .order-lg-8 { + order: 8; } + [data-theme='dark'] .order-lg-9 { + order: 9; } + [data-theme='dark'] .order-lg-10 { + order: 10; } + [data-theme='dark'] .order-lg-11 { + order: 11; } + [data-theme='dark'] .order-lg-12 { + order: 12; } + [data-theme='dark'] .offset-lg-0 { + margin-left: 0; } + [data-theme='dark'] .offset-lg-1 { + margin-left: 8.33333%; } + [data-theme='dark'] .offset-lg-2 { + margin-left: 16.66667%; } + [data-theme='dark'] .offset-lg-3 { + margin-left: 25%; } + [data-theme='dark'] .offset-lg-4 { + margin-left: 33.33333%; } + [data-theme='dark'] .offset-lg-5 { + margin-left: 41.66667%; } + [data-theme='dark'] .offset-lg-6 { + margin-left: 50%; } + [data-theme='dark'] .offset-lg-7 { + margin-left: 58.33333%; } + [data-theme='dark'] .offset-lg-8 { + margin-left: 66.66667%; } + [data-theme='dark'] .offset-lg-9 { + margin-left: 75%; } + [data-theme='dark'] .offset-lg-10 { + margin-left: 83.33333%; } + [data-theme='dark'] .offset-lg-11 { + margin-left: 91.66667%; } } + @media (min-width: 1200px) { + [data-theme='dark'] .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + [data-theme='dark'] .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .row-cols-xl-3 > * { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; } + [data-theme='dark'] .row-cols-xl-6 > * { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + [data-theme='dark'] .col-xl-1 { + flex: 0 0 8.33333%; + max-width: 8.33333%; } + [data-theme='dark'] .col-xl-2 { + flex: 0 0 16.66667%; + max-width: 16.66667%; } + [data-theme='dark'] .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; } + [data-theme='dark'] .col-xl-4 { + flex: 0 0 33.33333%; + max-width: 33.33333%; } + [data-theme='dark'] .col-xl-5 { + flex: 0 0 41.66667%; + max-width: 41.66667%; } + [data-theme='dark'] .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; } + [data-theme='dark'] .col-xl-7 { + flex: 0 0 58.33333%; + max-width: 58.33333%; } + [data-theme='dark'] .col-xl-8 { + flex: 0 0 66.66667%; + max-width: 66.66667%; } + [data-theme='dark'] .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; } + [data-theme='dark'] .col-xl-10 { + flex: 0 0 83.33333%; + max-width: 83.33333%; } + [data-theme='dark'] .col-xl-11 { + flex: 0 0 91.66667%; + max-width: 91.66667%; } + [data-theme='dark'] .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; } + [data-theme='dark'] .order-xl-first { + order: -1; } + [data-theme='dark'] .order-xl-last { + order: 13; } + [data-theme='dark'] .order-xl-0 { + order: 0; } + [data-theme='dark'] .order-xl-1 { + order: 1; } + [data-theme='dark'] .order-xl-2 { + order: 2; } + [data-theme='dark'] .order-xl-3 { + order: 3; } + [data-theme='dark'] .order-xl-4 { + order: 4; } + [data-theme='dark'] .order-xl-5 { + order: 5; } + [data-theme='dark'] .order-xl-6 { + order: 6; } + [data-theme='dark'] .order-xl-7 { + order: 7; } + [data-theme='dark'] .order-xl-8 { + order: 8; } + [data-theme='dark'] .order-xl-9 { + order: 9; } + [data-theme='dark'] .order-xl-10 { + order: 10; } + [data-theme='dark'] .order-xl-11 { + order: 11; } + [data-theme='dark'] .order-xl-12 { + order: 12; } + [data-theme='dark'] .offset-xl-0 { + margin-left: 0; } + [data-theme='dark'] .offset-xl-1 { + margin-left: 8.33333%; } + [data-theme='dark'] .offset-xl-2 { + margin-left: 16.66667%; } + [data-theme='dark'] .offset-xl-3 { + margin-left: 25%; } + [data-theme='dark'] .offset-xl-4 { + margin-left: 33.33333%; } + [data-theme='dark'] .offset-xl-5 { + margin-left: 41.66667%; } + [data-theme='dark'] .offset-xl-6 { + margin-left: 50%; } + [data-theme='dark'] .offset-xl-7 { + margin-left: 58.33333%; } + [data-theme='dark'] .offset-xl-8 { + margin-left: 66.66667%; } + [data-theme='dark'] .offset-xl-9 { + margin-left: 75%; } + [data-theme='dark'] .offset-xl-10 { + margin-left: 83.33333%; } + [data-theme='dark'] .offset-xl-11 { + margin-left: 91.66667%; } } + [data-theme='dark'] .table { + width: 100%; + margin-bottom: 1rem; + color: #d3d3d3; } + [data-theme='dark'] .table th, + [data-theme='dark'] .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #343a40; } + [data-theme='dark'] .table thead th { + vertical-align: bottom; + border-bottom: 2px solid #343a40; } + [data-theme='dark'] .table tbody + tbody { + border-top: 2px solid #343a40; } + [data-theme='dark'] .table-sm th, + [data-theme='dark'] .table-sm td { + padding: 0.3rem; } + [data-theme='dark'] .table-bordered { + border: 1px solid #343a40; } + [data-theme='dark'] .table-bordered th, + [data-theme='dark'] .table-bordered td { + border: 1px solid #343a40; } + [data-theme='dark'] .table-bordered thead th, + [data-theme='dark'] .table-bordered thead td { + border-bottom-width: 2px; } + [data-theme='dark'] .table-borderless th, + [data-theme='dark'] .table-borderless td, + [data-theme='dark'] .table-borderless thead th, + [data-theme='dark'] .table-borderless tbody + tbody { + border: 0; } + [data-theme='dark'] .table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); } + [data-theme='dark'] .table-hover tbody tr:hover { + color: #d3d3d3; + background-color: rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .table-primary, + [data-theme='dark'] .table-primary > th, + [data-theme='dark'] .table-primary > td { + background-color: #c8cfe5; } + [data-theme='dark'] .table-primary th, + [data-theme='dark'] .table-primary td, + [data-theme='dark'] .table-primary thead th, + [data-theme='dark'] .table-primary tbody + tbody { + border-color: #99a5cf; } + [data-theme='dark'] .table-hover .table-primary:hover { + background-color: #b7c0dd; } + [data-theme='dark'] .table-hover .table-primary:hover > td, + [data-theme='dark'] .table-hover .table-primary:hover > th { + background-color: #b7c0dd; } + [data-theme='dark'] .table-secondary, + [data-theme='dark'] .table-secondary > th, + [data-theme='dark'] .table-secondary > td { + background-color: #d6d8db; } + [data-theme='dark'] .table-secondary th, + [data-theme='dark'] .table-secondary td, + [data-theme='dark'] .table-secondary thead th, + [data-theme='dark'] .table-secondary tbody + tbody { + border-color: #b3b7bb; } + [data-theme='dark'] .table-hover .table-secondary:hover { + background-color: #c8cbcf; } + [data-theme='dark'] .table-hover .table-secondary:hover > td, + [data-theme='dark'] .table-hover .table-secondary:hover > th { + background-color: #c8cbcf; } + [data-theme='dark'] .table-success, + [data-theme='dark'] .table-success > th, + [data-theme='dark'] .table-success > td { + background-color: #c8eacc; } + [data-theme='dark'] .table-success th, + [data-theme='dark'] .table-success td, + [data-theme='dark'] .table-success thead th, + [data-theme='dark'] .table-success tbody + tbody { + border-color: #99d9a1; } + [data-theme='dark'] .table-hover .table-success:hover { + background-color: #b6e3bb; } + [data-theme='dark'] .table-hover .table-success:hover > td, + [data-theme='dark'] .table-hover .table-success:hover > th { + background-color: #b6e3bb; } + [data-theme='dark'] .table-info, + [data-theme='dark'] .table-info > th, + [data-theme='dark'] .table-info > td { + background-color: #c2e7f7; } + [data-theme='dark'] .table-info th, + [data-theme='dark'] .table-info td, + [data-theme='dark'] .table-info thead th, + [data-theme='dark'] .table-info tbody + tbody { + border-color: #8ed3f0; } + [data-theme='dark'] .table-hover .table-info:hover { + background-color: #abdef4; } + [data-theme='dark'] .table-hover .table-info:hover > td, + [data-theme='dark'] .table-hover .table-info:hover > th { + background-color: #abdef4; } + [data-theme='dark'] .table-warning, + [data-theme='dark'] .table-warning > th, + [data-theme='dark'] .table-warning > td { + background-color: #fff9e3; } + [data-theme='dark'] .table-warning th, + [data-theme='dark'] .table-warning td, + [data-theme='dark'] .table-warning thead th, + [data-theme='dark'] .table-warning tbody + tbody { + border-color: #fff3cb; } + [data-theme='dark'] .table-hover .table-warning:hover { + background-color: #fff4ca; } + [data-theme='dark'] .table-hover .table-warning:hover > td, + [data-theme='dark'] .table-hover .table-warning:hover > th { + background-color: #fff4ca; } + [data-theme='dark'] .table-danger, + [data-theme='dark'] .table-danger > th, + [data-theme='dark'] .table-danger > td { + background-color: #edc0c4; } + [data-theme='dark'] .table-danger th, + [data-theme='dark'] .table-danger td, + [data-theme='dark'] .table-danger thead th, + [data-theme='dark'] .table-danger tbody + tbody { + border-color: #de8a92; } + [data-theme='dark'] .table-hover .table-danger:hover { + background-color: #e7acb1; } + [data-theme='dark'] .table-hover .table-danger:hover > td, + [data-theme='dark'] .table-hover .table-danger:hover > th { + background-color: #e7acb1; } + [data-theme='dark'] .table-light, + [data-theme='dark'] .table-light > th, + [data-theme='dark'] .table-light > td { + background-color: #fdfdfe; } + [data-theme='dark'] .table-light th, + [data-theme='dark'] .table-light td, + [data-theme='dark'] .table-light thead th, + [data-theme='dark'] .table-light tbody + tbody { + border-color: #fbfcfc; } + [data-theme='dark'] .table-hover .table-light:hover { + background-color: #ececf6; } + [data-theme='dark'] .table-hover .table-light:hover > td, + [data-theme='dark'] .table-hover .table-light:hover > th { + background-color: #ececf6; } + [data-theme='dark'] .table-dark, + [data-theme='dark'] .table-dark > th, + [data-theme='dark'] .table-dark > td { + background-color: #c6c8ca; } + [data-theme='dark'] .table-dark th, + [data-theme='dark'] .table-dark td, + [data-theme='dark'] .table-dark thead th, + [data-theme='dark'] .table-dark tbody + tbody { + border-color: #95999c; } + [data-theme='dark'] .table-hover .table-dark:hover { + background-color: #b9bbbe; } + [data-theme='dark'] .table-hover .table-dark:hover > td, + [data-theme='dark'] .table-hover .table-dark:hover > th { + background-color: #b9bbbe; } + [data-theme='dark'] .table-active, + [data-theme='dark'] .table-active > th, + [data-theme='dark'] .table-active > td { + background-color: rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .table-hover .table-active:hover > td, + [data-theme='dark'] .table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .table .thead-dark th { + color: #dee2e6; + background-color: #343a40; + border-color: #454d55; } + [data-theme='dark'] .table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #343a40; } + [data-theme='dark'] .table-dark { + color: #dee2e6; + background-color: #343a40; } + [data-theme='dark'] .table-dark th, + [data-theme='dark'] .table-dark td, + [data-theme='dark'] .table-dark thead th { + border-color: #454d55; } + [data-theme='dark'] .table-dark.table-bordered { + border: 0; } + [data-theme='dark'] .table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); } + [data-theme='dark'] .table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); } + @media (max-width: 575.98px) { + [data-theme='dark'] .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + [data-theme='dark'] .table-responsive-sm > .table-bordered { + border: 0; } } + @media (max-width: 767.98px) { + [data-theme='dark'] .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + [data-theme='dark'] .table-responsive-md > .table-bordered { + border: 0; } } + @media (max-width: 991.98px) { + [data-theme='dark'] .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + [data-theme='dark'] .table-responsive-lg > .table-bordered { + border: 0; } } + @media (max-width: 1199.98px) { + [data-theme='dark'] .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + [data-theme='dark'] .table-responsive-xl > .table-bordered { + border: 0; } } + [data-theme='dark'] .table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + [data-theme='dark'] .table-responsive > .table-bordered { + border: 0; } + [data-theme='dark'] .table-primary, + [data-theme='dark'] .table-primary > th, + [data-theme='dark'] .table-primary > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-primary:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-primary:hover > td, + [data-theme='dark'] .table-hover .table-primary:hover > th { + color: #212529; } + [data-theme='dark'] .table-secondary, + [data-theme='dark'] .table-secondary > th, + [data-theme='dark'] .table-secondary > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-secondary:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-secondary:hover > td, + [data-theme='dark'] .table-hover .table-secondary:hover > th { + color: #212529; } + [data-theme='dark'] .table-success, + [data-theme='dark'] .table-success > th, + [data-theme='dark'] .table-success > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-success:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-success:hover > td, + [data-theme='dark'] .table-hover .table-success:hover > th { + color: #212529; } + [data-theme='dark'] .table-info, + [data-theme='dark'] .table-info > th, + [data-theme='dark'] .table-info > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-info:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-info:hover > td, + [data-theme='dark'] .table-hover .table-info:hover > th { + color: #212529; } + [data-theme='dark'] .table-warning, + [data-theme='dark'] .table-warning > th, + [data-theme='dark'] .table-warning > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-warning:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-warning:hover > td, + [data-theme='dark'] .table-hover .table-warning:hover > th { + color: #212529; } + [data-theme='dark'] .table-danger, + [data-theme='dark'] .table-danger > th, + [data-theme='dark'] .table-danger > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-danger:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-danger:hover > td, + [data-theme='dark'] .table-hover .table-danger:hover > th { + color: #212529; } + [data-theme='dark'] .table-light, + [data-theme='dark'] .table-light > th, + [data-theme='dark'] .table-light > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-light:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-light:hover > td, + [data-theme='dark'] .table-hover .table-light:hover > th { + color: #212529; } + [data-theme='dark'] .table-dark, + [data-theme='dark'] .table-dark > th, + [data-theme='dark'] .table-dark > td { + color: #212529; } + [data-theme='dark'] .table-hover .table-dark:hover { + color: #212529; } + [data-theme='dark'] .table-hover .table-dark:hover > td, + [data-theme='dark'] .table-hover .table-dark:hover > th { + color: #212529; } + [data-theme='dark'] .table-active, + [data-theme='dark'] .table-active > th, + [data-theme='dark'] .table-active > td { + color: #ced4da; } + [data-theme='dark'] .table-hover .table-active:hover { + color: #ced4da; } + [data-theme='dark'] .table-hover .table-active:hover > td, + [data-theme='dark'] .table-hover .table-active:hover > th { + color: #ced4da; } + [data-theme='dark'] .table-dark { + color: #dee2e6; } + [data-theme='dark'] .form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 0.85rem; + font-weight: 400; + line-height: 1.5; + color: #dee2e6; + background-color: #000; + background-clip: padding-box; + border: 1px solid #6c757d; + border-radius: 0.25rem; + box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.075); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .form-control { + transition: none; } } + [data-theme='dark'] .form-control::-ms-expand { + background-color: transparent; + border: 0; } + [data-theme='dark'] .form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #dee2e6; } + [data-theme='dark'] .form-control:focus { + color: #dee2e6; + background-color: #191d21; + border-color: #b3d7ff; + outline: 0; + box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.075), 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; } + [data-theme='dark'] .form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; } + [data-theme='dark'] .form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; } + [data-theme='dark'] .form-control::placeholder { + color: #6c757d; + opacity: 1; } + [data-theme='dark'] .form-control:disabled, [data-theme='dark'] .form-control[readonly] { + background-color: #343a40; + opacity: 1; } + [data-theme='dark'] input[type="date"].form-control, + [data-theme='dark'] input[type="time"].form-control, + [data-theme='dark'] input[type="datetime-local"].form-control, + [data-theme='dark'] input[type="month"].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + [data-theme='dark'] select.form-control:focus::-ms-value { + color: #dee2e6; + background-color: #000; } + [data-theme='dark'] .form-control-file, + [data-theme='dark'] .form-control-range { + display: block; + width: 100%; } + [data-theme='dark'] .col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; } + [data-theme='dark'] .col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.0625rem; + line-height: 1.5; } + [data-theme='dark'] .col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.74375rem; + line-height: 1.5; } + [data-theme='dark'] .form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 0.85rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; } + [data-theme='dark'] .form-control-plaintext.form-control-sm, [data-theme='dark'] .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; } + [data-theme='dark'] .form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.74375rem; + line-height: 1.5; + border-radius: 0.2rem; } + [data-theme='dark'] .form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.0625rem; + line-height: 1.5; + border-radius: 0.3rem; } + [data-theme='dark'] select.form-control[size], [data-theme='dark'] select.form-control[multiple] { + height: auto; } + [data-theme='dark'] textarea.form-control { + height: auto; } + [data-theme='dark'] .form-group { + margin-bottom: 1rem; } + [data-theme='dark'] .form-text { + display: block; + margin-top: 0.25rem; } + [data-theme='dark'] .form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; } + [data-theme='dark'] .form-row > .col, + [data-theme='dark'] .form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; } + [data-theme='dark'] .form-check { + position: relative; + display: block; + padding-left: 1.25rem; } + [data-theme='dark'] .form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; } + [data-theme='dark'] .form-check-input[disabled] ~ .form-check-label, + [data-theme='dark'] .form-check-input:disabled ~ .form-check-label { + color: #6c757d; } + [data-theme='dark'] .form-check-label { + margin-bottom: 0; } + [data-theme='dark'] .form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; } + [data-theme='dark'] .form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; } + [data-theme='dark'] .valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #3AB54A; } + [data-theme='dark'] .valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.74375rem; + line-height: 1.5; + color: #ced4da; + background-color: rgba(58, 181, 74, 0.9); + border-radius: 0.25rem; } + .was-validated [data-theme='dark']:valid ~ .valid-feedback, + .was-validated [data-theme='dark']:valid ~ .valid-tooltip, [data-theme='dark'].is-valid ~ .valid-feedback, + [data-theme='dark'].is-valid ~ .valid-tooltip { + display: block; } + .was-validated [data-theme='dark'] .form-control:valid, [data-theme='dark'] .form-control.is-valid { + border-color: #3AB54A; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%233AB54A' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated [data-theme='dark'] .form-control:valid:focus, [data-theme='dark'] .form-control.is-valid:focus { + border-color: #3AB54A; + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.25); } + .was-validated [data-theme='dark'] textarea.form-control:valid, [data-theme='dark'] textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + .was-validated [data-theme='dark'] .custom-select:valid, [data-theme='dark'] .custom-select.is-valid { + border-color: #3AB54A; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%233AB54A' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #000 no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated [data-theme='dark'] .custom-select:valid:focus, [data-theme='dark'] .custom-select.is-valid:focus { + border-color: #3AB54A; + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.25); } + .was-validated [data-theme='dark'] .form-check-input:valid ~ .form-check-label, [data-theme='dark'] .form-check-input.is-valid ~ .form-check-label { + color: #3AB54A; } + .was-validated [data-theme='dark'] .form-check-input:valid ~ .valid-feedback, + .was-validated [data-theme='dark'] .form-check-input:valid ~ .valid-tooltip, [data-theme='dark'] .form-check-input.is-valid ~ .valid-feedback, + [data-theme='dark'] .form-check-input.is-valid ~ .valid-tooltip { + display: block; } + .was-validated [data-theme='dark'] .custom-control-input:valid ~ .custom-control-label, [data-theme='dark'] .custom-control-input.is-valid ~ .custom-control-label { + color: #3AB54A; } + .was-validated [data-theme='dark'] .custom-control-input:valid ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #3AB54A; } + .was-validated [data-theme='dark'] .custom-control-input:valid:checked ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #58ca67; + background-color: #58ca67; } + .was-validated [data-theme='dark'] .custom-control-input:valid:focus ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.25); } + .was-validated [data-theme='dark'] .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #3AB54A; } + .was-validated [data-theme='dark'] .custom-file-input:valid ~ .custom-file-label, [data-theme='dark'] .custom-file-input.is-valid ~ .custom-file-label { + border-color: #3AB54A; } + .was-validated [data-theme='dark'] .custom-file-input:valid:focus ~ .custom-file-label, [data-theme='dark'] .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #3AB54A; + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.25); } + [data-theme='dark'] .invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #BF1E2E; } + [data-theme='dark'] .invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.74375rem; + line-height: 1.5; + color: #ced4da; + background-color: rgba(191, 30, 46, 0.9); + border-radius: 0.25rem; } + .was-validated [data-theme='dark']:invalid ~ .invalid-feedback, + .was-validated [data-theme='dark']:invalid ~ .invalid-tooltip, [data-theme='dark'].is-invalid ~ .invalid-feedback, + [data-theme='dark'].is-invalid ~ .invalid-tooltip { + display: block; } + .was-validated [data-theme='dark'] .form-control:invalid, [data-theme='dark'] .form-control.is-invalid { + border-color: #BF1E2E; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23BF1E2E' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23BF1E2E' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated [data-theme='dark'] .form-control:invalid:focus, [data-theme='dark'] .form-control.is-invalid:focus { + border-color: #BF1E2E; + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.25); } + .was-validated [data-theme='dark'] textarea.form-control:invalid, [data-theme='dark'] textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + .was-validated [data-theme='dark'] .custom-select:invalid, [data-theme='dark'] .custom-select.is-invalid { + border-color: #BF1E2E; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23BF1E2E' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23BF1E2E' stroke='none'/%3e%3c/svg%3e") #000 no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated [data-theme='dark'] .custom-select:invalid:focus, [data-theme='dark'] .custom-select.is-invalid:focus { + border-color: #BF1E2E; + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.25); } + .was-validated [data-theme='dark'] .form-check-input:invalid ~ .form-check-label, [data-theme='dark'] .form-check-input.is-invalid ~ .form-check-label { + color: #BF1E2E; } + .was-validated [data-theme='dark'] .form-check-input:invalid ~ .invalid-feedback, + .was-validated [data-theme='dark'] .form-check-input:invalid ~ .invalid-tooltip, [data-theme='dark'] .form-check-input.is-invalid ~ .invalid-feedback, + [data-theme='dark'] .form-check-input.is-invalid ~ .invalid-tooltip { + display: block; } + .was-validated [data-theme='dark'] .custom-control-input:invalid ~ .custom-control-label, [data-theme='dark'] .custom-control-input.is-invalid ~ .custom-control-label { + color: #BF1E2E; } + .was-validated [data-theme='dark'] .custom-control-input:invalid ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #BF1E2E; } + .was-validated [data-theme='dark'] .custom-control-input:invalid:checked ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #df3143; + background-color: #df3143; } + .was-validated [data-theme='dark'] .custom-control-input:invalid:focus ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.25); } + .was-validated [data-theme='dark'] .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #BF1E2E; } + .was-validated [data-theme='dark'] .custom-file-input:invalid ~ .custom-file-label, [data-theme='dark'] .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #BF1E2E; } + .was-validated [data-theme='dark'] .custom-file-input:invalid:focus ~ .custom-file-label, [data-theme='dark'] .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #BF1E2E; + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.25); } + [data-theme='dark'] .form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; } + [data-theme='dark'] .form-inline .form-check { + width: 100%; } + @media (min-width: 576px) { + [data-theme='dark'] .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; } + [data-theme='dark'] .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; } + [data-theme='dark'] .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + [data-theme='dark'] .form-inline .form-control-plaintext { + display: inline-block; } + [data-theme='dark'] .form-inline .input-group, + [data-theme='dark'] .form-inline .custom-select { + width: auto; } + [data-theme='dark'] .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; } + [data-theme='dark'] .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; } + [data-theme='dark'] .form-inline .custom-control { + align-items: center; + justify-content: center; } + [data-theme='dark'] .form-inline .custom-control-label { + margin-bottom: 0; } } + [data-theme='dark'] .btn { + display: inline-block; + font-weight: 400; + color: #d3d3d3; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 0.85rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .btn { + transition: none; } } + [data-theme='dark'] .btn:hover { + color: #d3d3d3; + text-decoration: none; } + [data-theme='dark'] .btn:focus, [data-theme='dark'] .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .btn.disabled, [data-theme='dark'] .btn:disabled { + opacity: 0.65; + box-shadow: none; } + [data-theme='dark'] .btn:not(:disabled):not(.disabled) { + cursor: pointer; } + [data-theme='dark'] .btn:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn:not(:disabled):not(.disabled).active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + [data-theme='dark'] .btn:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn:not(:disabled):not(.disabled).active:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125); } + [data-theme='dark'] a.btn.disabled, + [data-theme='dark'] fieldset:disabled a.btn { + pointer-events: none; } + [data-theme='dark'] .btn-primary { + color: #ced4da; + background-color: #3A52A2; + border-color: #3A52A2; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-primary:hover { + color: #ced4da; + background-color: #304486; + border-color: #2d3f7c; } + [data-theme='dark'] .btn-primary:focus, [data-theme='dark'] .btn-primary.focus { + color: #ced4da; + background-color: #304486; + border-color: #2d3f7c; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(80, 102, 170, 0.5); } + [data-theme='dark'] .btn-primary.disabled, [data-theme='dark'] .btn-primary:disabled { + color: #ced4da; + background-color: #3A52A2; + border-color: #3A52A2; } + [data-theme='dark'] .btn-primary:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-primary:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-primary.dropdown-toggle { + color: #ced4da; + background-color: #2d3f7c; + border-color: #293a73; } + [data-theme='dark'] .btn-primary:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-primary:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(80, 102, 170, 0.5); } + [data-theme='dark'] .btn-secondary { + color: #ced4da; + background-color: #6c757d; + border-color: #6c757d; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-secondary:hover { + color: #ced4da; + background-color: #5a6268; + border-color: #545b62; } + [data-theme='dark'] .btn-secondary:focus, [data-theme='dark'] .btn-secondary.focus { + color: #ced4da; + background-color: #5a6268; + border-color: #545b62; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(123, 131, 139, 0.5); } + [data-theme='dark'] .btn-secondary.disabled, [data-theme='dark'] .btn-secondary:disabled { + color: #ced4da; + background-color: #6c757d; + border-color: #6c757d; } + [data-theme='dark'] .btn-secondary:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-secondary:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-secondary.dropdown-toggle { + color: #ced4da; + background-color: #545b62; + border-color: #4e555b; } + [data-theme='dark'] .btn-secondary:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-secondary:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(123, 131, 139, 0.5); } + [data-theme='dark'] .btn-success { + color: #ced4da; + background-color: #3AB54A; + border-color: #3AB54A; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-success:hover { + color: #ced4da; + background-color: #31983e; + border-color: #2e8e3a; } + [data-theme='dark'] .btn-success:focus, [data-theme='dark'] .btn-success.focus { + color: #ced4da; + background-color: #31983e; + border-color: #2e8e3a; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(80, 186, 96, 0.5); } + [data-theme='dark'] .btn-success.disabled, [data-theme='dark'] .btn-success:disabled { + color: #ced4da; + background-color: #3AB54A; + border-color: #3AB54A; } + [data-theme='dark'] .btn-success:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-success:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-success.dropdown-toggle { + color: #ced4da; + background-color: #2e8e3a; + border-color: #2b8536; } + [data-theme='dark'] .btn-success:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-success:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(80, 186, 96, 0.5); } + [data-theme='dark'] .btn-info { + color: #ced4da; + background-color: #25AAE2; + border-color: #25AAE2; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-info:hover { + color: #ced4da; + background-color: #1a93c6; + border-color: #198bbb; } + [data-theme='dark'] .btn-info:focus, [data-theme='dark'] .btn-info.focus { + color: #ced4da; + background-color: #1a93c6; + border-color: #198bbb; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(62, 176, 225, 0.5); } + [data-theme='dark'] .btn-info.disabled, [data-theme='dark'] .btn-info:disabled { + color: #ced4da; + background-color: #25AAE2; + border-color: #25AAE2; } + [data-theme='dark'] .btn-info:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-info:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-info.dropdown-toggle { + color: #ced4da; + background-color: #198bbb; + border-color: #1783b0; } + [data-theme='dark'] .btn-info:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-info:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(62, 176, 225, 0.5); } + [data-theme='dark'] .btn-warning { + color: #212529; + background-color: #FFE89B; + border-color: #FFE89B; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-warning:hover { + color: #212529; + background-color: #ffdf75; + border-color: #ffdc68; } + [data-theme='dark'] .btn-warning:focus, [data-theme='dark'] .btn-warning.focus { + color: #212529; + background-color: #ffdf75; + border-color: #ffdc68; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(222, 203, 138, 0.5); } + [data-theme='dark'] .btn-warning.disabled, [data-theme='dark'] .btn-warning:disabled { + color: #212529; + background-color: #FFE89B; + border-color: #FFE89B; } + [data-theme='dark'] .btn-warning:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-warning:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-warning.dropdown-toggle { + color: #212529; + background-color: #ffdc68; + border-color: #ffd95b; } + [data-theme='dark'] .btn-warning:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-warning:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(222, 203, 138, 0.5); } + [data-theme='dark'] .btn-danger { + color: #ced4da; + background-color: #BF1E2E; + border-color: #BF1E2E; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-danger:hover { + color: #ced4da; + background-color: #9e1926; + border-color: #931723; } + [data-theme='dark'] .btn-danger:focus, [data-theme='dark'] .btn-danger.focus { + color: #ced4da; + background-color: #9e1926; + border-color: #931723; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(193, 57, 72, 0.5); } + [data-theme='dark'] .btn-danger.disabled, [data-theme='dark'] .btn-danger:disabled { + color: #ced4da; + background-color: #BF1E2E; + border-color: #BF1E2E; } + [data-theme='dark'] .btn-danger:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-danger:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-danger.dropdown-toggle { + color: #ced4da; + background-color: #931723; + border-color: #881521; } + [data-theme='dark'] .btn-danger:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-danger:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(193, 57, 72, 0.5); } + [data-theme='dark'] .btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; } + [data-theme='dark'] .btn-light:focus, [data-theme='dark'] .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } + [data-theme='dark'] .btn-light.disabled, [data-theme='dark'] .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + [data-theme='dark'] .btn-light:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-light:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; } + [data-theme='dark'] .btn-light:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-light:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } + [data-theme='dark'] .btn-dark { + color: #ced4da; + background-color: #343a40; + border-color: #343a40; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .btn-dark:hover { + color: #ced4da; + background-color: #23272b; + border-color: #1d2124; } + [data-theme='dark'] .btn-dark:focus, [data-theme='dark'] .btn-dark.focus { + color: #ced4da; + background-color: #23272b; + border-color: #1d2124; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(75, 81, 87, 0.5); } + [data-theme='dark'] .btn-dark.disabled, [data-theme='dark'] .btn-dark:disabled { + color: #ced4da; + background-color: #343a40; + border-color: #343a40; } + [data-theme='dark'] .btn-dark:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-dark:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-dark.dropdown-toggle { + color: #ced4da; + background-color: #1d2124; + border-color: #171a1d; } + [data-theme='dark'] .btn-dark:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-dark:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(75, 81, 87, 0.5); } + [data-theme='dark'] .btn-outline-primary { + color: #3A52A2; + border-color: #3A52A2; } + [data-theme='dark'] .btn-outline-primary:hover { + color: #ced4da; + background-color: #3A52A2; + border-color: #3A52A2; } + [data-theme='dark'] .btn-outline-primary:focus, [data-theme='dark'] .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .btn-outline-primary.disabled, [data-theme='dark'] .btn-outline-primary:disabled { + color: #3A52A2; + background-color: transparent; } + [data-theme='dark'] .btn-outline-primary:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-primary:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-primary.dropdown-toggle { + color: #ced4da; + background-color: #3A52A2; + border-color: #3A52A2; } + [data-theme='dark'] .btn-outline-primary:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-primary:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; } + [data-theme='dark'] .btn-outline-secondary:hover { + color: #ced4da; + background-color: #6c757d; + border-color: #6c757d; } + [data-theme='dark'] .btn-outline-secondary:focus, [data-theme='dark'] .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + [data-theme='dark'] .btn-outline-secondary.disabled, [data-theme='dark'] .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; } + [data-theme='dark'] .btn-outline-secondary:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-secondary:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-secondary.dropdown-toggle { + color: #ced4da; + background-color: #6c757d; + border-color: #6c757d; } + [data-theme='dark'] .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + [data-theme='dark'] .btn-outline-success { + color: #3AB54A; + border-color: #3AB54A; } + [data-theme='dark'] .btn-outline-success:hover { + color: #ced4da; + background-color: #3AB54A; + border-color: #3AB54A; } + [data-theme='dark'] .btn-outline-success:focus, [data-theme='dark'] .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.5); } + [data-theme='dark'] .btn-outline-success.disabled, [data-theme='dark'] .btn-outline-success:disabled { + color: #3AB54A; + background-color: transparent; } + [data-theme='dark'] .btn-outline-success:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-success:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-success.dropdown-toggle { + color: #ced4da; + background-color: #3AB54A; + border-color: #3AB54A; } + [data-theme='dark'] .btn-outline-success:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-success:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(58, 181, 74, 0.5); } + [data-theme='dark'] .btn-outline-info { + color: #25AAE2; + border-color: #25AAE2; } + [data-theme='dark'] .btn-outline-info:hover { + color: #ced4da; + background-color: #25AAE2; + border-color: #25AAE2; } + [data-theme='dark'] .btn-outline-info:focus, [data-theme='dark'] .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(37, 170, 226, 0.5); } + [data-theme='dark'] .btn-outline-info.disabled, [data-theme='dark'] .btn-outline-info:disabled { + color: #25AAE2; + background-color: transparent; } + [data-theme='dark'] .btn-outline-info:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-info:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-info.dropdown-toggle { + color: #ced4da; + background-color: #25AAE2; + border-color: #25AAE2; } + [data-theme='dark'] .btn-outline-info:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-info:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(37, 170, 226, 0.5); } + [data-theme='dark'] .btn-outline-warning { + color: #FFE89B; + border-color: #FFE89B; } + [data-theme='dark'] .btn-outline-warning:hover { + color: #212529; + background-color: #FFE89B; + border-color: #FFE89B; } + [data-theme='dark'] .btn-outline-warning:focus, [data-theme='dark'] .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 232, 155, 0.5); } + [data-theme='dark'] .btn-outline-warning.disabled, [data-theme='dark'] .btn-outline-warning:disabled { + color: #FFE89B; + background-color: transparent; } + [data-theme='dark'] .btn-outline-warning:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-warning:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #FFE89B; + border-color: #FFE89B; } + [data-theme='dark'] .btn-outline-warning:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-warning:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(255, 232, 155, 0.5); } + [data-theme='dark'] .btn-outline-danger { + color: #BF1E2E; + border-color: #BF1E2E; } + [data-theme='dark'] .btn-outline-danger:hover { + color: #ced4da; + background-color: #BF1E2E; + border-color: #BF1E2E; } + [data-theme='dark'] .btn-outline-danger:focus, [data-theme='dark'] .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.5); } + [data-theme='dark'] .btn-outline-danger.disabled, [data-theme='dark'] .btn-outline-danger:disabled { + color: #BF1E2E; + background-color: transparent; } + [data-theme='dark'] .btn-outline-danger:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-danger:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-danger.dropdown-toggle { + color: #ced4da; + background-color: #BF1E2E; + border-color: #BF1E2E; } + [data-theme='dark'] .btn-outline-danger:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-danger:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(191, 30, 46, 0.5); } + [data-theme='dark'] .btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; } + [data-theme='dark'] .btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + [data-theme='dark'] .btn-outline-light:focus, [data-theme='dark'] .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + [data-theme='dark'] .btn-outline-light.disabled, [data-theme='dark'] .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; } + [data-theme='dark'] .btn-outline-light:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-light:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + [data-theme='dark'] .btn-outline-light:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-light:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + [data-theme='dark'] .btn-outline-dark { + color: #343a40; + border-color: #343a40; } + [data-theme='dark'] .btn-outline-dark:hover { + color: #ced4da; + background-color: #343a40; + border-color: #343a40; } + [data-theme='dark'] .btn-outline-dark:focus, [data-theme='dark'] .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + [data-theme='dark'] .btn-outline-dark.disabled, [data-theme='dark'] .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; } + [data-theme='dark'] .btn-outline-dark:not(:disabled):not(.disabled):active, [data-theme='dark'] .btn-outline-dark:not(:disabled):not(.disabled).active, + .show > [data-theme='dark'] .btn-outline-dark.dropdown-toggle { + color: #ced4da; + background-color: #343a40; + border-color: #343a40; } + [data-theme='dark'] .btn-outline-dark:not(:disabled):not(.disabled):active:focus, [data-theme='dark'] .btn-outline-dark:not(:disabled):not(.disabled).active:focus, + .show > [data-theme='dark'] .btn-outline-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + [data-theme='dark'] .btn-link { + font-weight: 400; + color: #adadad; + text-decoration: none; } + [data-theme='dark'] .btn-link:hover { + color: #878787; + text-decoration: underline; } + [data-theme='dark'] .btn-link:focus, [data-theme='dark'] .btn-link.focus { + text-decoration: underline; } + [data-theme='dark'] .btn-link:disabled, [data-theme='dark'] .btn-link.disabled { + color: #6c757d; + pointer-events: none; } + [data-theme='dark'] .btn-lg, [data-theme='dark'] .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.0625rem; + line-height: 1.5; + border-radius: 0.3rem; } + [data-theme='dark'] .btn-sm, [data-theme='dark'] .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.74375rem; + line-height: 1.5; + border-radius: 0.2rem; } + [data-theme='dark'] .btn-block { + display: block; + width: 100%; } + [data-theme='dark'] .btn-block + .btn-block { + margin-top: 0.5rem; } + [data-theme='dark'] input[type="submit"].btn-block, + [data-theme='dark'] input[type="reset"].btn-block, + [data-theme='dark'] input[type="button"].btn-block { + width: 100%; } + [data-theme='dark'] .fade { + transition: opacity 0.15s linear; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .fade { + transition: none; } } + [data-theme='dark'] .fade:not(.show) { + opacity: 0; } + [data-theme='dark'] .collapse:not(.show) { + display: none; } + [data-theme='dark'] .collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .collapsing { + transition: none; } } + [data-theme='dark'] .dropup, + [data-theme='dark'] .dropright, + [data-theme='dark'] .dropdown, + [data-theme='dark'] .dropleft { + position: relative; } + [data-theme='dark'] .dropdown-toggle { + white-space: nowrap; } + [data-theme='dark'] .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; } + [data-theme='dark'] .dropdown-toggle:empty::after { + margin-left: 0; } + [data-theme='dark'] .dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 0.85rem; + color: #d3d3d3; + text-align: left; + list-style: none; + background-color: #000; + background-clip: padding-box; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 0.25rem; + box-shadow: 0 0.5rem 1rem rgba(255, 255, 255, 0.175); } + [data-theme='dark'] .dropdown-menu-left { + right: auto; + left: 0; } + [data-theme='dark'] .dropdown-menu-right { + right: 0; + left: auto; } + @media (min-width: 576px) { + [data-theme='dark'] .dropdown-menu-sm-left { + right: auto; + left: 0; } + [data-theme='dark'] .dropdown-menu-sm-right { + right: 0; + left: auto; } } + @media (min-width: 768px) { + [data-theme='dark'] .dropdown-menu-md-left { + right: auto; + left: 0; } + [data-theme='dark'] .dropdown-menu-md-right { + right: 0; + left: auto; } } + @media (min-width: 992px) { + [data-theme='dark'] .dropdown-menu-lg-left { + right: auto; + left: 0; } + [data-theme='dark'] .dropdown-menu-lg-right { + right: 0; + left: auto; } } + @media (min-width: 1200px) { + [data-theme='dark'] .dropdown-menu-xl-left { + right: auto; + left: 0; } + [data-theme='dark'] .dropdown-menu-xl-right { + right: 0; + left: auto; } } + [data-theme='dark'] .dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; } + [data-theme='dark'] .dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; } + [data-theme='dark'] .dropup .dropdown-toggle:empty::after { + margin-left: 0; } + [data-theme='dark'] .dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; } + [data-theme='dark'] .dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; } + [data-theme='dark'] .dropright .dropdown-toggle:empty::after { + margin-left: 0; } + [data-theme='dark'] .dropright .dropdown-toggle::after { + vertical-align: 0; } + [data-theme='dark'] .dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; } + [data-theme='dark'] .dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; } + [data-theme='dark'] .dropleft .dropdown-toggle::after { + display: none; } + [data-theme='dark'] .dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; } + [data-theme='dark'] .dropleft .dropdown-toggle:empty::after { + margin-left: 0; } + [data-theme='dark'] .dropleft .dropdown-toggle::before { + vertical-align: 0; } + [data-theme='dark'] .dropdown-menu[x-placement^="top"], [data-theme='dark'] .dropdown-menu[x-placement^="right"], [data-theme='dark'] .dropdown-menu[x-placement^="bottom"], [data-theme='dark'] .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; } + [data-theme='dark'] .dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #343a40; } + [data-theme='dark'] .dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #f8f9fa; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; } + [data-theme='dark'] .dropdown-item:hover, [data-theme='dark'] .dropdown-item:focus { + color: white; + text-decoration: none; + background-color: #212529; } + [data-theme='dark'] .dropdown-item.active, [data-theme='dark'] .dropdown-item:active { + color: #000; + text-decoration: none; + background-color: #3395ff; } + [data-theme='dark'] .dropdown-item.disabled, [data-theme='dark'] .dropdown-item:disabled { + color: #ced4da; + pointer-events: none; + background-color: transparent; } + [data-theme='dark'] .dropdown-menu.show { + display: block; } + [data-theme='dark'] .dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.74375rem; + color: #ced4da; + white-space: nowrap; } + [data-theme='dark'] .dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #f8f9fa; } + [data-theme='dark'] .btn-group, + [data-theme='dark'] .btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; } + [data-theme='dark'] .btn-group > .btn, + [data-theme='dark'] .btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; } + [data-theme='dark'] .btn-group > .btn:hover, + [data-theme='dark'] .btn-group-vertical > .btn:hover { + z-index: 1; } + [data-theme='dark'] .btn-group > .btn:focus, [data-theme='dark'] .btn-group > .btn:active, [data-theme='dark'] .btn-group > .btn.active, + [data-theme='dark'] .btn-group-vertical > .btn:focus, + [data-theme='dark'] .btn-group-vertical > .btn:active, + [data-theme='dark'] .btn-group-vertical > .btn.active { + z-index: 1; } + [data-theme='dark'] .btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + [data-theme='dark'] .btn-toolbar .input-group { + width: auto; } + [data-theme='dark'] .btn-group > .btn:not(:first-child), + [data-theme='dark'] .btn-group > .btn-group:not(:first-child) { + margin-left: -1px; } + [data-theme='dark'] .btn-group > .btn:not(:last-child):not(.dropdown-toggle), + [data-theme='dark'] .btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .btn-group > .btn:not(:first-child), + [data-theme='dark'] .btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; } + [data-theme='dark'] .dropdown-toggle-split::after, + .dropup [data-theme='dark'] .dropdown-toggle-split::after, + .dropright [data-theme='dark'] .dropdown-toggle-split::after { + margin-left: 0; } + .dropleft [data-theme='dark'] .dropdown-toggle-split::before { + margin-right: 0; } + [data-theme='dark'] .btn-sm + .dropdown-toggle-split, [data-theme='dark'] .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + [data-theme='dark'] .btn-lg + .dropdown-toggle-split, [data-theme='dark'] .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + [data-theme='dark'] .btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + [data-theme='dark'] .btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; } + [data-theme='dark'] .btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; } + [data-theme='dark'] .btn-group-vertical > .btn, + [data-theme='dark'] .btn-group-vertical > .btn-group { + width: 100%; } + [data-theme='dark'] .btn-group-vertical > .btn:not(:first-child), + [data-theme='dark'] .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; } + [data-theme='dark'] .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), + [data-theme='dark'] .btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .btn-group-vertical > .btn:not(:first-child), + [data-theme='dark'] .btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; } + [data-theme='dark'] .btn-group-toggle > .btn, + [data-theme='dark'] .btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; } + [data-theme='dark'] .btn-group-toggle > .btn input[type="radio"], + [data-theme='dark'] .btn-group-toggle > .btn input[type="checkbox"], + [data-theme='dark'] .btn-group-toggle > .btn-group > .btn input[type="radio"], + [data-theme='dark'] .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + [data-theme='dark'] .input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; } + [data-theme='dark'] .input-group > .form-control, + [data-theme='dark'] .input-group > .form-control-plaintext, + [data-theme='dark'] .input-group > .custom-select, + [data-theme='dark'] .input-group > .custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; } + [data-theme='dark'] .input-group > .form-control + .form-control, + [data-theme='dark'] .input-group > .form-control + .custom-select, + [data-theme='dark'] .input-group > .form-control + .custom-file, + [data-theme='dark'] .input-group > .form-control-plaintext + .form-control, + [data-theme='dark'] .input-group > .form-control-plaintext + .custom-select, + [data-theme='dark'] .input-group > .form-control-plaintext + .custom-file, + [data-theme='dark'] .input-group > .custom-select + .form-control, + [data-theme='dark'] .input-group > .custom-select + .custom-select, + [data-theme='dark'] .input-group > .custom-select + .custom-file, + [data-theme='dark'] .input-group > .custom-file + .form-control, + [data-theme='dark'] .input-group > .custom-file + .custom-select, + [data-theme='dark'] .input-group > .custom-file + .custom-file { + margin-left: -1px; } + [data-theme='dark'] .input-group > .form-control:focus, + [data-theme='dark'] .input-group > .custom-select:focus, + [data-theme='dark'] .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; } + [data-theme='dark'] .input-group > .custom-file .custom-file-input:focus { + z-index: 4; } + [data-theme='dark'] .input-group > .form-control:not(:last-child), + [data-theme='dark'] .input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .input-group > .form-control:not(:first-child), + [data-theme='dark'] .input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .input-group > .custom-file { + display: flex; + align-items: center; } + [data-theme='dark'] .input-group > .custom-file:not(:last-child) .custom-file-label, + [data-theme='dark'] .input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .input-group-prepend, + [data-theme='dark'] .input-group-append { + display: flex; } + [data-theme='dark'] .input-group-prepend .btn, + [data-theme='dark'] .input-group-append .btn { + position: relative; + z-index: 2; } + [data-theme='dark'] .input-group-prepend .btn:focus, + [data-theme='dark'] .input-group-append .btn:focus { + z-index: 3; } + [data-theme='dark'] .input-group-prepend .btn + .btn, + [data-theme='dark'] .input-group-prepend .btn + .input-group-text, + [data-theme='dark'] .input-group-prepend .input-group-text + .input-group-text, + [data-theme='dark'] .input-group-prepend .input-group-text + .btn, + [data-theme='dark'] .input-group-append .btn + .btn, + [data-theme='dark'] .input-group-append .btn + .input-group-text, + [data-theme='dark'] .input-group-append .input-group-text + .input-group-text, + [data-theme='dark'] .input-group-append .input-group-text + .btn { + margin-left: -1px; } + [data-theme='dark'] .input-group-prepend { + margin-right: -1px; } + [data-theme='dark'] .input-group-append { + margin-left: -1px; } + [data-theme='dark'] .input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 0.85rem; + font-weight: 400; + line-height: 1.5; + color: #dee2e6; + text-align: center; + white-space: nowrap; + background-color: #343a40; + border: 1px solid #6c757d; + border-radius: 0.25rem; } + [data-theme='dark'] .input-group-text input[type="radio"], + [data-theme='dark'] .input-group-text input[type="checkbox"] { + margin-top: 0; } + [data-theme='dark'] .input-group-lg > .form-control:not(textarea), + [data-theme='dark'] .input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); } + [data-theme='dark'] .input-group-lg > .form-control, + [data-theme='dark'] .input-group-lg > .custom-select, + [data-theme='dark'] .input-group-lg > .input-group-prepend > .input-group-text, + [data-theme='dark'] .input-group-lg > .input-group-append > .input-group-text, + [data-theme='dark'] .input-group-lg > .input-group-prepend > .btn, + [data-theme='dark'] .input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.0625rem; + line-height: 1.5; + border-radius: 0.3rem; } + [data-theme='dark'] .input-group-sm > .form-control:not(textarea), + [data-theme='dark'] .input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); } + [data-theme='dark'] .input-group-sm > .form-control, + [data-theme='dark'] .input-group-sm > .custom-select, + [data-theme='dark'] .input-group-sm > .input-group-prepend > .input-group-text, + [data-theme='dark'] .input-group-sm > .input-group-append > .input-group-text, + [data-theme='dark'] .input-group-sm > .input-group-prepend > .btn, + [data-theme='dark'] .input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.74375rem; + line-height: 1.5; + border-radius: 0.2rem; } + [data-theme='dark'] .input-group-lg > .custom-select, + [data-theme='dark'] .input-group-sm > .custom-select { + padding-right: 1.75rem; } + [data-theme='dark'] .input-group > .input-group-prepend > .btn, + [data-theme='dark'] .input-group > .input-group-prepend > .input-group-text, + [data-theme='dark'] .input-group > .input-group-append:not(:last-child) > .btn, + [data-theme='dark'] .input-group > .input-group-append:not(:last-child) > .input-group-text, + [data-theme='dark'] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), + [data-theme='dark'] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .input-group > .input-group-append > .btn, + [data-theme='dark'] .input-group > .input-group-append > .input-group-text, + [data-theme='dark'] .input-group > .input-group-prepend:not(:first-child) > .btn, + [data-theme='dark'] .input-group > .input-group-prepend:not(:first-child) > .input-group-text, + [data-theme='dark'] .input-group > .input-group-prepend:first-child > .btn:not(:first-child), + [data-theme='dark'] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .input-group > .input-group-append > .custom-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .input-group > .input-group-prepend > .custom-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.275rem; + padding-left: 1.5rem; } + [data-theme='dark'] .custom-control-inline { + display: inline-flex; + margin-right: 1rem; } + [data-theme='dark'] .custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.1375rem; + opacity: 0; } + [data-theme='dark'] .custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #3A52A2; + background-color: #3A52A2; + box-shadow:; } + [data-theme='dark'] .custom-control-input:focus ~ .custom-control-label::before { + box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.075), 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #8799d4; } + [data-theme='dark'] .custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #adb9e2; + border-color: #adb9e2; + box-shadow:; } + [data-theme='dark'] .custom-control-input[disabled] ~ .custom-control-label, [data-theme='dark'] .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; } + [data-theme='dark'] .custom-control-input[disabled] ~ .custom-control-label::before, [data-theme='dark'] .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; } + [data-theme='dark'] .custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; } + [data-theme='dark'] .custom-control-label::before { + position: absolute; + top: 0.1375rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .custom-control-label::after { + position: absolute; + top: 0.1375rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; } + [data-theme='dark'] .custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; } + [data-theme='dark'] .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } + [data-theme='dark'] .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #3A52A2; + background-color: #3A52A2; + box-shadow:; } + [data-theme='dark'] .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } + [data-theme='dark'] .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .custom-radio .custom-control-label::before { + border-radius: 50%; } + [data-theme='dark'] .custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } + [data-theme='dark'] .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .custom-switch { + padding-left: 2.25rem; } + [data-theme='dark'] .custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; } + [data-theme='dark'] .custom-switch .custom-control-label::after { + top: calc(0.1375rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .custom-switch .custom-control-label::after { + transition: none; } } + [data-theme='dark'] .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); } + [data-theme='dark'] .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 0.85rem; + font-weight: 400; + line-height: 1.5; + color: #dee2e6; + vertical-align: middle; + background: #000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #6c757d; + border-radius: 0.25rem; + box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.075); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + [data-theme='dark'] .custom-select:focus { + border-color: #8799d4; + outline: 0; + box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.075), 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-select:focus::-ms-value { + color: #dee2e6; + background-color: #000; } + [data-theme='dark'] .custom-select[multiple], [data-theme='dark'] .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; } + [data-theme='dark'] .custom-select:disabled { + color: #ced4da; + background-color: #343a40; } + [data-theme='dark'] .custom-select::-ms-expand { + display: none; } + [data-theme='dark'] .custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #dee2e6; } + [data-theme='dark'] .custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.74375rem; } + [data-theme='dark'] .custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.0625rem; } + [data-theme='dark'] .custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; } + [data-theme='dark'] .custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; } + [data-theme='dark'] .custom-file-input:focus ~ .custom-file-label { + border-color: #8799d4; + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-file-input[disabled] ~ .custom-file-label, + [data-theme='dark'] .custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; } + [data-theme='dark'] .custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; } + [data-theme='dark'] .custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); } + [data-theme='dark'] .custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + [data-theme='dark'] .custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; } + [data-theme='dark'] .custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + [data-theme='dark'] .custom-range:focus { + outline: none; } + [data-theme='dark'] .custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .custom-range::-moz-focus-outer { + border: 0; } + [data-theme='dark'] .custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #3A52A2; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; } } + [data-theme='dark'] .custom-range::-webkit-slider-thumb:active { + background-color: #adb9e2; } + [data-theme='dark'] .custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + [data-theme='dark'] .custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #3A52A2; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; } } + [data-theme='dark'] .custom-range::-moz-range-thumb:active { + background-color: #adb9e2; } + [data-theme='dark'] .custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + [data-theme='dark'] .custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #3A52A2; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; } } + [data-theme='dark'] .custom-range::-ms-thumb:active { + background-color: #adb9e2; } + [data-theme='dark'] .custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + [data-theme='dark'] .custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; } + [data-theme='dark'] .custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; } + [data-theme='dark'] .custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; } + [data-theme='dark'] .custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; } + [data-theme='dark'] .custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; } + [data-theme='dark'] .custom-range:disabled::-moz-range-track { + cursor: default; } + [data-theme='dark'] .custom-range:disabled::-ms-thumb { + background-color: #adb5bd; } + [data-theme='dark'] .custom-control-label::before, + [data-theme='dark'] .custom-file-label, + [data-theme='dark'] .custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .custom-control-label::before, + [data-theme='dark'] .custom-file-label, + [data-theme='dark'] .custom-select { + transition: none; } } + [data-theme='dark'] .nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + [data-theme='dark'] .nav-link { + display: block; + padding: 0.5rem 1rem; } + [data-theme='dark'] .nav-link:hover, [data-theme='dark'] .nav-link:focus { + text-decoration: none; } + [data-theme='dark'] .nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; } + [data-theme='dark'] .nav-tabs { + border-bottom: 1px solid rgba(255, 255, 255, 0.125); } + [data-theme='dark'] .nav-tabs .nav-item { + margin-bottom: -1px; } + [data-theme='dark'] .nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + [data-theme='dark'] .nav-tabs .nav-link:hover, [data-theme='dark'] .nav-tabs .nav-link:focus { + border-color: #495057 #495057 rgba(255, 255, 255, 0.125); } + [data-theme='dark'] .nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; } + [data-theme='dark'] .nav-tabs .nav-link.active, + [data-theme='dark'] .nav-tabs .nav-item.show .nav-link { + color: #f8f9fa; + background-color: #191d21; + border-color: #495057 #495057 #191d21; } + [data-theme='dark'] .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + [data-theme='dark'] .nav-pills .nav-link { + border-radius: 0.25rem; } + [data-theme='dark'] .nav-pills .nav-link.active, + [data-theme='dark'] .nav-pills .show > .nav-link { + color: #fff; + background-color: #3A52A2; } + [data-theme='dark'] .nav-fill > .nav-link, + [data-theme='dark'] .nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; } + [data-theme='dark'] .nav-justified > .nav-link, + [data-theme='dark'] .nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; } + [data-theme='dark'] .tab-content > .tab-pane { + display: none; } + [data-theme='dark'] .tab-content > .active { + display: block; } + [data-theme='dark'] .navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; } + [data-theme='dark'] .navbar .container, + [data-theme='dark'] .navbar .container-fluid, [data-theme='dark'] .navbar .container-sm, [data-theme='dark'] .navbar .container-md, [data-theme='dark'] .navbar .container-lg, [data-theme='dark'] .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; } + [data-theme='dark'] .navbar-brand { + display: inline-block; + padding-top: 0.34062rem; + padding-bottom: 0.34062rem; + margin-right: 1rem; + font-size: 1.0625rem; + line-height: inherit; + white-space: nowrap; } + [data-theme='dark'] .navbar-brand:hover, [data-theme='dark'] .navbar-brand:focus { + text-decoration: none; } + [data-theme='dark'] .navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + [data-theme='dark'] .navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; } + [data-theme='dark'] .navbar-nav .dropdown-menu { + position: static; + float: none; } + [data-theme='dark'] .navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; } + [data-theme='dark'] .navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; } + [data-theme='dark'] .navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.0625rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; } + [data-theme='dark'] .navbar-toggler:hover, [data-theme='dark'] .navbar-toggler:focus { + text-decoration: none; } + [data-theme='dark'] .navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; } + @media (max-width: 575.98px) { + [data-theme='dark'] .navbar-expand-sm > .container, + [data-theme='dark'] .navbar-expand-sm > .container-fluid, [data-theme='dark'] .navbar-expand-sm > .container-sm, [data-theme='dark'] .navbar-expand-sm > .container-md, [data-theme='dark'] .navbar-expand-sm > .container-lg, [data-theme='dark'] .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; } } + @media (min-width: 576px) { + [data-theme='dark'] .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; } + [data-theme='dark'] .navbar-expand-sm .navbar-nav { + flex-direction: row; } + [data-theme='dark'] .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; } + [data-theme='dark'] .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + [data-theme='dark'] .navbar-expand-sm > .container, + [data-theme='dark'] .navbar-expand-sm > .container-fluid, [data-theme='dark'] .navbar-expand-sm > .container-sm, [data-theme='dark'] .navbar-expand-sm > .container-md, [data-theme='dark'] .navbar-expand-sm > .container-lg, [data-theme='dark'] .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; } + [data-theme='dark'] .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; } + [data-theme='dark'] .navbar-expand-sm .navbar-toggler { + display: none; } } + @media (max-width: 767.98px) { + [data-theme='dark'] .navbar-expand-md > .container, + [data-theme='dark'] .navbar-expand-md > .container-fluid, [data-theme='dark'] .navbar-expand-md > .container-sm, [data-theme='dark'] .navbar-expand-md > .container-md, [data-theme='dark'] .navbar-expand-md > .container-lg, [data-theme='dark'] .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; } } + @media (min-width: 768px) { + [data-theme='dark'] .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; } + [data-theme='dark'] .navbar-expand-md .navbar-nav { + flex-direction: row; } + [data-theme='dark'] .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; } + [data-theme='dark'] .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + [data-theme='dark'] .navbar-expand-md > .container, + [data-theme='dark'] .navbar-expand-md > .container-fluid, [data-theme='dark'] .navbar-expand-md > .container-sm, [data-theme='dark'] .navbar-expand-md > .container-md, [data-theme='dark'] .navbar-expand-md > .container-lg, [data-theme='dark'] .navbar-expand-md > .container-xl { + flex-wrap: nowrap; } + [data-theme='dark'] .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; } + [data-theme='dark'] .navbar-expand-md .navbar-toggler { + display: none; } } + @media (max-width: 991.98px) { + [data-theme='dark'] .navbar-expand-lg > .container, + [data-theme='dark'] .navbar-expand-lg > .container-fluid, [data-theme='dark'] .navbar-expand-lg > .container-sm, [data-theme='dark'] .navbar-expand-lg > .container-md, [data-theme='dark'] .navbar-expand-lg > .container-lg, [data-theme='dark'] .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; } } + @media (min-width: 992px) { + [data-theme='dark'] .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; } + [data-theme='dark'] .navbar-expand-lg .navbar-nav { + flex-direction: row; } + [data-theme='dark'] .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; } + [data-theme='dark'] .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + [data-theme='dark'] .navbar-expand-lg > .container, + [data-theme='dark'] .navbar-expand-lg > .container-fluid, [data-theme='dark'] .navbar-expand-lg > .container-sm, [data-theme='dark'] .navbar-expand-lg > .container-md, [data-theme='dark'] .navbar-expand-lg > .container-lg, [data-theme='dark'] .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; } + [data-theme='dark'] .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; } + [data-theme='dark'] .navbar-expand-lg .navbar-toggler { + display: none; } } + @media (max-width: 1199.98px) { + [data-theme='dark'] .navbar-expand-xl > .container, + [data-theme='dark'] .navbar-expand-xl > .container-fluid, [data-theme='dark'] .navbar-expand-xl > .container-sm, [data-theme='dark'] .navbar-expand-xl > .container-md, [data-theme='dark'] .navbar-expand-xl > .container-lg, [data-theme='dark'] .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; } } + @media (min-width: 1200px) { + [data-theme='dark'] .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; } + [data-theme='dark'] .navbar-expand-xl .navbar-nav { + flex-direction: row; } + [data-theme='dark'] .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; } + [data-theme='dark'] .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + [data-theme='dark'] .navbar-expand-xl > .container, + [data-theme='dark'] .navbar-expand-xl > .container-fluid, [data-theme='dark'] .navbar-expand-xl > .container-sm, [data-theme='dark'] .navbar-expand-xl > .container-md, [data-theme='dark'] .navbar-expand-xl > .container-lg, [data-theme='dark'] .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; } + [data-theme='dark'] .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; } + [data-theme='dark'] .navbar-expand-xl .navbar-toggler { + display: none; } } + [data-theme='dark'] .navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; } + [data-theme='dark'] .navbar-expand > .container, + [data-theme='dark'] .navbar-expand > .container-fluid, [data-theme='dark'] .navbar-expand > .container-sm, [data-theme='dark'] .navbar-expand > .container-md, [data-theme='dark'] .navbar-expand > .container-lg, [data-theme='dark'] .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; } + [data-theme='dark'] .navbar-expand .navbar-nav { + flex-direction: row; } + [data-theme='dark'] .navbar-expand .navbar-nav .dropdown-menu { + position: absolute; } + [data-theme='dark'] .navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + [data-theme='dark'] .navbar-expand > .container, + [data-theme='dark'] .navbar-expand > .container-fluid, [data-theme='dark'] .navbar-expand > .container-sm, [data-theme='dark'] .navbar-expand > .container-md, [data-theme='dark'] .navbar-expand > .container-lg, [data-theme='dark'] .navbar-expand > .container-xl { + flex-wrap: nowrap; } + [data-theme='dark'] .navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; } + [data-theme='dark'] .navbar-expand .navbar-toggler { + display: none; } + [data-theme='dark'] .navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); } + [data-theme='dark'] .navbar-light .navbar-brand:hover, [data-theme='dark'] .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); } + [data-theme='dark'] .navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); } + [data-theme='dark'] .navbar-light .navbar-nav .nav-link:hover, [data-theme='dark'] .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); } + [data-theme='dark'] .navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); } + [data-theme='dark'] .navbar-light .navbar-nav .show > .nav-link, + [data-theme='dark'] .navbar-light .navbar-nav .active > .nav-link, + [data-theme='dark'] .navbar-light .navbar-nav .nav-link.show, + [data-theme='dark'] .navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); } + [data-theme='dark'] .navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); } + [data-theme='dark'] .navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + [data-theme='dark'] .navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); } + [data-theme='dark'] .navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); } + [data-theme='dark'] .navbar-light .navbar-text a:hover, [data-theme='dark'] .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); } + [data-theme='dark'] .navbar-dark .navbar-brand { + color: #fff; } + [data-theme='dark'] .navbar-dark .navbar-brand:hover, [data-theme='dark'] .navbar-dark .navbar-brand:focus { + color: #fff; } + [data-theme='dark'] .navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); } + [data-theme='dark'] .navbar-dark .navbar-nav .nav-link:hover, [data-theme='dark'] .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); } + [data-theme='dark'] .navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); } + [data-theme='dark'] .navbar-dark .navbar-nav .show > .nav-link, + [data-theme='dark'] .navbar-dark .navbar-nav .active > .nav-link, + [data-theme='dark'] .navbar-dark .navbar-nav .nav-link.show, + [data-theme='dark'] .navbar-dark .navbar-nav .nav-link.active { + color: #fff; } + [data-theme='dark'] .navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); } + [data-theme='dark'] .navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + [data-theme='dark'] .navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); } + [data-theme='dark'] .navbar-dark .navbar-text a { + color: #fff; } + [data-theme='dark'] .navbar-dark .navbar-text a:hover, [data-theme='dark'] .navbar-dark .navbar-text a:focus { + color: #fff; } + [data-theme='dark'] .card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #212529; + background-clip: border-box; + border: 1px solid rgba(255, 255, 255, 0.125); + border-radius: 0.25rem; } + [data-theme='dark'] .card > hr { + margin-right: 0; + margin-left: 0; } + [data-theme='dark'] .card > .list-group { + border-top: inherit; + border-bottom: inherit; } + [data-theme='dark'] .card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .card > .card-header + .list-group, + [data-theme='dark'] .card > .list-group + .card-footer { + border-top: 0; } + [data-theme='dark'] .card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; + color: #e9ecef; } + [data-theme='dark'] .card-title { + margin-bottom: 0.75rem; } + [data-theme='dark'] .card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; } + [data-theme='dark'] .card-text:last-child { + margin-bottom: 0; } + [data-theme='dark'] .card-link:hover { + text-decoration: none; } + [data-theme='dark'] .card-link + .card-link { + margin-left: 1.25rem; } + [data-theme='dark'] .card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(255, 255, 255, 0.03); + border-bottom: 1px solid rgba(255, 255, 255, 0.125); } + [data-theme='dark'] .card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } + [data-theme='dark'] .card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(255, 255, 255, 0.03); + border-top: 1px solid rgba(255, 255, 255, 0.125); } + [data-theme='dark'] .card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } + [data-theme='dark'] .card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } + [data-theme='dark'] .card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + [data-theme='dark'] .card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .card-img, + [data-theme='dark'] .card-img-top, + [data-theme='dark'] .card-img-bottom { + flex-shrink: 0; + width: 100%; } + [data-theme='dark'] .card-img, + [data-theme='dark'] .card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .card-img, + [data-theme='dark'] .card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .card-deck .card { + margin-bottom: 15px; } + @media (min-width: 576px) { + [data-theme='dark'] .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; } + [data-theme='dark'] .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; } } + [data-theme='dark'] .card-group > .card { + margin-bottom: 15px; } + @media (min-width: 576px) { + [data-theme='dark'] .card-group { + display: flex; + flex-flow: row wrap; } + [data-theme='dark'] .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; } + [data-theme='dark'] .card-group > .card + .card { + margin-left: 0; + border-left: 0; } + [data-theme='dark'] .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + [data-theme='dark'] .card-group > .card:not(:last-child) .card-img-top, + [data-theme='dark'] .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; } + [data-theme='dark'] .card-group > .card:not(:last-child) .card-img-bottom, + [data-theme='dark'] .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; } + [data-theme='dark'] .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .card-group > .card:not(:first-child) .card-img-top, + [data-theme='dark'] .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; } + [data-theme='dark'] .card-group > .card:not(:first-child) .card-img-bottom, + [data-theme='dark'] .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; } } + [data-theme='dark'] .card-columns .card { + margin-bottom: 0.75rem; } + @media (min-width: 576px) { + [data-theme='dark'] .card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; } + [data-theme='dark'] .card-columns .card { + display: inline-block; + width: 100%; } } + [data-theme='dark'] .accordion { + overflow-anchor: none; } + [data-theme='dark'] .accordion > .card { + overflow: hidden; } + [data-theme='dark'] .accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + [data-theme='dark'] .accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; } + [data-theme='dark'] .accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; } + [data-theme='dark'] .breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #343a40; + border-radius: 0.25rem; } + [data-theme='dark'] .breadcrumb-item { + display: flex; } + [data-theme='dark'] .breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; } + [data-theme='dark'] .breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #ced4da; + content: "/"; } + [data-theme='dark'] .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; } + [data-theme='dark'] .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; } + [data-theme='dark'] .breadcrumb-item.active { + color: #ced4da; } + [data-theme='dark'] .pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; } + [data-theme='dark'] .page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #adadad; + background-color: #000; + border: 1px solid #495057; } + [data-theme='dark'] .page-link:hover { + z-index: 2; + color: #878787; + text-decoration: none; + background-color: #343a40; + border-color: #495057; } + [data-theme='dark'] .page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.25); } + [data-theme='dark'] .page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + [data-theme='dark'] .page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } + [data-theme='dark'] .page-item.active .page-link { + z-index: 3; + color: #000; + background-color: #3395ff; + border-color: #3395ff; } + [data-theme='dark'] .page-item.disabled .page-link { + color: #ced4da; + pointer-events: none; + cursor: auto; + background-color: #000; + border-color: #495057; } + [data-theme='dark'] .pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.0625rem; + line-height: 1.5; } + [data-theme='dark'] .pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; } + [data-theme='dark'] .pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; } + [data-theme='dark'] .pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.74375rem; + line-height: 1.5; } + [data-theme='dark'] .pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; } + [data-theme='dark'] .pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; } + [data-theme='dark'] .badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .badge { + transition: none; } } + a[data-theme='dark'] .badge:hover, a[data-theme='dark'] .badge:focus { + text-decoration: none; } + [data-theme='dark'] .badge:empty { + display: none; } + [data-theme='dark'] .btn .badge { + position: relative; + top: -1px; } + [data-theme='dark'] .badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } + [data-theme='dark'] .badge-primary { + color: #ced4da; + background-color: #3A52A2; } + a[data-theme='dark'] .badge-primary:hover, a[data-theme='dark'] .badge-primary:focus { + color: #ced4da; + background-color: #2d3f7c; } + a[data-theme='dark'] .badge-primary:focus, a[data-theme='dark'] .badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(58, 82, 162, 0.5); } + [data-theme='dark'] .badge-secondary { + color: #ced4da; + background-color: #6c757d; } + a[data-theme='dark'] .badge-secondary:hover, a[data-theme='dark'] .badge-secondary:focus { + color: #ced4da; + background-color: #545b62; } + a[data-theme='dark'] .badge-secondary:focus, a[data-theme='dark'] .badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + [data-theme='dark'] .badge-success { + color: #ced4da; + background-color: #3AB54A; } + a[data-theme='dark'] .badge-success:hover, a[data-theme='dark'] .badge-success:focus { + color: #ced4da; + background-color: #2e8e3a; } + a[data-theme='dark'] .badge-success:focus, a[data-theme='dark'] .badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(58, 181, 74, 0.5); } + [data-theme='dark'] .badge-info { + color: #ced4da; + background-color: #25AAE2; } + a[data-theme='dark'] .badge-info:hover, a[data-theme='dark'] .badge-info:focus { + color: #ced4da; + background-color: #198bbb; } + a[data-theme='dark'] .badge-info:focus, a[data-theme='dark'] .badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(37, 170, 226, 0.5); } + [data-theme='dark'] .badge-warning { + color: #212529; + background-color: #FFE89B; } + a[data-theme='dark'] .badge-warning:hover, a[data-theme='dark'] .badge-warning:focus { + color: #212529; + background-color: #ffdc68; } + a[data-theme='dark'] .badge-warning:focus, a[data-theme='dark'] .badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 232, 155, 0.5); } + [data-theme='dark'] .badge-danger { + color: #ced4da; + background-color: #BF1E2E; } + a[data-theme='dark'] .badge-danger:hover, a[data-theme='dark'] .badge-danger:focus { + color: #ced4da; + background-color: #931723; } + a[data-theme='dark'] .badge-danger:focus, a[data-theme='dark'] .badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(191, 30, 46, 0.5); } + [data-theme='dark'] .badge-light { + color: #212529; + background-color: #f8f9fa; } + a[data-theme='dark'] .badge-light:hover, a[data-theme='dark'] .badge-light:focus { + color: #212529; + background-color: #dae0e5; } + a[data-theme='dark'] .badge-light:focus, a[data-theme='dark'] .badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + [data-theme='dark'] .badge-dark { + color: #ced4da; + background-color: #343a40; } + a[data-theme='dark'] .badge-dark:hover, a[data-theme='dark'] .badge-dark:focus { + color: #ced4da; + background-color: #1d2124; } + a[data-theme='dark'] .badge-dark:focus, a[data-theme='dark'] .badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + [data-theme='dark'] .jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #343a40; + border-radius: 0.3rem; } + @media (min-width: 576px) { + [data-theme='dark'] .jumbotron { + padding: 4rem 2rem; } } + [data-theme='dark'] .jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; } + [data-theme='dark'] .alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; } + [data-theme='dark'] .alert-heading { + color: inherit; } + [data-theme='dark'] .alert-link { + font-weight: 700; } + [data-theme='dark'] .alert-dismissible { + padding-right: 3.775rem; } + [data-theme='dark'] .alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; } + [data-theme='dark'] .alert-primary { + color: #1e2b54; + background-color: #d8dcec; + border-color: #c8cfe5; } + [data-theme='dark'] .alert-primary hr { + border-top-color: #b7c0dd; } + [data-theme='dark'] .alert-primary .alert-link { + color: #11182e; } + [data-theme='dark'] .alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; } + [data-theme='dark'] .alert-secondary hr { + border-top-color: #c8cbcf; } + [data-theme='dark'] .alert-secondary .alert-link { + color: #202326; } + [data-theme='dark'] .alert-success { + color: #1e5e26; + background-color: #d8f0db; + border-color: #c8eacc; } + [data-theme='dark'] .alert-success hr { + border-top-color: #b6e3bb; } + [data-theme='dark'] .alert-success .alert-link { + color: #123716; } + [data-theme='dark'] .alert-info { + color: #135876; + background-color: #d3eef9; + border-color: #c2e7f7; } + [data-theme='dark'] .alert-info hr { + border-top-color: #abdef4; } + [data-theme='dark'] .alert-info .alert-link { + color: #0c374a; } + [data-theme='dark'] .alert-warning { + color: #857951; + background-color: #fffaeb; + border-color: #fff9e3; } + [data-theme='dark'] .alert-warning hr { + border-top-color: #fff4ca; } + [data-theme='dark'] .alert-warning .alert-link { + color: #655c3e; } + [data-theme='dark'] .alert-danger { + color: #631018; + background-color: #f2d2d5; + border-color: #edc0c4; } + [data-theme='dark'] .alert-danger hr { + border-top-color: #e7acb1; } + [data-theme='dark'] .alert-danger .alert-link { + color: #37090d; } + [data-theme='dark'] .alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; } + [data-theme='dark'] .alert-light hr { + border-top-color: #ececf6; } + [data-theme='dark'] .alert-light .alert-link { + color: #686868; } + [data-theme='dark'] .alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; } + [data-theme='dark'] .alert-dark hr { + border-top-color: #b9bbbe; } + [data-theme='dark'] .alert-dark .alert-link { + color: #040505; } + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; } + to { + background-position: 0 0; } } + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; } + to { + background-position: 0 0; } } + [data-theme='dark'] .progress { + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.6375rem; + background-color: #e9ecef; + border-radius: 0.25rem; + box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); } + [data-theme='dark'] .progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #3A52A2; + transition: width 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .progress-bar { + transition: none; } } + [data-theme='dark'] .progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; } + [data-theme='dark'] .progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .progress-bar-animated { + -webkit-animation: none; + animation: none; } } + [data-theme='dark'] .media { + display: flex; + align-items: flex-start; } + [data-theme='dark'] .media-body { + flex: 1; } + [data-theme='dark'] .list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; } + [data-theme='dark'] .list-group-item-action { + width: 100%; + color: #dee2e6; + text-align: inherit; } + [data-theme='dark'] .list-group-item-action:hover, [data-theme='dark'] .list-group-item-action:focus { + z-index: 1; + color: #dee2e6; + text-decoration: none; + background-color: #212529; } + [data-theme='dark'] .list-group-item-action:active { + color: #d3d3d3; + background-color: #343a40; } + [data-theme='dark'] .list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: rgba(25, 29, 33, 0.05); + border: 1px solid rgba(255, 255, 255, 0.125); } + [data-theme='dark'] .list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; } + [data-theme='dark'] .list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; } + [data-theme='dark'] .list-group-item.disabled, [data-theme='dark'] .list-group-item:disabled { + color: #ced4da; + pointer-events: none; + background-color: rgba(25, 29, 33, 0.05); } + [data-theme='dark'] .list-group-item.active { + z-index: 2; + color: #000; + background-color: #3395ff; + border-color: #3395ff; } + [data-theme='dark'] .list-group-item + [data-theme='dark'] .list-group-item { + border-top-width: 0; } + [data-theme='dark'] .list-group-item + [data-theme='dark'] .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; } + [data-theme='dark'] .list-group-horizontal { + flex-direction: row; } + [data-theme='dark'] .list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + [data-theme='dark'] .list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + [data-theme='dark'] .list-group-horizontal > .list-group-item.active { + margin-top: 0; } + [data-theme='dark'] .list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + [data-theme='dark'] .list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } + @media (min-width: 576px) { + [data-theme='dark'] .list-group-horizontal-sm { + flex-direction: row; } + [data-theme='dark'] .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + [data-theme='dark'] .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + [data-theme='dark'] .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; } + [data-theme='dark'] .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + [data-theme='dark'] .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + @media (min-width: 768px) { + [data-theme='dark'] .list-group-horizontal-md { + flex-direction: row; } + [data-theme='dark'] .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + [data-theme='dark'] .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + [data-theme='dark'] .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; } + [data-theme='dark'] .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + [data-theme='dark'] .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + @media (min-width: 992px) { + [data-theme='dark'] .list-group-horizontal-lg { + flex-direction: row; } + [data-theme='dark'] .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + [data-theme='dark'] .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + [data-theme='dark'] .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; } + [data-theme='dark'] .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + [data-theme='dark'] .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + @media (min-width: 1200px) { + [data-theme='dark'] .list-group-horizontal-xl { + flex-direction: row; } + [data-theme='dark'] .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + [data-theme='dark'] .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + [data-theme='dark'] .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; } + [data-theme='dark'] .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + [data-theme='dark'] .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + [data-theme='dark'] .list-group-flush { + border-radius: 0; } + [data-theme='dark'] .list-group-flush > .list-group-item { + border-width: 0 0 1px; } + [data-theme='dark'] .list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; } + [data-theme='dark'] .list-group-item-primary { + color: #1e2b54; + background-color: #c8cfe5; } + [data-theme='dark'] .list-group-item-primary.list-group-item-action:hover, [data-theme='dark'] .list-group-item-primary.list-group-item-action:focus { + color: #1e2b54; + background-color: #b7c0dd; } + [data-theme='dark'] .list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #1e2b54; + border-color: #1e2b54; } + [data-theme='dark'] .list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; } + [data-theme='dark'] .list-group-item-secondary.list-group-item-action:hover, [data-theme='dark'] .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; } + [data-theme='dark'] .list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; } + [data-theme='dark'] .list-group-item-success { + color: #1e5e26; + background-color: #c8eacc; } + [data-theme='dark'] .list-group-item-success.list-group-item-action:hover, [data-theme='dark'] .list-group-item-success.list-group-item-action:focus { + color: #1e5e26; + background-color: #b6e3bb; } + [data-theme='dark'] .list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #1e5e26; + border-color: #1e5e26; } + [data-theme='dark'] .list-group-item-info { + color: #135876; + background-color: #c2e7f7; } + [data-theme='dark'] .list-group-item-info.list-group-item-action:hover, [data-theme='dark'] .list-group-item-info.list-group-item-action:focus { + color: #135876; + background-color: #abdef4; } + [data-theme='dark'] .list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #135876; + border-color: #135876; } + [data-theme='dark'] .list-group-item-warning { + color: #857951; + background-color: #fff9e3; } + [data-theme='dark'] .list-group-item-warning.list-group-item-action:hover, [data-theme='dark'] .list-group-item-warning.list-group-item-action:focus { + color: #857951; + background-color: #fff4ca; } + [data-theme='dark'] .list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #857951; + border-color: #857951; } + [data-theme='dark'] .list-group-item-danger { + color: #631018; + background-color: #edc0c4; } + [data-theme='dark'] .list-group-item-danger.list-group-item-action:hover, [data-theme='dark'] .list-group-item-danger.list-group-item-action:focus { + color: #631018; + background-color: #e7acb1; } + [data-theme='dark'] .list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #631018; + border-color: #631018; } + [data-theme='dark'] .list-group-item-light { + color: #818182; + background-color: #fdfdfe; } + [data-theme='dark'] .list-group-item-light.list-group-item-action:hover, [data-theme='dark'] .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; } + [data-theme='dark'] .list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; } + [data-theme='dark'] .list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; } + [data-theme='dark'] .list-group-item-dark.list-group-item-action:hover, [data-theme='dark'] .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; } + [data-theme='dark'] .list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; } + [data-theme='dark'] .close { + float: right; + font-size: 1.275rem; + font-weight: 700; + line-height: 1; + color: #fff; + text-shadow: 0 1px 0 #000; + opacity: .5; } + [data-theme='dark'] .close:hover { + color: #fff; + text-decoration: none; } + [data-theme='dark'] .close:not(:disabled):not(.disabled):hover, [data-theme='dark'] .close:not(:disabled):not(.disabled):focus { + opacity: .75; } + [data-theme='dark'] button.close { + padding: 0; + background-color: transparent; + border: 0; } + [data-theme='dark'] a.close.disabled { + pointer-events: none; } + [data-theme='dark'] .toast { + flex-basis: 350px; + max-width: 350px; + font-size: 0.875rem; + background-color: rgba(0, 0, 0, 0.85); + background-clip: padding-box; + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(255, 255, 255, 0.1); + opacity: 0; + border-radius: 0.25rem; } + [data-theme='dark'] .toast:not(:last-child) { + margin-bottom: 0.75rem; } + [data-theme='dark'] .toast.showing { + opacity: 1; } + [data-theme='dark'] .toast.show { + display: block; + opacity: 1; } + [data-theme='dark'] .toast.hide { + display: none; } + [data-theme='dark'] .toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #ced4da; + background-color: rgba(0, 0, 0, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + [data-theme='dark'] .toast-body { + padding: 0.75rem; } + [data-theme='dark'] .modal-open { + overflow: hidden; } + [data-theme='dark'] .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + [data-theme='dark'] .modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; } + [data-theme='dark'] .modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; } + .modal.fade [data-theme='dark'] .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); } + @media (prefers-reduced-motion: reduce) { + .modal.fade [data-theme='dark'] .modal-dialog { + transition: none; } } + .modal.show [data-theme='dark'] .modal-dialog { + transform: none; } + .modal.modal-static [data-theme='dark'] .modal-dialog { + transform: scale(1.02); } + [data-theme='dark'] .modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); } + [data-theme='dark'] .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; } + [data-theme='dark'] .modal-dialog-scrollable .modal-header, + [data-theme='dark'] .modal-dialog-scrollable .modal-footer { + flex-shrink: 0; } + [data-theme='dark'] .modal-dialog-scrollable .modal-body { + overflow-y: auto; } + [data-theme='dark'] .modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); } + [data-theme='dark'] .modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + content: ""; } + [data-theme='dark'] .modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; } + [data-theme='dark'] .modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; } + [data-theme='dark'] .modal-dialog-centered.modal-dialog-scrollable::before { + content: none; } + [data-theme='dark'] .modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #191d21; + background-clip: padding-box; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 0.3rem; + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.5); + outline: 0; } + [data-theme='dark'] .modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; } + [data-theme='dark'] .modal-backdrop.fade { + opacity: 0; } + [data-theme='dark'] .modal-backdrop.show { + opacity: 0.5; } + [data-theme='dark'] .modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #343a40; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } + [data-theme='dark'] .modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; } + [data-theme='dark'] .modal-title { + margin-bottom: 0; + line-height: 1.5; } + [data-theme='dark'] .modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; } + [data-theme='dark'] .modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #343a40; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); } + [data-theme='dark'] .modal-footer > * { + margin: 0.25rem; } + [data-theme='dark'] .modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + @media (min-width: 576px) { + [data-theme='dark'] .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; } + [data-theme='dark'] .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); } + [data-theme='dark'] .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); } + [data-theme='dark'] .modal-dialog-centered { + min-height: calc(100% - 3.5rem); } + [data-theme='dark'] .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; } + [data-theme='dark'] .modal-content { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5); } + [data-theme='dark'] .modal-sm { + max-width: 300px; } } + @media (min-width: 992px) { + [data-theme='dark'] .modal-lg, + [data-theme='dark'] .modal-xl { + max-width: 800px; } } + @media (min-width: 1200px) { + [data-theme='dark'] .modal-xl { + max-width: 1140px; } } + [data-theme='dark'] .tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.74375rem; + word-wrap: break-word; + opacity: 0; } + [data-theme='dark'] .tooltip.show { + opacity: 0.9; } + [data-theme='dark'] .tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; } + [data-theme='dark'] .tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; } + [data-theme='dark'] .bs-tooltip-top, [data-theme='dark'] .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; } + [data-theme='dark'] .bs-tooltip-top .arrow, [data-theme='dark'] .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; } + [data-theme='dark'] .bs-tooltip-top .arrow::before, [data-theme='dark'] .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; } + [data-theme='dark'] .bs-tooltip-right, [data-theme='dark'] .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; } + [data-theme='dark'] .bs-tooltip-right .arrow, [data-theme='dark'] .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; } + [data-theme='dark'] .bs-tooltip-right .arrow::before, [data-theme='dark'] .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; } + [data-theme='dark'] .bs-tooltip-bottom, [data-theme='dark'] .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; } + [data-theme='dark'] .bs-tooltip-bottom .arrow, [data-theme='dark'] .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; } + [data-theme='dark'] .bs-tooltip-bottom .arrow::before, [data-theme='dark'] .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; } + [data-theme='dark'] .bs-tooltip-left, [data-theme='dark'] .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; } + [data-theme='dark'] .bs-tooltip-left .arrow, [data-theme='dark'] .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; } + [data-theme='dark'] .bs-tooltip-left .arrow::before, [data-theme='dark'] .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; } + [data-theme='dark'] .tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } + [data-theme='dark'] .popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.74375rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2); } + [data-theme='dark'] .popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; } + [data-theme='dark'] .popover .arrow::before, [data-theme='dark'] .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; } + [data-theme='dark'] .bs-popover-top, [data-theme='dark'] .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; } + [data-theme='dark'] .bs-popover-top > .arrow, [data-theme='dark'] .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); } + [data-theme='dark'] .bs-popover-top > .arrow::before, [data-theme='dark'] .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); } + [data-theme='dark'] .bs-popover-top > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; } + [data-theme='dark'] .bs-popover-right, [data-theme='dark'] .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; } + [data-theme='dark'] .bs-popover-right > .arrow, [data-theme='dark'] .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + [data-theme='dark'] .bs-popover-right > .arrow::before, [data-theme='dark'] .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); } + [data-theme='dark'] .bs-popover-right > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; } + [data-theme='dark'] .bs-popover-bottom, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; } + [data-theme='dark'] .bs-popover-bottom > .arrow, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); } + [data-theme='dark'] .bs-popover-bottom > .arrow::before, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); } + [data-theme='dark'] .bs-popover-bottom > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; } + [data-theme='dark'] .bs-popover-bottom .popover-header::before, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; } + [data-theme='dark'] .bs-popover-left, [data-theme='dark'] .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; } + [data-theme='dark'] .bs-popover-left > .arrow, [data-theme='dark'] .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + [data-theme='dark'] .bs-popover-left > .arrow::before, [data-theme='dark'] .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); } + [data-theme='dark'] .bs-popover-left > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; } + [data-theme='dark'] .popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 0.85rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } + [data-theme='dark'] .popover-header:empty { + display: none; } + [data-theme='dark'] .popover-body { + padding: 0.5rem 0.75rem; + color: #212529; } + [data-theme='dark'] .carousel { + position: relative; } + [data-theme='dark'] .carousel.pointer-event { + touch-action: pan-y; } + [data-theme='dark'] .carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } + [data-theme='dark'] .carousel-inner::after { + display: block; + clear: both; + content: ""; } + [data-theme='dark'] .carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .carousel-item { + transition: none; } } + [data-theme='dark'] .carousel-item.active, + [data-theme='dark'] .carousel-item-next, + [data-theme='dark'] .carousel-item-prev { + display: block; } + [data-theme='dark'] .carousel-item-next:not(.carousel-item-left), + [data-theme='dark'] .active.carousel-item-right { + transform: translateX(100%); } + [data-theme='dark'] .carousel-item-prev:not(.carousel-item-right), + [data-theme='dark'] .active.carousel-item-left { + transform: translateX(-100%); } + [data-theme='dark'] .carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; } + [data-theme='dark'] .carousel-fade .carousel-item.active, + [data-theme='dark'] .carousel-fade .carousel-item-next.carousel-item-left, + [data-theme='dark'] .carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; } + [data-theme='dark'] .carousel-fade .active.carousel-item-left, + [data-theme='dark'] .carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .carousel-fade .active.carousel-item-left, + [data-theme='dark'] .carousel-fade .active.carousel-item-right { + transition: none; } } + [data-theme='dark'] .carousel-control-prev, + [data-theme='dark'] .carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .carousel-control-prev, + [data-theme='dark'] .carousel-control-next { + transition: none; } } + [data-theme='dark'] .carousel-control-prev:hover, [data-theme='dark'] .carousel-control-prev:focus, + [data-theme='dark'] .carousel-control-next:hover, + [data-theme='dark'] .carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; } + [data-theme='dark'] .carousel-control-prev { + left: 0; } + [data-theme='dark'] .carousel-control-next { + right: 0; } + [data-theme='dark'] .carousel-control-prev-icon, + [data-theme='dark'] .carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; } + [data-theme='dark'] .carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); } + [data-theme='dark'] .carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); } + [data-theme='dark'] .carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; } + [data-theme='dark'] .carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + [data-theme='dark'] .carousel-indicators li { + transition: none; } } + [data-theme='dark'] .carousel-indicators .active { + opacity: 1; } + [data-theme='dark'] .carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; } + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg); } } + +@keyframes spinner-border { + to { + transform: rotate(360deg); } } + [data-theme='dark'] .spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; } + [data-theme='dark'] .spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; } + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); } + 50% { + opacity: 1; + transform: none; } } + +@keyframes spinner-grow { + 0% { + transform: scale(0); } + 50% { + opacity: 1; + transform: none; } } + [data-theme='dark'] .spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; } + [data-theme='dark'] .spinner-grow-sm { + width: 1rem; + height: 1rem; } + [data-theme='dark'] .align-baseline { + vertical-align: baseline !important; } + [data-theme='dark'] .align-top { + vertical-align: top !important; } + [data-theme='dark'] .align-middle { + vertical-align: middle !important; } + [data-theme='dark'] .align-bottom { + vertical-align: bottom !important; } + [data-theme='dark'] .align-text-bottom { + vertical-align: text-bottom !important; } + [data-theme='dark'] .align-text-top { + vertical-align: text-top !important; } + [data-theme='dark'] .bg-primary { + background-color: #3A52A2 !important; } + [data-theme='dark'] a.bg-primary:hover, [data-theme='dark'] a.bg-primary:focus, + [data-theme='dark'] button.bg-primary:hover, + [data-theme='dark'] button.bg-primary:focus { + background-color: #2d3f7c !important; } + [data-theme='dark'] .bg-secondary { + background-color: #6c757d !important; } + [data-theme='dark'] a.bg-secondary:hover, [data-theme='dark'] a.bg-secondary:focus, + [data-theme='dark'] button.bg-secondary:hover, + [data-theme='dark'] button.bg-secondary:focus { + background-color: #545b62 !important; } + [data-theme='dark'] .bg-success { + background-color: #3AB54A !important; } + [data-theme='dark'] a.bg-success:hover, [data-theme='dark'] a.bg-success:focus, + [data-theme='dark'] button.bg-success:hover, + [data-theme='dark'] button.bg-success:focus { + background-color: #2e8e3a !important; } + [data-theme='dark'] .bg-info { + background-color: #25AAE2 !important; } + [data-theme='dark'] a.bg-info:hover, [data-theme='dark'] a.bg-info:focus, + [data-theme='dark'] button.bg-info:hover, + [data-theme='dark'] button.bg-info:focus { + background-color: #198bbb !important; } + [data-theme='dark'] .bg-warning { + background-color: #FFE89B !important; } + [data-theme='dark'] a.bg-warning:hover, [data-theme='dark'] a.bg-warning:focus, + [data-theme='dark'] button.bg-warning:hover, + [data-theme='dark'] button.bg-warning:focus { + background-color: #ffdc68 !important; } + [data-theme='dark'] .bg-danger { + background-color: #BF1E2E !important; } + [data-theme='dark'] a.bg-danger:hover, [data-theme='dark'] a.bg-danger:focus, + [data-theme='dark'] button.bg-danger:hover, + [data-theme='dark'] button.bg-danger:focus { + background-color: #931723 !important; } + [data-theme='dark'] .bg-light { + background-color: #f8f9fa !important; } + [data-theme='dark'] a.bg-light:hover, [data-theme='dark'] a.bg-light:focus, + [data-theme='dark'] button.bg-light:hover, + [data-theme='dark'] button.bg-light:focus { + background-color: #dae0e5 !important; } + [data-theme='dark'] .bg-dark { + background-color: #343a40 !important; } + [data-theme='dark'] a.bg-dark:hover, [data-theme='dark'] a.bg-dark:focus, + [data-theme='dark'] button.bg-dark:hover, + [data-theme='dark'] button.bg-dark:focus { + background-color: #1d2124 !important; } + [data-theme='dark'] .bg-white { + background-color: #fff !important; } + [data-theme='dark'] .bg-transparent { + background-color: transparent !important; } + [data-theme='dark'] .border { + border: 1px solid #343a40 !important; } + [data-theme='dark'] .border-top { + border-top: 1px solid #343a40 !important; } + [data-theme='dark'] .border-right { + border-right: 1px solid #343a40 !important; } + [data-theme='dark'] .border-bottom { + border-bottom: 1px solid #343a40 !important; } + [data-theme='dark'] .border-left { + border-left: 1px solid #343a40 !important; } + [data-theme='dark'] .border-0 { + border: 0 !important; } + [data-theme='dark'] .border-top-0 { + border-top: 0 !important; } + [data-theme='dark'] .border-right-0 { + border-right: 0 !important; } + [data-theme='dark'] .border-bottom-0 { + border-bottom: 0 !important; } + [data-theme='dark'] .border-left-0 { + border-left: 0 !important; } + [data-theme='dark'] .border-primary { + border-color: #3A52A2 !important; } + [data-theme='dark'] .border-secondary { + border-color: #6c757d !important; } + [data-theme='dark'] .border-success { + border-color: #3AB54A !important; } + [data-theme='dark'] .border-info { + border-color: #25AAE2 !important; } + [data-theme='dark'] .border-warning { + border-color: #FFE89B !important; } + [data-theme='dark'] .border-danger { + border-color: #BF1E2E !important; } + [data-theme='dark'] .border-light { + border-color: #f8f9fa !important; } + [data-theme='dark'] .border-dark { + border-color: #343a40 !important; } + [data-theme='dark'] .border-white { + border-color: #fff !important; } + [data-theme='dark'] .rounded-sm { + border-radius: 0.2rem !important; } + [data-theme='dark'] .rounded { + border-radius: 0.25rem !important; } + [data-theme='dark'] .rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; } + [data-theme='dark'] .rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; } + [data-theme='dark'] .rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + [data-theme='dark'] .rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + [data-theme='dark'] .rounded-lg { + border-radius: 0.3rem !important; } + [data-theme='dark'] .rounded-circle { + border-radius: 50% !important; } + [data-theme='dark'] .rounded-pill { + border-radius: 50rem !important; } + [data-theme='dark'] .rounded-0 { + border-radius: 0 !important; } + [data-theme='dark'] .clearfix::after { + display: block; + clear: both; + content: ""; } + [data-theme='dark'] .d-none { + display: none !important; } + [data-theme='dark'] .d-inline { + display: inline !important; } + [data-theme='dark'] .d-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-block { + display: block !important; } + [data-theme='dark'] .d-table { + display: table !important; } + [data-theme='dark'] .d-table-row { + display: table-row !important; } + [data-theme='dark'] .d-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-flex { + display: flex !important; } + [data-theme='dark'] .d-inline-flex { + display: inline-flex !important; } + @media (min-width: 576px) { + [data-theme='dark'] .d-sm-none { + display: none !important; } + [data-theme='dark'] .d-sm-inline { + display: inline !important; } + [data-theme='dark'] .d-sm-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-sm-block { + display: block !important; } + [data-theme='dark'] .d-sm-table { + display: table !important; } + [data-theme='dark'] .d-sm-table-row { + display: table-row !important; } + [data-theme='dark'] .d-sm-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-sm-flex { + display: flex !important; } + [data-theme='dark'] .d-sm-inline-flex { + display: inline-flex !important; } } + @media (min-width: 768px) { + [data-theme='dark'] .d-md-none { + display: none !important; } + [data-theme='dark'] .d-md-inline { + display: inline !important; } + [data-theme='dark'] .d-md-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-md-block { + display: block !important; } + [data-theme='dark'] .d-md-table { + display: table !important; } + [data-theme='dark'] .d-md-table-row { + display: table-row !important; } + [data-theme='dark'] .d-md-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-md-flex { + display: flex !important; } + [data-theme='dark'] .d-md-inline-flex { + display: inline-flex !important; } } + @media (min-width: 992px) { + [data-theme='dark'] .d-lg-none { + display: none !important; } + [data-theme='dark'] .d-lg-inline { + display: inline !important; } + [data-theme='dark'] .d-lg-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-lg-block { + display: block !important; } + [data-theme='dark'] .d-lg-table { + display: table !important; } + [data-theme='dark'] .d-lg-table-row { + display: table-row !important; } + [data-theme='dark'] .d-lg-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-lg-flex { + display: flex !important; } + [data-theme='dark'] .d-lg-inline-flex { + display: inline-flex !important; } } + @media (min-width: 1200px) { + [data-theme='dark'] .d-xl-none { + display: none !important; } + [data-theme='dark'] .d-xl-inline { + display: inline !important; } + [data-theme='dark'] .d-xl-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-xl-block { + display: block !important; } + [data-theme='dark'] .d-xl-table { + display: table !important; } + [data-theme='dark'] .d-xl-table-row { + display: table-row !important; } + [data-theme='dark'] .d-xl-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-xl-flex { + display: flex !important; } + [data-theme='dark'] .d-xl-inline-flex { + display: inline-flex !important; } } + @media print { + [data-theme='dark'] .d-print-none { + display: none !important; } + [data-theme='dark'] .d-print-inline { + display: inline !important; } + [data-theme='dark'] .d-print-inline-block { + display: inline-block !important; } + [data-theme='dark'] .d-print-block { + display: block !important; } + [data-theme='dark'] .d-print-table { + display: table !important; } + [data-theme='dark'] .d-print-table-row { + display: table-row !important; } + [data-theme='dark'] .d-print-table-cell { + display: table-cell !important; } + [data-theme='dark'] .d-print-flex { + display: flex !important; } + [data-theme='dark'] .d-print-inline-flex { + display: inline-flex !important; } } + [data-theme='dark'] .embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; } + [data-theme='dark'] .embed-responsive::before { + display: block; + content: ""; } + [data-theme='dark'] .embed-responsive .embed-responsive-item, + [data-theme='dark'] .embed-responsive iframe, + [data-theme='dark'] .embed-responsive embed, + [data-theme='dark'] .embed-responsive object, + [data-theme='dark'] .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } + [data-theme='dark'] .embed-responsive-21by9::before { + padding-top: 42.85714%; } + [data-theme='dark'] .embed-responsive-16by9::before { + padding-top: 56.25%; } + [data-theme='dark'] .embed-responsive-4by3::before { + padding-top: 75%; } + [data-theme='dark'] .embed-responsive-1by1::before { + padding-top: 100%; } + [data-theme='dark'] .flex-row { + flex-direction: row !important; } + [data-theme='dark'] .flex-column { + flex-direction: column !important; } + [data-theme='dark'] .flex-row-reverse { + flex-direction: row-reverse !important; } + [data-theme='dark'] .flex-column-reverse { + flex-direction: column-reverse !important; } + [data-theme='dark'] .flex-wrap { + flex-wrap: wrap !important; } + [data-theme='dark'] .flex-nowrap { + flex-wrap: nowrap !important; } + [data-theme='dark'] .flex-wrap-reverse { + flex-wrap: wrap-reverse !important; } + [data-theme='dark'] .flex-fill { + flex: 1 1 auto !important; } + [data-theme='dark'] .flex-grow-0 { + flex-grow: 0 !important; } + [data-theme='dark'] .flex-grow-1 { + flex-grow: 1 !important; } + [data-theme='dark'] .flex-shrink-0 { + flex-shrink: 0 !important; } + [data-theme='dark'] .flex-shrink-1 { + flex-shrink: 1 !important; } + [data-theme='dark'] .justify-content-start { + justify-content: flex-start !important; } + [data-theme='dark'] .justify-content-end { + justify-content: flex-end !important; } + [data-theme='dark'] .justify-content-center { + justify-content: center !important; } + [data-theme='dark'] .justify-content-between { + justify-content: space-between !important; } + [data-theme='dark'] .justify-content-around { + justify-content: space-around !important; } + [data-theme='dark'] .align-items-start { + align-items: flex-start !important; } + [data-theme='dark'] .align-items-end { + align-items: flex-end !important; } + [data-theme='dark'] .align-items-center { + align-items: center !important; } + [data-theme='dark'] .align-items-baseline { + align-items: baseline !important; } + [data-theme='dark'] .align-items-stretch { + align-items: stretch !important; } + [data-theme='dark'] .align-content-start { + align-content: flex-start !important; } + [data-theme='dark'] .align-content-end { + align-content: flex-end !important; } + [data-theme='dark'] .align-content-center { + align-content: center !important; } + [data-theme='dark'] .align-content-between { + align-content: space-between !important; } + [data-theme='dark'] .align-content-around { + align-content: space-around !important; } + [data-theme='dark'] .align-content-stretch { + align-content: stretch !important; } + [data-theme='dark'] .align-self-auto { + align-self: auto !important; } + [data-theme='dark'] .align-self-start { + align-self: flex-start !important; } + [data-theme='dark'] .align-self-end { + align-self: flex-end !important; } + [data-theme='dark'] .align-self-center { + align-self: center !important; } + [data-theme='dark'] .align-self-baseline { + align-self: baseline !important; } + [data-theme='dark'] .align-self-stretch { + align-self: stretch !important; } + @media (min-width: 576px) { + [data-theme='dark'] .flex-sm-row { + flex-direction: row !important; } + [data-theme='dark'] .flex-sm-column { + flex-direction: column !important; } + [data-theme='dark'] .flex-sm-row-reverse { + flex-direction: row-reverse !important; } + [data-theme='dark'] .flex-sm-column-reverse { + flex-direction: column-reverse !important; } + [data-theme='dark'] .flex-sm-wrap { + flex-wrap: wrap !important; } + [data-theme='dark'] .flex-sm-nowrap { + flex-wrap: nowrap !important; } + [data-theme='dark'] .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; } + [data-theme='dark'] .flex-sm-fill { + flex: 1 1 auto !important; } + [data-theme='dark'] .flex-sm-grow-0 { + flex-grow: 0 !important; } + [data-theme='dark'] .flex-sm-grow-1 { + flex-grow: 1 !important; } + [data-theme='dark'] .flex-sm-shrink-0 { + flex-shrink: 0 !important; } + [data-theme='dark'] .flex-sm-shrink-1 { + flex-shrink: 1 !important; } + [data-theme='dark'] .justify-content-sm-start { + justify-content: flex-start !important; } + [data-theme='dark'] .justify-content-sm-end { + justify-content: flex-end !important; } + [data-theme='dark'] .justify-content-sm-center { + justify-content: center !important; } + [data-theme='dark'] .justify-content-sm-between { + justify-content: space-between !important; } + [data-theme='dark'] .justify-content-sm-around { + justify-content: space-around !important; } + [data-theme='dark'] .align-items-sm-start { + align-items: flex-start !important; } + [data-theme='dark'] .align-items-sm-end { + align-items: flex-end !important; } + [data-theme='dark'] .align-items-sm-center { + align-items: center !important; } + [data-theme='dark'] .align-items-sm-baseline { + align-items: baseline !important; } + [data-theme='dark'] .align-items-sm-stretch { + align-items: stretch !important; } + [data-theme='dark'] .align-content-sm-start { + align-content: flex-start !important; } + [data-theme='dark'] .align-content-sm-end { + align-content: flex-end !important; } + [data-theme='dark'] .align-content-sm-center { + align-content: center !important; } + [data-theme='dark'] .align-content-sm-between { + align-content: space-between !important; } + [data-theme='dark'] .align-content-sm-around { + align-content: space-around !important; } + [data-theme='dark'] .align-content-sm-stretch { + align-content: stretch !important; } + [data-theme='dark'] .align-self-sm-auto { + align-self: auto !important; } + [data-theme='dark'] .align-self-sm-start { + align-self: flex-start !important; } + [data-theme='dark'] .align-self-sm-end { + align-self: flex-end !important; } + [data-theme='dark'] .align-self-sm-center { + align-self: center !important; } + [data-theme='dark'] .align-self-sm-baseline { + align-self: baseline !important; } + [data-theme='dark'] .align-self-sm-stretch { + align-self: stretch !important; } } + @media (min-width: 768px) { + [data-theme='dark'] .flex-md-row { + flex-direction: row !important; } + [data-theme='dark'] .flex-md-column { + flex-direction: column !important; } + [data-theme='dark'] .flex-md-row-reverse { + flex-direction: row-reverse !important; } + [data-theme='dark'] .flex-md-column-reverse { + flex-direction: column-reverse !important; } + [data-theme='dark'] .flex-md-wrap { + flex-wrap: wrap !important; } + [data-theme='dark'] .flex-md-nowrap { + flex-wrap: nowrap !important; } + [data-theme='dark'] .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; } + [data-theme='dark'] .flex-md-fill { + flex: 1 1 auto !important; } + [data-theme='dark'] .flex-md-grow-0 { + flex-grow: 0 !important; } + [data-theme='dark'] .flex-md-grow-1 { + flex-grow: 1 !important; } + [data-theme='dark'] .flex-md-shrink-0 { + flex-shrink: 0 !important; } + [data-theme='dark'] .flex-md-shrink-1 { + flex-shrink: 1 !important; } + [data-theme='dark'] .justify-content-md-start { + justify-content: flex-start !important; } + [data-theme='dark'] .justify-content-md-end { + justify-content: flex-end !important; } + [data-theme='dark'] .justify-content-md-center { + justify-content: center !important; } + [data-theme='dark'] .justify-content-md-between { + justify-content: space-between !important; } + [data-theme='dark'] .justify-content-md-around { + justify-content: space-around !important; } + [data-theme='dark'] .align-items-md-start { + align-items: flex-start !important; } + [data-theme='dark'] .align-items-md-end { + align-items: flex-end !important; } + [data-theme='dark'] .align-items-md-center { + align-items: center !important; } + [data-theme='dark'] .align-items-md-baseline { + align-items: baseline !important; } + [data-theme='dark'] .align-items-md-stretch { + align-items: stretch !important; } + [data-theme='dark'] .align-content-md-start { + align-content: flex-start !important; } + [data-theme='dark'] .align-content-md-end { + align-content: flex-end !important; } + [data-theme='dark'] .align-content-md-center { + align-content: center !important; } + [data-theme='dark'] .align-content-md-between { + align-content: space-between !important; } + [data-theme='dark'] .align-content-md-around { + align-content: space-around !important; } + [data-theme='dark'] .align-content-md-stretch { + align-content: stretch !important; } + [data-theme='dark'] .align-self-md-auto { + align-self: auto !important; } + [data-theme='dark'] .align-self-md-start { + align-self: flex-start !important; } + [data-theme='dark'] .align-self-md-end { + align-self: flex-end !important; } + [data-theme='dark'] .align-self-md-center { + align-self: center !important; } + [data-theme='dark'] .align-self-md-baseline { + align-self: baseline !important; } + [data-theme='dark'] .align-self-md-stretch { + align-self: stretch !important; } } + @media (min-width: 992px) { + [data-theme='dark'] .flex-lg-row { + flex-direction: row !important; } + [data-theme='dark'] .flex-lg-column { + flex-direction: column !important; } + [data-theme='dark'] .flex-lg-row-reverse { + flex-direction: row-reverse !important; } + [data-theme='dark'] .flex-lg-column-reverse { + flex-direction: column-reverse !important; } + [data-theme='dark'] .flex-lg-wrap { + flex-wrap: wrap !important; } + [data-theme='dark'] .flex-lg-nowrap { + flex-wrap: nowrap !important; } + [data-theme='dark'] .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; } + [data-theme='dark'] .flex-lg-fill { + flex: 1 1 auto !important; } + [data-theme='dark'] .flex-lg-grow-0 { + flex-grow: 0 !important; } + [data-theme='dark'] .flex-lg-grow-1 { + flex-grow: 1 !important; } + [data-theme='dark'] .flex-lg-shrink-0 { + flex-shrink: 0 !important; } + [data-theme='dark'] .flex-lg-shrink-1 { + flex-shrink: 1 !important; } + [data-theme='dark'] .justify-content-lg-start { + justify-content: flex-start !important; } + [data-theme='dark'] .justify-content-lg-end { + justify-content: flex-end !important; } + [data-theme='dark'] .justify-content-lg-center { + justify-content: center !important; } + [data-theme='dark'] .justify-content-lg-between { + justify-content: space-between !important; } + [data-theme='dark'] .justify-content-lg-around { + justify-content: space-around !important; } + [data-theme='dark'] .align-items-lg-start { + align-items: flex-start !important; } + [data-theme='dark'] .align-items-lg-end { + align-items: flex-end !important; } + [data-theme='dark'] .align-items-lg-center { + align-items: center !important; } + [data-theme='dark'] .align-items-lg-baseline { + align-items: baseline !important; } + [data-theme='dark'] .align-items-lg-stretch { + align-items: stretch !important; } + [data-theme='dark'] .align-content-lg-start { + align-content: flex-start !important; } + [data-theme='dark'] .align-content-lg-end { + align-content: flex-end !important; } + [data-theme='dark'] .align-content-lg-center { + align-content: center !important; } + [data-theme='dark'] .align-content-lg-between { + align-content: space-between !important; } + [data-theme='dark'] .align-content-lg-around { + align-content: space-around !important; } + [data-theme='dark'] .align-content-lg-stretch { + align-content: stretch !important; } + [data-theme='dark'] .align-self-lg-auto { + align-self: auto !important; } + [data-theme='dark'] .align-self-lg-start { + align-self: flex-start !important; } + [data-theme='dark'] .align-self-lg-end { + align-self: flex-end !important; } + [data-theme='dark'] .align-self-lg-center { + align-self: center !important; } + [data-theme='dark'] .align-self-lg-baseline { + align-self: baseline !important; } + [data-theme='dark'] .align-self-lg-stretch { + align-self: stretch !important; } } + @media (min-width: 1200px) { + [data-theme='dark'] .flex-xl-row { + flex-direction: row !important; } + [data-theme='dark'] .flex-xl-column { + flex-direction: column !important; } + [data-theme='dark'] .flex-xl-row-reverse { + flex-direction: row-reverse !important; } + [data-theme='dark'] .flex-xl-column-reverse { + flex-direction: column-reverse !important; } + [data-theme='dark'] .flex-xl-wrap { + flex-wrap: wrap !important; } + [data-theme='dark'] .flex-xl-nowrap { + flex-wrap: nowrap !important; } + [data-theme='dark'] .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; } + [data-theme='dark'] .flex-xl-fill { + flex: 1 1 auto !important; } + [data-theme='dark'] .flex-xl-grow-0 { + flex-grow: 0 !important; } + [data-theme='dark'] .flex-xl-grow-1 { + flex-grow: 1 !important; } + [data-theme='dark'] .flex-xl-shrink-0 { + flex-shrink: 0 !important; } + [data-theme='dark'] .flex-xl-shrink-1 { + flex-shrink: 1 !important; } + [data-theme='dark'] .justify-content-xl-start { + justify-content: flex-start !important; } + [data-theme='dark'] .justify-content-xl-end { + justify-content: flex-end !important; } + [data-theme='dark'] .justify-content-xl-center { + justify-content: center !important; } + [data-theme='dark'] .justify-content-xl-between { + justify-content: space-between !important; } + [data-theme='dark'] .justify-content-xl-around { + justify-content: space-around !important; } + [data-theme='dark'] .align-items-xl-start { + align-items: flex-start !important; } + [data-theme='dark'] .align-items-xl-end { + align-items: flex-end !important; } + [data-theme='dark'] .align-items-xl-center { + align-items: center !important; } + [data-theme='dark'] .align-items-xl-baseline { + align-items: baseline !important; } + [data-theme='dark'] .align-items-xl-stretch { + align-items: stretch !important; } + [data-theme='dark'] .align-content-xl-start { + align-content: flex-start !important; } + [data-theme='dark'] .align-content-xl-end { + align-content: flex-end !important; } + [data-theme='dark'] .align-content-xl-center { + align-content: center !important; } + [data-theme='dark'] .align-content-xl-between { + align-content: space-between !important; } + [data-theme='dark'] .align-content-xl-around { + align-content: space-around !important; } + [data-theme='dark'] .align-content-xl-stretch { + align-content: stretch !important; } + [data-theme='dark'] .align-self-xl-auto { + align-self: auto !important; } + [data-theme='dark'] .align-self-xl-start { + align-self: flex-start !important; } + [data-theme='dark'] .align-self-xl-end { + align-self: flex-end !important; } + [data-theme='dark'] .align-self-xl-center { + align-self: center !important; } + [data-theme='dark'] .align-self-xl-baseline { + align-self: baseline !important; } + [data-theme='dark'] .align-self-xl-stretch { + align-self: stretch !important; } } + [data-theme='dark'] .float-left { + float: left !important; } + [data-theme='dark'] .float-right { + float: right !important; } + [data-theme='dark'] .float-none { + float: none !important; } + @media (min-width: 576px) { + [data-theme='dark'] .float-sm-left { + float: left !important; } + [data-theme='dark'] .float-sm-right { + float: right !important; } + [data-theme='dark'] .float-sm-none { + float: none !important; } } + @media (min-width: 768px) { + [data-theme='dark'] .float-md-left { + float: left !important; } + [data-theme='dark'] .float-md-right { + float: right !important; } + [data-theme='dark'] .float-md-none { + float: none !important; } } + @media (min-width: 992px) { + [data-theme='dark'] .float-lg-left { + float: left !important; } + [data-theme='dark'] .float-lg-right { + float: right !important; } + [data-theme='dark'] .float-lg-none { + float: none !important; } } + @media (min-width: 1200px) { + [data-theme='dark'] .float-xl-left { + float: left !important; } + [data-theme='dark'] .float-xl-right { + float: right !important; } + [data-theme='dark'] .float-xl-none { + float: none !important; } } + [data-theme='dark'] .user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + -ms-user-select: all !important; + user-select: all !important; } + [data-theme='dark'] .user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; } + [data-theme='dark'] .user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; } + [data-theme='dark'] .overflow-auto { + overflow: auto !important; } + [data-theme='dark'] .overflow-hidden { + overflow: hidden !important; } + [data-theme='dark'] .position-static { + position: static !important; } + [data-theme='dark'] .position-relative { + position: relative !important; } + [data-theme='dark'] .position-absolute { + position: absolute !important; } + [data-theme='dark'] .position-fixed { + position: fixed !important; } + [data-theme='dark'] .position-sticky { + position: -webkit-sticky !important; + position: sticky !important; } + [data-theme='dark'] .fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + [data-theme='dark'] .fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; } + @supports ((position: -webkit-sticky) or (position: sticky)) { + [data-theme='dark'] .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; } } + [data-theme='dark'] .sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; } + [data-theme='dark'] .sr-only-focusable:active, [data-theme='dark'] .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; } + [data-theme='dark'] .shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } + [data-theme='dark'] .shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } + [data-theme='dark'] .shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } + [data-theme='dark'] .shadow-none { + box-shadow: none !important; } + [data-theme='dark'] .w-25 { + width: 25% !important; } + [data-theme='dark'] .w-50 { + width: 50% !important; } + [data-theme='dark'] .w-75 { + width: 75% !important; } + [data-theme='dark'] .w-100 { + width: 100% !important; } + [data-theme='dark'] .w-auto { + width: auto !important; } + [data-theme='dark'] .h-25 { + height: 25% !important; } + [data-theme='dark'] .h-50 { + height: 50% !important; } + [data-theme='dark'] .h-75 { + height: 75% !important; } + [data-theme='dark'] .h-100 { + height: 100% !important; } + [data-theme='dark'] .h-auto { + height: auto !important; } + [data-theme='dark'] .mw-100 { + max-width: 100% !important; } + [data-theme='dark'] .mh-100 { + max-height: 100% !important; } + [data-theme='dark'] .min-vw-100 { + min-width: 100vw !important; } + [data-theme='dark'] .min-vh-100 { + min-height: 100vh !important; } + [data-theme='dark'] .vw-100 { + width: 100vw !important; } + [data-theme='dark'] .vh-100 { + height: 100vh !important; } + [data-theme='dark'] .m-0 { + margin: 0 !important; } + [data-theme='dark'] .mt-0, + [data-theme='dark'] .my-0 { + margin-top: 0 !important; } + [data-theme='dark'] .mr-0, + [data-theme='dark'] .mx-0 { + margin-right: 0 !important; } + [data-theme='dark'] .mb-0, + [data-theme='dark'] .my-0 { + margin-bottom: 0 !important; } + [data-theme='dark'] .ml-0, + [data-theme='dark'] .mx-0 { + margin-left: 0 !important; } + [data-theme='dark'] .m-1 { + margin: 0.25rem !important; } + [data-theme='dark'] .mt-1, + [data-theme='dark'] .my-1 { + margin-top: 0.25rem !important; } + [data-theme='dark'] .mr-1, + [data-theme='dark'] .mx-1 { + margin-right: 0.25rem !important; } + [data-theme='dark'] .mb-1, + [data-theme='dark'] .my-1 { + margin-bottom: 0.25rem !important; } + [data-theme='dark'] .ml-1, + [data-theme='dark'] .mx-1 { + margin-left: 0.25rem !important; } + [data-theme='dark'] .m-2 { + margin: 0.5rem !important; } + [data-theme='dark'] .mt-2, + [data-theme='dark'] .my-2 { + margin-top: 0.5rem !important; } + [data-theme='dark'] .mr-2, + [data-theme='dark'] .mx-2 { + margin-right: 0.5rem !important; } + [data-theme='dark'] .mb-2, + [data-theme='dark'] .my-2 { + margin-bottom: 0.5rem !important; } + [data-theme='dark'] .ml-2, + [data-theme='dark'] .mx-2 { + margin-left: 0.5rem !important; } + [data-theme='dark'] .m-3 { + margin: 1rem !important; } + [data-theme='dark'] .mt-3, + [data-theme='dark'] .my-3 { + margin-top: 1rem !important; } + [data-theme='dark'] .mr-3, + [data-theme='dark'] .mx-3 { + margin-right: 1rem !important; } + [data-theme='dark'] .mb-3, + [data-theme='dark'] .my-3 { + margin-bottom: 1rem !important; } + [data-theme='dark'] .ml-3, + [data-theme='dark'] .mx-3 { + margin-left: 1rem !important; } + [data-theme='dark'] .m-4 { + margin: 1.5rem !important; } + [data-theme='dark'] .mt-4, + [data-theme='dark'] .my-4 { + margin-top: 1.5rem !important; } + [data-theme='dark'] .mr-4, + [data-theme='dark'] .mx-4 { + margin-right: 1.5rem !important; } + [data-theme='dark'] .mb-4, + [data-theme='dark'] .my-4 { + margin-bottom: 1.5rem !important; } + [data-theme='dark'] .ml-4, + [data-theme='dark'] .mx-4 { + margin-left: 1.5rem !important; } + [data-theme='dark'] .m-5 { + margin: 3rem !important; } + [data-theme='dark'] .mt-5, + [data-theme='dark'] .my-5 { + margin-top: 3rem !important; } + [data-theme='dark'] .mr-5, + [data-theme='dark'] .mx-5 { + margin-right: 3rem !important; } + [data-theme='dark'] .mb-5, + [data-theme='dark'] .my-5 { + margin-bottom: 3rem !important; } + [data-theme='dark'] .ml-5, + [data-theme='dark'] .mx-5 { + margin-left: 3rem !important; } + [data-theme='dark'] .p-0 { + padding: 0 !important; } + [data-theme='dark'] .pt-0, + [data-theme='dark'] .py-0 { + padding-top: 0 !important; } + [data-theme='dark'] .pr-0, + [data-theme='dark'] .px-0 { + padding-right: 0 !important; } + [data-theme='dark'] .pb-0, + [data-theme='dark'] .py-0 { + padding-bottom: 0 !important; } + [data-theme='dark'] .pl-0, + [data-theme='dark'] .px-0 { + padding-left: 0 !important; } + [data-theme='dark'] .p-1 { + padding: 0.25rem !important; } + [data-theme='dark'] .pt-1, + [data-theme='dark'] .py-1 { + padding-top: 0.25rem !important; } + [data-theme='dark'] .pr-1, + [data-theme='dark'] .px-1 { + padding-right: 0.25rem !important; } + [data-theme='dark'] .pb-1, + [data-theme='dark'] .py-1 { + padding-bottom: 0.25rem !important; } + [data-theme='dark'] .pl-1, + [data-theme='dark'] .px-1 { + padding-left: 0.25rem !important; } + [data-theme='dark'] .p-2 { + padding: 0.5rem !important; } + [data-theme='dark'] .pt-2, + [data-theme='dark'] .py-2 { + padding-top: 0.5rem !important; } + [data-theme='dark'] .pr-2, + [data-theme='dark'] .px-2 { + padding-right: 0.5rem !important; } + [data-theme='dark'] .pb-2, + [data-theme='dark'] .py-2 { + padding-bottom: 0.5rem !important; } + [data-theme='dark'] .pl-2, + [data-theme='dark'] .px-2 { + padding-left: 0.5rem !important; } + [data-theme='dark'] .p-3 { + padding: 1rem !important; } + [data-theme='dark'] .pt-3, + [data-theme='dark'] .py-3 { + padding-top: 1rem !important; } + [data-theme='dark'] .pr-3, + [data-theme='dark'] .px-3 { + padding-right: 1rem !important; } + [data-theme='dark'] .pb-3, + [data-theme='dark'] .py-3 { + padding-bottom: 1rem !important; } + [data-theme='dark'] .pl-3, + [data-theme='dark'] .px-3 { + padding-left: 1rem !important; } + [data-theme='dark'] .p-4 { + padding: 1.5rem !important; } + [data-theme='dark'] .pt-4, + [data-theme='dark'] .py-4 { + padding-top: 1.5rem !important; } + [data-theme='dark'] .pr-4, + [data-theme='dark'] .px-4 { + padding-right: 1.5rem !important; } + [data-theme='dark'] .pb-4, + [data-theme='dark'] .py-4 { + padding-bottom: 1.5rem !important; } + [data-theme='dark'] .pl-4, + [data-theme='dark'] .px-4 { + padding-left: 1.5rem !important; } + [data-theme='dark'] .p-5 { + padding: 3rem !important; } + [data-theme='dark'] .pt-5, + [data-theme='dark'] .py-5 { + padding-top: 3rem !important; } + [data-theme='dark'] .pr-5, + [data-theme='dark'] .px-5 { + padding-right: 3rem !important; } + [data-theme='dark'] .pb-5, + [data-theme='dark'] .py-5 { + padding-bottom: 3rem !important; } + [data-theme='dark'] .pl-5, + [data-theme='dark'] .px-5 { + padding-left: 3rem !important; } + [data-theme='dark'] .m-n1 { + margin: -0.25rem !important; } + [data-theme='dark'] .mt-n1, + [data-theme='dark'] .my-n1 { + margin-top: -0.25rem !important; } + [data-theme='dark'] .mr-n1, + [data-theme='dark'] .mx-n1 { + margin-right: -0.25rem !important; } + [data-theme='dark'] .mb-n1, + [data-theme='dark'] .my-n1 { + margin-bottom: -0.25rem !important; } + [data-theme='dark'] .ml-n1, + [data-theme='dark'] .mx-n1 { + margin-left: -0.25rem !important; } + [data-theme='dark'] .m-n2 { + margin: -0.5rem !important; } + [data-theme='dark'] .mt-n2, + [data-theme='dark'] .my-n2 { + margin-top: -0.5rem !important; } + [data-theme='dark'] .mr-n2, + [data-theme='dark'] .mx-n2 { + margin-right: -0.5rem !important; } + [data-theme='dark'] .mb-n2, + [data-theme='dark'] .my-n2 { + margin-bottom: -0.5rem !important; } + [data-theme='dark'] .ml-n2, + [data-theme='dark'] .mx-n2 { + margin-left: -0.5rem !important; } + [data-theme='dark'] .m-n3 { + margin: -1rem !important; } + [data-theme='dark'] .mt-n3, + [data-theme='dark'] .my-n3 { + margin-top: -1rem !important; } + [data-theme='dark'] .mr-n3, + [data-theme='dark'] .mx-n3 { + margin-right: -1rem !important; } + [data-theme='dark'] .mb-n3, + [data-theme='dark'] .my-n3 { + margin-bottom: -1rem !important; } + [data-theme='dark'] .ml-n3, + [data-theme='dark'] .mx-n3 { + margin-left: -1rem !important; } + [data-theme='dark'] .m-n4 { + margin: -1.5rem !important; } + [data-theme='dark'] .mt-n4, + [data-theme='dark'] .my-n4 { + margin-top: -1.5rem !important; } + [data-theme='dark'] .mr-n4, + [data-theme='dark'] .mx-n4 { + margin-right: -1.5rem !important; } + [data-theme='dark'] .mb-n4, + [data-theme='dark'] .my-n4 { + margin-bottom: -1.5rem !important; } + [data-theme='dark'] .ml-n4, + [data-theme='dark'] .mx-n4 { + margin-left: -1.5rem !important; } + [data-theme='dark'] .m-n5 { + margin: -3rem !important; } + [data-theme='dark'] .mt-n5, + [data-theme='dark'] .my-n5 { + margin-top: -3rem !important; } + [data-theme='dark'] .mr-n5, + [data-theme='dark'] .mx-n5 { + margin-right: -3rem !important; } + [data-theme='dark'] .mb-n5, + [data-theme='dark'] .my-n5 { + margin-bottom: -3rem !important; } + [data-theme='dark'] .ml-n5, + [data-theme='dark'] .mx-n5 { + margin-left: -3rem !important; } + [data-theme='dark'] .m-auto { + margin: auto !important; } + [data-theme='dark'] .mt-auto, + [data-theme='dark'] .my-auto { + margin-top: auto !important; } + [data-theme='dark'] .mr-auto, + [data-theme='dark'] .mx-auto { + margin-right: auto !important; } + [data-theme='dark'] .mb-auto, + [data-theme='dark'] .my-auto { + margin-bottom: auto !important; } + [data-theme='dark'] .ml-auto, + [data-theme='dark'] .mx-auto { + margin-left: auto !important; } + @media (min-width: 576px) { + [data-theme='dark'] .m-sm-0 { + margin: 0 !important; } + [data-theme='dark'] .mt-sm-0, + [data-theme='dark'] .my-sm-0 { + margin-top: 0 !important; } + [data-theme='dark'] .mr-sm-0, + [data-theme='dark'] .mx-sm-0 { + margin-right: 0 !important; } + [data-theme='dark'] .mb-sm-0, + [data-theme='dark'] .my-sm-0 { + margin-bottom: 0 !important; } + [data-theme='dark'] .ml-sm-0, + [data-theme='dark'] .mx-sm-0 { + margin-left: 0 !important; } + [data-theme='dark'] .m-sm-1 { + margin: 0.25rem !important; } + [data-theme='dark'] .mt-sm-1, + [data-theme='dark'] .my-sm-1 { + margin-top: 0.25rem !important; } + [data-theme='dark'] .mr-sm-1, + [data-theme='dark'] .mx-sm-1 { + margin-right: 0.25rem !important; } + [data-theme='dark'] .mb-sm-1, + [data-theme='dark'] .my-sm-1 { + margin-bottom: 0.25rem !important; } + [data-theme='dark'] .ml-sm-1, + [data-theme='dark'] .mx-sm-1 { + margin-left: 0.25rem !important; } + [data-theme='dark'] .m-sm-2 { + margin: 0.5rem !important; } + [data-theme='dark'] .mt-sm-2, + [data-theme='dark'] .my-sm-2 { + margin-top: 0.5rem !important; } + [data-theme='dark'] .mr-sm-2, + [data-theme='dark'] .mx-sm-2 { + margin-right: 0.5rem !important; } + [data-theme='dark'] .mb-sm-2, + [data-theme='dark'] .my-sm-2 { + margin-bottom: 0.5rem !important; } + [data-theme='dark'] .ml-sm-2, + [data-theme='dark'] .mx-sm-2 { + margin-left: 0.5rem !important; } + [data-theme='dark'] .m-sm-3 { + margin: 1rem !important; } + [data-theme='dark'] .mt-sm-3, + [data-theme='dark'] .my-sm-3 { + margin-top: 1rem !important; } + [data-theme='dark'] .mr-sm-3, + [data-theme='dark'] .mx-sm-3 { + margin-right: 1rem !important; } + [data-theme='dark'] .mb-sm-3, + [data-theme='dark'] .my-sm-3 { + margin-bottom: 1rem !important; } + [data-theme='dark'] .ml-sm-3, + [data-theme='dark'] .mx-sm-3 { + margin-left: 1rem !important; } + [data-theme='dark'] .m-sm-4 { + margin: 1.5rem !important; } + [data-theme='dark'] .mt-sm-4, + [data-theme='dark'] .my-sm-4 { + margin-top: 1.5rem !important; } + [data-theme='dark'] .mr-sm-4, + [data-theme='dark'] .mx-sm-4 { + margin-right: 1.5rem !important; } + [data-theme='dark'] .mb-sm-4, + [data-theme='dark'] .my-sm-4 { + margin-bottom: 1.5rem !important; } + [data-theme='dark'] .ml-sm-4, + [data-theme='dark'] .mx-sm-4 { + margin-left: 1.5rem !important; } + [data-theme='dark'] .m-sm-5 { + margin: 3rem !important; } + [data-theme='dark'] .mt-sm-5, + [data-theme='dark'] .my-sm-5 { + margin-top: 3rem !important; } + [data-theme='dark'] .mr-sm-5, + [data-theme='dark'] .mx-sm-5 { + margin-right: 3rem !important; } + [data-theme='dark'] .mb-sm-5, + [data-theme='dark'] .my-sm-5 { + margin-bottom: 3rem !important; } + [data-theme='dark'] .ml-sm-5, + [data-theme='dark'] .mx-sm-5 { + margin-left: 3rem !important; } + [data-theme='dark'] .p-sm-0 { + padding: 0 !important; } + [data-theme='dark'] .pt-sm-0, + [data-theme='dark'] .py-sm-0 { + padding-top: 0 !important; } + [data-theme='dark'] .pr-sm-0, + [data-theme='dark'] .px-sm-0 { + padding-right: 0 !important; } + [data-theme='dark'] .pb-sm-0, + [data-theme='dark'] .py-sm-0 { + padding-bottom: 0 !important; } + [data-theme='dark'] .pl-sm-0, + [data-theme='dark'] .px-sm-0 { + padding-left: 0 !important; } + [data-theme='dark'] .p-sm-1 { + padding: 0.25rem !important; } + [data-theme='dark'] .pt-sm-1, + [data-theme='dark'] .py-sm-1 { + padding-top: 0.25rem !important; } + [data-theme='dark'] .pr-sm-1, + [data-theme='dark'] .px-sm-1 { + padding-right: 0.25rem !important; } + [data-theme='dark'] .pb-sm-1, + [data-theme='dark'] .py-sm-1 { + padding-bottom: 0.25rem !important; } + [data-theme='dark'] .pl-sm-1, + [data-theme='dark'] .px-sm-1 { + padding-left: 0.25rem !important; } + [data-theme='dark'] .p-sm-2 { + padding: 0.5rem !important; } + [data-theme='dark'] .pt-sm-2, + [data-theme='dark'] .py-sm-2 { + padding-top: 0.5rem !important; } + [data-theme='dark'] .pr-sm-2, + [data-theme='dark'] .px-sm-2 { + padding-right: 0.5rem !important; } + [data-theme='dark'] .pb-sm-2, + [data-theme='dark'] .py-sm-2 { + padding-bottom: 0.5rem !important; } + [data-theme='dark'] .pl-sm-2, + [data-theme='dark'] .px-sm-2 { + padding-left: 0.5rem !important; } + [data-theme='dark'] .p-sm-3 { + padding: 1rem !important; } + [data-theme='dark'] .pt-sm-3, + [data-theme='dark'] .py-sm-3 { + padding-top: 1rem !important; } + [data-theme='dark'] .pr-sm-3, + [data-theme='dark'] .px-sm-3 { + padding-right: 1rem !important; } + [data-theme='dark'] .pb-sm-3, + [data-theme='dark'] .py-sm-3 { + padding-bottom: 1rem !important; } + [data-theme='dark'] .pl-sm-3, + [data-theme='dark'] .px-sm-3 { + padding-left: 1rem !important; } + [data-theme='dark'] .p-sm-4 { + padding: 1.5rem !important; } + [data-theme='dark'] .pt-sm-4, + [data-theme='dark'] .py-sm-4 { + padding-top: 1.5rem !important; } + [data-theme='dark'] .pr-sm-4, + [data-theme='dark'] .px-sm-4 { + padding-right: 1.5rem !important; } + [data-theme='dark'] .pb-sm-4, + [data-theme='dark'] .py-sm-4 { + padding-bottom: 1.5rem !important; } + [data-theme='dark'] .pl-sm-4, + [data-theme='dark'] .px-sm-4 { + padding-left: 1.5rem !important; } + [data-theme='dark'] .p-sm-5 { + padding: 3rem !important; } + [data-theme='dark'] .pt-sm-5, + [data-theme='dark'] .py-sm-5 { + padding-top: 3rem !important; } + [data-theme='dark'] .pr-sm-5, + [data-theme='dark'] .px-sm-5 { + padding-right: 3rem !important; } + [data-theme='dark'] .pb-sm-5, + [data-theme='dark'] .py-sm-5 { + padding-bottom: 3rem !important; } + [data-theme='dark'] .pl-sm-5, + [data-theme='dark'] .px-sm-5 { + padding-left: 3rem !important; } + [data-theme='dark'] .m-sm-n1 { + margin: -0.25rem !important; } + [data-theme='dark'] .mt-sm-n1, + [data-theme='dark'] .my-sm-n1 { + margin-top: -0.25rem !important; } + [data-theme='dark'] .mr-sm-n1, + [data-theme='dark'] .mx-sm-n1 { + margin-right: -0.25rem !important; } + [data-theme='dark'] .mb-sm-n1, + [data-theme='dark'] .my-sm-n1 { + margin-bottom: -0.25rem !important; } + [data-theme='dark'] .ml-sm-n1, + [data-theme='dark'] .mx-sm-n1 { + margin-left: -0.25rem !important; } + [data-theme='dark'] .m-sm-n2 { + margin: -0.5rem !important; } + [data-theme='dark'] .mt-sm-n2, + [data-theme='dark'] .my-sm-n2 { + margin-top: -0.5rem !important; } + [data-theme='dark'] .mr-sm-n2, + [data-theme='dark'] .mx-sm-n2 { + margin-right: -0.5rem !important; } + [data-theme='dark'] .mb-sm-n2, + [data-theme='dark'] .my-sm-n2 { + margin-bottom: -0.5rem !important; } + [data-theme='dark'] .ml-sm-n2, + [data-theme='dark'] .mx-sm-n2 { + margin-left: -0.5rem !important; } + [data-theme='dark'] .m-sm-n3 { + margin: -1rem !important; } + [data-theme='dark'] .mt-sm-n3, + [data-theme='dark'] .my-sm-n3 { + margin-top: -1rem !important; } + [data-theme='dark'] .mr-sm-n3, + [data-theme='dark'] .mx-sm-n3 { + margin-right: -1rem !important; } + [data-theme='dark'] .mb-sm-n3, + [data-theme='dark'] .my-sm-n3 { + margin-bottom: -1rem !important; } + [data-theme='dark'] .ml-sm-n3, + [data-theme='dark'] .mx-sm-n3 { + margin-left: -1rem !important; } + [data-theme='dark'] .m-sm-n4 { + margin: -1.5rem !important; } + [data-theme='dark'] .mt-sm-n4, + [data-theme='dark'] .my-sm-n4 { + margin-top: -1.5rem !important; } + [data-theme='dark'] .mr-sm-n4, + [data-theme='dark'] .mx-sm-n4 { + margin-right: -1.5rem !important; } + [data-theme='dark'] .mb-sm-n4, + [data-theme='dark'] .my-sm-n4 { + margin-bottom: -1.5rem !important; } + [data-theme='dark'] .ml-sm-n4, + [data-theme='dark'] .mx-sm-n4 { + margin-left: -1.5rem !important; } + [data-theme='dark'] .m-sm-n5 { + margin: -3rem !important; } + [data-theme='dark'] .mt-sm-n5, + [data-theme='dark'] .my-sm-n5 { + margin-top: -3rem !important; } + [data-theme='dark'] .mr-sm-n5, + [data-theme='dark'] .mx-sm-n5 { + margin-right: -3rem !important; } + [data-theme='dark'] .mb-sm-n5, + [data-theme='dark'] .my-sm-n5 { + margin-bottom: -3rem !important; } + [data-theme='dark'] .ml-sm-n5, + [data-theme='dark'] .mx-sm-n5 { + margin-left: -3rem !important; } + [data-theme='dark'] .m-sm-auto { + margin: auto !important; } + [data-theme='dark'] .mt-sm-auto, + [data-theme='dark'] .my-sm-auto { + margin-top: auto !important; } + [data-theme='dark'] .mr-sm-auto, + [data-theme='dark'] .mx-sm-auto { + margin-right: auto !important; } + [data-theme='dark'] .mb-sm-auto, + [data-theme='dark'] .my-sm-auto { + margin-bottom: auto !important; } + [data-theme='dark'] .ml-sm-auto, + [data-theme='dark'] .mx-sm-auto { + margin-left: auto !important; } } + @media (min-width: 768px) { + [data-theme='dark'] .m-md-0 { + margin: 0 !important; } + [data-theme='dark'] .mt-md-0, + [data-theme='dark'] .my-md-0 { + margin-top: 0 !important; } + [data-theme='dark'] .mr-md-0, + [data-theme='dark'] .mx-md-0 { + margin-right: 0 !important; } + [data-theme='dark'] .mb-md-0, + [data-theme='dark'] .my-md-0 { + margin-bottom: 0 !important; } + [data-theme='dark'] .ml-md-0, + [data-theme='dark'] .mx-md-0 { + margin-left: 0 !important; } + [data-theme='dark'] .m-md-1 { + margin: 0.25rem !important; } + [data-theme='dark'] .mt-md-1, + [data-theme='dark'] .my-md-1 { + margin-top: 0.25rem !important; } + [data-theme='dark'] .mr-md-1, + [data-theme='dark'] .mx-md-1 { + margin-right: 0.25rem !important; } + [data-theme='dark'] .mb-md-1, + [data-theme='dark'] .my-md-1 { + margin-bottom: 0.25rem !important; } + [data-theme='dark'] .ml-md-1, + [data-theme='dark'] .mx-md-1 { + margin-left: 0.25rem !important; } + [data-theme='dark'] .m-md-2 { + margin: 0.5rem !important; } + [data-theme='dark'] .mt-md-2, + [data-theme='dark'] .my-md-2 { + margin-top: 0.5rem !important; } + [data-theme='dark'] .mr-md-2, + [data-theme='dark'] .mx-md-2 { + margin-right: 0.5rem !important; } + [data-theme='dark'] .mb-md-2, + [data-theme='dark'] .my-md-2 { + margin-bottom: 0.5rem !important; } + [data-theme='dark'] .ml-md-2, + [data-theme='dark'] .mx-md-2 { + margin-left: 0.5rem !important; } + [data-theme='dark'] .m-md-3 { + margin: 1rem !important; } + [data-theme='dark'] .mt-md-3, + [data-theme='dark'] .my-md-3 { + margin-top: 1rem !important; } + [data-theme='dark'] .mr-md-3, + [data-theme='dark'] .mx-md-3 { + margin-right: 1rem !important; } + [data-theme='dark'] .mb-md-3, + [data-theme='dark'] .my-md-3 { + margin-bottom: 1rem !important; } + [data-theme='dark'] .ml-md-3, + [data-theme='dark'] .mx-md-3 { + margin-left: 1rem !important; } + [data-theme='dark'] .m-md-4 { + margin: 1.5rem !important; } + [data-theme='dark'] .mt-md-4, + [data-theme='dark'] .my-md-4 { + margin-top: 1.5rem !important; } + [data-theme='dark'] .mr-md-4, + [data-theme='dark'] .mx-md-4 { + margin-right: 1.5rem !important; } + [data-theme='dark'] .mb-md-4, + [data-theme='dark'] .my-md-4 { + margin-bottom: 1.5rem !important; } + [data-theme='dark'] .ml-md-4, + [data-theme='dark'] .mx-md-4 { + margin-left: 1.5rem !important; } + [data-theme='dark'] .m-md-5 { + margin: 3rem !important; } + [data-theme='dark'] .mt-md-5, + [data-theme='dark'] .my-md-5 { + margin-top: 3rem !important; } + [data-theme='dark'] .mr-md-5, + [data-theme='dark'] .mx-md-5 { + margin-right: 3rem !important; } + [data-theme='dark'] .mb-md-5, + [data-theme='dark'] .my-md-5 { + margin-bottom: 3rem !important; } + [data-theme='dark'] .ml-md-5, + [data-theme='dark'] .mx-md-5 { + margin-left: 3rem !important; } + [data-theme='dark'] .p-md-0 { + padding: 0 !important; } + [data-theme='dark'] .pt-md-0, + [data-theme='dark'] .py-md-0 { + padding-top: 0 !important; } + [data-theme='dark'] .pr-md-0, + [data-theme='dark'] .px-md-0 { + padding-right: 0 !important; } + [data-theme='dark'] .pb-md-0, + [data-theme='dark'] .py-md-0 { + padding-bottom: 0 !important; } + [data-theme='dark'] .pl-md-0, + [data-theme='dark'] .px-md-0 { + padding-left: 0 !important; } + [data-theme='dark'] .p-md-1 { + padding: 0.25rem !important; } + [data-theme='dark'] .pt-md-1, + [data-theme='dark'] .py-md-1 { + padding-top: 0.25rem !important; } + [data-theme='dark'] .pr-md-1, + [data-theme='dark'] .px-md-1 { + padding-right: 0.25rem !important; } + [data-theme='dark'] .pb-md-1, + [data-theme='dark'] .py-md-1 { + padding-bottom: 0.25rem !important; } + [data-theme='dark'] .pl-md-1, + [data-theme='dark'] .px-md-1 { + padding-left: 0.25rem !important; } + [data-theme='dark'] .p-md-2 { + padding: 0.5rem !important; } + [data-theme='dark'] .pt-md-2, + [data-theme='dark'] .py-md-2 { + padding-top: 0.5rem !important; } + [data-theme='dark'] .pr-md-2, + [data-theme='dark'] .px-md-2 { + padding-right: 0.5rem !important; } + [data-theme='dark'] .pb-md-2, + [data-theme='dark'] .py-md-2 { + padding-bottom: 0.5rem !important; } + [data-theme='dark'] .pl-md-2, + [data-theme='dark'] .px-md-2 { + padding-left: 0.5rem !important; } + [data-theme='dark'] .p-md-3 { + padding: 1rem !important; } + [data-theme='dark'] .pt-md-3, + [data-theme='dark'] .py-md-3 { + padding-top: 1rem !important; } + [data-theme='dark'] .pr-md-3, + [data-theme='dark'] .px-md-3 { + padding-right: 1rem !important; } + [data-theme='dark'] .pb-md-3, + [data-theme='dark'] .py-md-3 { + padding-bottom: 1rem !important; } + [data-theme='dark'] .pl-md-3, + [data-theme='dark'] .px-md-3 { + padding-left: 1rem !important; } + [data-theme='dark'] .p-md-4 { + padding: 1.5rem !important; } + [data-theme='dark'] .pt-md-4, + [data-theme='dark'] .py-md-4 { + padding-top: 1.5rem !important; } + [data-theme='dark'] .pr-md-4, + [data-theme='dark'] .px-md-4 { + padding-right: 1.5rem !important; } + [data-theme='dark'] .pb-md-4, + [data-theme='dark'] .py-md-4 { + padding-bottom: 1.5rem !important; } + [data-theme='dark'] .pl-md-4, + [data-theme='dark'] .px-md-4 { + padding-left: 1.5rem !important; } + [data-theme='dark'] .p-md-5 { + padding: 3rem !important; } + [data-theme='dark'] .pt-md-5, + [data-theme='dark'] .py-md-5 { + padding-top: 3rem !important; } + [data-theme='dark'] .pr-md-5, + [data-theme='dark'] .px-md-5 { + padding-right: 3rem !important; } + [data-theme='dark'] .pb-md-5, + [data-theme='dark'] .py-md-5 { + padding-bottom: 3rem !important; } + [data-theme='dark'] .pl-md-5, + [data-theme='dark'] .px-md-5 { + padding-left: 3rem !important; } + [data-theme='dark'] .m-md-n1 { + margin: -0.25rem !important; } + [data-theme='dark'] .mt-md-n1, + [data-theme='dark'] .my-md-n1 { + margin-top: -0.25rem !important; } + [data-theme='dark'] .mr-md-n1, + [data-theme='dark'] .mx-md-n1 { + margin-right: -0.25rem !important; } + [data-theme='dark'] .mb-md-n1, + [data-theme='dark'] .my-md-n1 { + margin-bottom: -0.25rem !important; } + [data-theme='dark'] .ml-md-n1, + [data-theme='dark'] .mx-md-n1 { + margin-left: -0.25rem !important; } + [data-theme='dark'] .m-md-n2 { + margin: -0.5rem !important; } + [data-theme='dark'] .mt-md-n2, + [data-theme='dark'] .my-md-n2 { + margin-top: -0.5rem !important; } + [data-theme='dark'] .mr-md-n2, + [data-theme='dark'] .mx-md-n2 { + margin-right: -0.5rem !important; } + [data-theme='dark'] .mb-md-n2, + [data-theme='dark'] .my-md-n2 { + margin-bottom: -0.5rem !important; } + [data-theme='dark'] .ml-md-n2, + [data-theme='dark'] .mx-md-n2 { + margin-left: -0.5rem !important; } + [data-theme='dark'] .m-md-n3 { + margin: -1rem !important; } + [data-theme='dark'] .mt-md-n3, + [data-theme='dark'] .my-md-n3 { + margin-top: -1rem !important; } + [data-theme='dark'] .mr-md-n3, + [data-theme='dark'] .mx-md-n3 { + margin-right: -1rem !important; } + [data-theme='dark'] .mb-md-n3, + [data-theme='dark'] .my-md-n3 { + margin-bottom: -1rem !important; } + [data-theme='dark'] .ml-md-n3, + [data-theme='dark'] .mx-md-n3 { + margin-left: -1rem !important; } + [data-theme='dark'] .m-md-n4 { + margin: -1.5rem !important; } + [data-theme='dark'] .mt-md-n4, + [data-theme='dark'] .my-md-n4 { + margin-top: -1.5rem !important; } + [data-theme='dark'] .mr-md-n4, + [data-theme='dark'] .mx-md-n4 { + margin-right: -1.5rem !important; } + [data-theme='dark'] .mb-md-n4, + [data-theme='dark'] .my-md-n4 { + margin-bottom: -1.5rem !important; } + [data-theme='dark'] .ml-md-n4, + [data-theme='dark'] .mx-md-n4 { + margin-left: -1.5rem !important; } + [data-theme='dark'] .m-md-n5 { + margin: -3rem !important; } + [data-theme='dark'] .mt-md-n5, + [data-theme='dark'] .my-md-n5 { + margin-top: -3rem !important; } + [data-theme='dark'] .mr-md-n5, + [data-theme='dark'] .mx-md-n5 { + margin-right: -3rem !important; } + [data-theme='dark'] .mb-md-n5, + [data-theme='dark'] .my-md-n5 { + margin-bottom: -3rem !important; } + [data-theme='dark'] .ml-md-n5, + [data-theme='dark'] .mx-md-n5 { + margin-left: -3rem !important; } + [data-theme='dark'] .m-md-auto { + margin: auto !important; } + [data-theme='dark'] .mt-md-auto, + [data-theme='dark'] .my-md-auto { + margin-top: auto !important; } + [data-theme='dark'] .mr-md-auto, + [data-theme='dark'] .mx-md-auto { + margin-right: auto !important; } + [data-theme='dark'] .mb-md-auto, + [data-theme='dark'] .my-md-auto { + margin-bottom: auto !important; } + [data-theme='dark'] .ml-md-auto, + [data-theme='dark'] .mx-md-auto { + margin-left: auto !important; } } + @media (min-width: 992px) { + [data-theme='dark'] .m-lg-0 { + margin: 0 !important; } + [data-theme='dark'] .mt-lg-0, + [data-theme='dark'] .my-lg-0 { + margin-top: 0 !important; } + [data-theme='dark'] .mr-lg-0, + [data-theme='dark'] .mx-lg-0 { + margin-right: 0 !important; } + [data-theme='dark'] .mb-lg-0, + [data-theme='dark'] .my-lg-0 { + margin-bottom: 0 !important; } + [data-theme='dark'] .ml-lg-0, + [data-theme='dark'] .mx-lg-0 { + margin-left: 0 !important; } + [data-theme='dark'] .m-lg-1 { + margin: 0.25rem !important; } + [data-theme='dark'] .mt-lg-1, + [data-theme='dark'] .my-lg-1 { + margin-top: 0.25rem !important; } + [data-theme='dark'] .mr-lg-1, + [data-theme='dark'] .mx-lg-1 { + margin-right: 0.25rem !important; } + [data-theme='dark'] .mb-lg-1, + [data-theme='dark'] .my-lg-1 { + margin-bottom: 0.25rem !important; } + [data-theme='dark'] .ml-lg-1, + [data-theme='dark'] .mx-lg-1 { + margin-left: 0.25rem !important; } + [data-theme='dark'] .m-lg-2 { + margin: 0.5rem !important; } + [data-theme='dark'] .mt-lg-2, + [data-theme='dark'] .my-lg-2 { + margin-top: 0.5rem !important; } + [data-theme='dark'] .mr-lg-2, + [data-theme='dark'] .mx-lg-2 { + margin-right: 0.5rem !important; } + [data-theme='dark'] .mb-lg-2, + [data-theme='dark'] .my-lg-2 { + margin-bottom: 0.5rem !important; } + [data-theme='dark'] .ml-lg-2, + [data-theme='dark'] .mx-lg-2 { + margin-left: 0.5rem !important; } + [data-theme='dark'] .m-lg-3 { + margin: 1rem !important; } + [data-theme='dark'] .mt-lg-3, + [data-theme='dark'] .my-lg-3 { + margin-top: 1rem !important; } + [data-theme='dark'] .mr-lg-3, + [data-theme='dark'] .mx-lg-3 { + margin-right: 1rem !important; } + [data-theme='dark'] .mb-lg-3, + [data-theme='dark'] .my-lg-3 { + margin-bottom: 1rem !important; } + [data-theme='dark'] .ml-lg-3, + [data-theme='dark'] .mx-lg-3 { + margin-left: 1rem !important; } + [data-theme='dark'] .m-lg-4 { + margin: 1.5rem !important; } + [data-theme='dark'] .mt-lg-4, + [data-theme='dark'] .my-lg-4 { + margin-top: 1.5rem !important; } + [data-theme='dark'] .mr-lg-4, + [data-theme='dark'] .mx-lg-4 { + margin-right: 1.5rem !important; } + [data-theme='dark'] .mb-lg-4, + [data-theme='dark'] .my-lg-4 { + margin-bottom: 1.5rem !important; } + [data-theme='dark'] .ml-lg-4, + [data-theme='dark'] .mx-lg-4 { + margin-left: 1.5rem !important; } + [data-theme='dark'] .m-lg-5 { + margin: 3rem !important; } + [data-theme='dark'] .mt-lg-5, + [data-theme='dark'] .my-lg-5 { + margin-top: 3rem !important; } + [data-theme='dark'] .mr-lg-5, + [data-theme='dark'] .mx-lg-5 { + margin-right: 3rem !important; } + [data-theme='dark'] .mb-lg-5, + [data-theme='dark'] .my-lg-5 { + margin-bottom: 3rem !important; } + [data-theme='dark'] .ml-lg-5, + [data-theme='dark'] .mx-lg-5 { + margin-left: 3rem !important; } + [data-theme='dark'] .p-lg-0 { + padding: 0 !important; } + [data-theme='dark'] .pt-lg-0, + [data-theme='dark'] .py-lg-0 { + padding-top: 0 !important; } + [data-theme='dark'] .pr-lg-0, + [data-theme='dark'] .px-lg-0 { + padding-right: 0 !important; } + [data-theme='dark'] .pb-lg-0, + [data-theme='dark'] .py-lg-0 { + padding-bottom: 0 !important; } + [data-theme='dark'] .pl-lg-0, + [data-theme='dark'] .px-lg-0 { + padding-left: 0 !important; } + [data-theme='dark'] .p-lg-1 { + padding: 0.25rem !important; } + [data-theme='dark'] .pt-lg-1, + [data-theme='dark'] .py-lg-1 { + padding-top: 0.25rem !important; } + [data-theme='dark'] .pr-lg-1, + [data-theme='dark'] .px-lg-1 { + padding-right: 0.25rem !important; } + [data-theme='dark'] .pb-lg-1, + [data-theme='dark'] .py-lg-1 { + padding-bottom: 0.25rem !important; } + [data-theme='dark'] .pl-lg-1, + [data-theme='dark'] .px-lg-1 { + padding-left: 0.25rem !important; } + [data-theme='dark'] .p-lg-2 { + padding: 0.5rem !important; } + [data-theme='dark'] .pt-lg-2, + [data-theme='dark'] .py-lg-2 { + padding-top: 0.5rem !important; } + [data-theme='dark'] .pr-lg-2, + [data-theme='dark'] .px-lg-2 { + padding-right: 0.5rem !important; } + [data-theme='dark'] .pb-lg-2, + [data-theme='dark'] .py-lg-2 { + padding-bottom: 0.5rem !important; } + [data-theme='dark'] .pl-lg-2, + [data-theme='dark'] .px-lg-2 { + padding-left: 0.5rem !important; } + [data-theme='dark'] .p-lg-3 { + padding: 1rem !important; } + [data-theme='dark'] .pt-lg-3, + [data-theme='dark'] .py-lg-3 { + padding-top: 1rem !important; } + [data-theme='dark'] .pr-lg-3, + [data-theme='dark'] .px-lg-3 { + padding-right: 1rem !important; } + [data-theme='dark'] .pb-lg-3, + [data-theme='dark'] .py-lg-3 { + padding-bottom: 1rem !important; } + [data-theme='dark'] .pl-lg-3, + [data-theme='dark'] .px-lg-3 { + padding-left: 1rem !important; } + [data-theme='dark'] .p-lg-4 { + padding: 1.5rem !important; } + [data-theme='dark'] .pt-lg-4, + [data-theme='dark'] .py-lg-4 { + padding-top: 1.5rem !important; } + [data-theme='dark'] .pr-lg-4, + [data-theme='dark'] .px-lg-4 { + padding-right: 1.5rem !important; } + [data-theme='dark'] .pb-lg-4, + [data-theme='dark'] .py-lg-4 { + padding-bottom: 1.5rem !important; } + [data-theme='dark'] .pl-lg-4, + [data-theme='dark'] .px-lg-4 { + padding-left: 1.5rem !important; } + [data-theme='dark'] .p-lg-5 { + padding: 3rem !important; } + [data-theme='dark'] .pt-lg-5, + [data-theme='dark'] .py-lg-5 { + padding-top: 3rem !important; } + [data-theme='dark'] .pr-lg-5, + [data-theme='dark'] .px-lg-5 { + padding-right: 3rem !important; } + [data-theme='dark'] .pb-lg-5, + [data-theme='dark'] .py-lg-5 { + padding-bottom: 3rem !important; } + [data-theme='dark'] .pl-lg-5, + [data-theme='dark'] .px-lg-5 { + padding-left: 3rem !important; } + [data-theme='dark'] .m-lg-n1 { + margin: -0.25rem !important; } + [data-theme='dark'] .mt-lg-n1, + [data-theme='dark'] .my-lg-n1 { + margin-top: -0.25rem !important; } + [data-theme='dark'] .mr-lg-n1, + [data-theme='dark'] .mx-lg-n1 { + margin-right: -0.25rem !important; } + [data-theme='dark'] .mb-lg-n1, + [data-theme='dark'] .my-lg-n1 { + margin-bottom: -0.25rem !important; } + [data-theme='dark'] .ml-lg-n1, + [data-theme='dark'] .mx-lg-n1 { + margin-left: -0.25rem !important; } + [data-theme='dark'] .m-lg-n2 { + margin: -0.5rem !important; } + [data-theme='dark'] .mt-lg-n2, + [data-theme='dark'] .my-lg-n2 { + margin-top: -0.5rem !important; } + [data-theme='dark'] .mr-lg-n2, + [data-theme='dark'] .mx-lg-n2 { + margin-right: -0.5rem !important; } + [data-theme='dark'] .mb-lg-n2, + [data-theme='dark'] .my-lg-n2 { + margin-bottom: -0.5rem !important; } + [data-theme='dark'] .ml-lg-n2, + [data-theme='dark'] .mx-lg-n2 { + margin-left: -0.5rem !important; } + [data-theme='dark'] .m-lg-n3 { + margin: -1rem !important; } + [data-theme='dark'] .mt-lg-n3, + [data-theme='dark'] .my-lg-n3 { + margin-top: -1rem !important; } + [data-theme='dark'] .mr-lg-n3, + [data-theme='dark'] .mx-lg-n3 { + margin-right: -1rem !important; } + [data-theme='dark'] .mb-lg-n3, + [data-theme='dark'] .my-lg-n3 { + margin-bottom: -1rem !important; } + [data-theme='dark'] .ml-lg-n3, + [data-theme='dark'] .mx-lg-n3 { + margin-left: -1rem !important; } + [data-theme='dark'] .m-lg-n4 { + margin: -1.5rem !important; } + [data-theme='dark'] .mt-lg-n4, + [data-theme='dark'] .my-lg-n4 { + margin-top: -1.5rem !important; } + [data-theme='dark'] .mr-lg-n4, + [data-theme='dark'] .mx-lg-n4 { + margin-right: -1.5rem !important; } + [data-theme='dark'] .mb-lg-n4, + [data-theme='dark'] .my-lg-n4 { + margin-bottom: -1.5rem !important; } + [data-theme='dark'] .ml-lg-n4, + [data-theme='dark'] .mx-lg-n4 { + margin-left: -1.5rem !important; } + [data-theme='dark'] .m-lg-n5 { + margin: -3rem !important; } + [data-theme='dark'] .mt-lg-n5, + [data-theme='dark'] .my-lg-n5 { + margin-top: -3rem !important; } + [data-theme='dark'] .mr-lg-n5, + [data-theme='dark'] .mx-lg-n5 { + margin-right: -3rem !important; } + [data-theme='dark'] .mb-lg-n5, + [data-theme='dark'] .my-lg-n5 { + margin-bottom: -3rem !important; } + [data-theme='dark'] .ml-lg-n5, + [data-theme='dark'] .mx-lg-n5 { + margin-left: -3rem !important; } + [data-theme='dark'] .m-lg-auto { + margin: auto !important; } + [data-theme='dark'] .mt-lg-auto, + [data-theme='dark'] .my-lg-auto { + margin-top: auto !important; } + [data-theme='dark'] .mr-lg-auto, + [data-theme='dark'] .mx-lg-auto { + margin-right: auto !important; } + [data-theme='dark'] .mb-lg-auto, + [data-theme='dark'] .my-lg-auto { + margin-bottom: auto !important; } + [data-theme='dark'] .ml-lg-auto, + [data-theme='dark'] .mx-lg-auto { + margin-left: auto !important; } } + @media (min-width: 1200px) { + [data-theme='dark'] .m-xl-0 { + margin: 0 !important; } + [data-theme='dark'] .mt-xl-0, + [data-theme='dark'] .my-xl-0 { + margin-top: 0 !important; } + [data-theme='dark'] .mr-xl-0, + [data-theme='dark'] .mx-xl-0 { + margin-right: 0 !important; } + [data-theme='dark'] .mb-xl-0, + [data-theme='dark'] .my-xl-0 { + margin-bottom: 0 !important; } + [data-theme='dark'] .ml-xl-0, + [data-theme='dark'] .mx-xl-0 { + margin-left: 0 !important; } + [data-theme='dark'] .m-xl-1 { + margin: 0.25rem !important; } + [data-theme='dark'] .mt-xl-1, + [data-theme='dark'] .my-xl-1 { + margin-top: 0.25rem !important; } + [data-theme='dark'] .mr-xl-1, + [data-theme='dark'] .mx-xl-1 { + margin-right: 0.25rem !important; } + [data-theme='dark'] .mb-xl-1, + [data-theme='dark'] .my-xl-1 { + margin-bottom: 0.25rem !important; } + [data-theme='dark'] .ml-xl-1, + [data-theme='dark'] .mx-xl-1 { + margin-left: 0.25rem !important; } + [data-theme='dark'] .m-xl-2 { + margin: 0.5rem !important; } + [data-theme='dark'] .mt-xl-2, + [data-theme='dark'] .my-xl-2 { + margin-top: 0.5rem !important; } + [data-theme='dark'] .mr-xl-2, + [data-theme='dark'] .mx-xl-2 { + margin-right: 0.5rem !important; } + [data-theme='dark'] .mb-xl-2, + [data-theme='dark'] .my-xl-2 { + margin-bottom: 0.5rem !important; } + [data-theme='dark'] .ml-xl-2, + [data-theme='dark'] .mx-xl-2 { + margin-left: 0.5rem !important; } + [data-theme='dark'] .m-xl-3 { + margin: 1rem !important; } + [data-theme='dark'] .mt-xl-3, + [data-theme='dark'] .my-xl-3 { + margin-top: 1rem !important; } + [data-theme='dark'] .mr-xl-3, + [data-theme='dark'] .mx-xl-3 { + margin-right: 1rem !important; } + [data-theme='dark'] .mb-xl-3, + [data-theme='dark'] .my-xl-3 { + margin-bottom: 1rem !important; } + [data-theme='dark'] .ml-xl-3, + [data-theme='dark'] .mx-xl-3 { + margin-left: 1rem !important; } + [data-theme='dark'] .m-xl-4 { + margin: 1.5rem !important; } + [data-theme='dark'] .mt-xl-4, + [data-theme='dark'] .my-xl-4 { + margin-top: 1.5rem !important; } + [data-theme='dark'] .mr-xl-4, + [data-theme='dark'] .mx-xl-4 { + margin-right: 1.5rem !important; } + [data-theme='dark'] .mb-xl-4, + [data-theme='dark'] .my-xl-4 { + margin-bottom: 1.5rem !important; } + [data-theme='dark'] .ml-xl-4, + [data-theme='dark'] .mx-xl-4 { + margin-left: 1.5rem !important; } + [data-theme='dark'] .m-xl-5 { + margin: 3rem !important; } + [data-theme='dark'] .mt-xl-5, + [data-theme='dark'] .my-xl-5 { + margin-top: 3rem !important; } + [data-theme='dark'] .mr-xl-5, + [data-theme='dark'] .mx-xl-5 { + margin-right: 3rem !important; } + [data-theme='dark'] .mb-xl-5, + [data-theme='dark'] .my-xl-5 { + margin-bottom: 3rem !important; } + [data-theme='dark'] .ml-xl-5, + [data-theme='dark'] .mx-xl-5 { + margin-left: 3rem !important; } + [data-theme='dark'] .p-xl-0 { + padding: 0 !important; } + [data-theme='dark'] .pt-xl-0, + [data-theme='dark'] .py-xl-0 { + padding-top: 0 !important; } + [data-theme='dark'] .pr-xl-0, + [data-theme='dark'] .px-xl-0 { + padding-right: 0 !important; } + [data-theme='dark'] .pb-xl-0, + [data-theme='dark'] .py-xl-0 { + padding-bottom: 0 !important; } + [data-theme='dark'] .pl-xl-0, + [data-theme='dark'] .px-xl-0 { + padding-left: 0 !important; } + [data-theme='dark'] .p-xl-1 { + padding: 0.25rem !important; } + [data-theme='dark'] .pt-xl-1, + [data-theme='dark'] .py-xl-1 { + padding-top: 0.25rem !important; } + [data-theme='dark'] .pr-xl-1, + [data-theme='dark'] .px-xl-1 { + padding-right: 0.25rem !important; } + [data-theme='dark'] .pb-xl-1, + [data-theme='dark'] .py-xl-1 { + padding-bottom: 0.25rem !important; } + [data-theme='dark'] .pl-xl-1, + [data-theme='dark'] .px-xl-1 { + padding-left: 0.25rem !important; } + [data-theme='dark'] .p-xl-2 { + padding: 0.5rem !important; } + [data-theme='dark'] .pt-xl-2, + [data-theme='dark'] .py-xl-2 { + padding-top: 0.5rem !important; } + [data-theme='dark'] .pr-xl-2, + [data-theme='dark'] .px-xl-2 { + padding-right: 0.5rem !important; } + [data-theme='dark'] .pb-xl-2, + [data-theme='dark'] .py-xl-2 { + padding-bottom: 0.5rem !important; } + [data-theme='dark'] .pl-xl-2, + [data-theme='dark'] .px-xl-2 { + padding-left: 0.5rem !important; } + [data-theme='dark'] .p-xl-3 { + padding: 1rem !important; } + [data-theme='dark'] .pt-xl-3, + [data-theme='dark'] .py-xl-3 { + padding-top: 1rem !important; } + [data-theme='dark'] .pr-xl-3, + [data-theme='dark'] .px-xl-3 { + padding-right: 1rem !important; } + [data-theme='dark'] .pb-xl-3, + [data-theme='dark'] .py-xl-3 { + padding-bottom: 1rem !important; } + [data-theme='dark'] .pl-xl-3, + [data-theme='dark'] .px-xl-3 { + padding-left: 1rem !important; } + [data-theme='dark'] .p-xl-4 { + padding: 1.5rem !important; } + [data-theme='dark'] .pt-xl-4, + [data-theme='dark'] .py-xl-4 { + padding-top: 1.5rem !important; } + [data-theme='dark'] .pr-xl-4, + [data-theme='dark'] .px-xl-4 { + padding-right: 1.5rem !important; } + [data-theme='dark'] .pb-xl-4, + [data-theme='dark'] .py-xl-4 { + padding-bottom: 1.5rem !important; } + [data-theme='dark'] .pl-xl-4, + [data-theme='dark'] .px-xl-4 { + padding-left: 1.5rem !important; } + [data-theme='dark'] .p-xl-5 { + padding: 3rem !important; } + [data-theme='dark'] .pt-xl-5, + [data-theme='dark'] .py-xl-5 { + padding-top: 3rem !important; } + [data-theme='dark'] .pr-xl-5, + [data-theme='dark'] .px-xl-5 { + padding-right: 3rem !important; } + [data-theme='dark'] .pb-xl-5, + [data-theme='dark'] .py-xl-5 { + padding-bottom: 3rem !important; } + [data-theme='dark'] .pl-xl-5, + [data-theme='dark'] .px-xl-5 { + padding-left: 3rem !important; } + [data-theme='dark'] .m-xl-n1 { + margin: -0.25rem !important; } + [data-theme='dark'] .mt-xl-n1, + [data-theme='dark'] .my-xl-n1 { + margin-top: -0.25rem !important; } + [data-theme='dark'] .mr-xl-n1, + [data-theme='dark'] .mx-xl-n1 { + margin-right: -0.25rem !important; } + [data-theme='dark'] .mb-xl-n1, + [data-theme='dark'] .my-xl-n1 { + margin-bottom: -0.25rem !important; } + [data-theme='dark'] .ml-xl-n1, + [data-theme='dark'] .mx-xl-n1 { + margin-left: -0.25rem !important; } + [data-theme='dark'] .m-xl-n2 { + margin: -0.5rem !important; } + [data-theme='dark'] .mt-xl-n2, + [data-theme='dark'] .my-xl-n2 { + margin-top: -0.5rem !important; } + [data-theme='dark'] .mr-xl-n2, + [data-theme='dark'] .mx-xl-n2 { + margin-right: -0.5rem !important; } + [data-theme='dark'] .mb-xl-n2, + [data-theme='dark'] .my-xl-n2 { + margin-bottom: -0.5rem !important; } + [data-theme='dark'] .ml-xl-n2, + [data-theme='dark'] .mx-xl-n2 { + margin-left: -0.5rem !important; } + [data-theme='dark'] .m-xl-n3 { + margin: -1rem !important; } + [data-theme='dark'] .mt-xl-n3, + [data-theme='dark'] .my-xl-n3 { + margin-top: -1rem !important; } + [data-theme='dark'] .mr-xl-n3, + [data-theme='dark'] .mx-xl-n3 { + margin-right: -1rem !important; } + [data-theme='dark'] .mb-xl-n3, + [data-theme='dark'] .my-xl-n3 { + margin-bottom: -1rem !important; } + [data-theme='dark'] .ml-xl-n3, + [data-theme='dark'] .mx-xl-n3 { + margin-left: -1rem !important; } + [data-theme='dark'] .m-xl-n4 { + margin: -1.5rem !important; } + [data-theme='dark'] .mt-xl-n4, + [data-theme='dark'] .my-xl-n4 { + margin-top: -1.5rem !important; } + [data-theme='dark'] .mr-xl-n4, + [data-theme='dark'] .mx-xl-n4 { + margin-right: -1.5rem !important; } + [data-theme='dark'] .mb-xl-n4, + [data-theme='dark'] .my-xl-n4 { + margin-bottom: -1.5rem !important; } + [data-theme='dark'] .ml-xl-n4, + [data-theme='dark'] .mx-xl-n4 { + margin-left: -1.5rem !important; } + [data-theme='dark'] .m-xl-n5 { + margin: -3rem !important; } + [data-theme='dark'] .mt-xl-n5, + [data-theme='dark'] .my-xl-n5 { + margin-top: -3rem !important; } + [data-theme='dark'] .mr-xl-n5, + [data-theme='dark'] .mx-xl-n5 { + margin-right: -3rem !important; } + [data-theme='dark'] .mb-xl-n5, + [data-theme='dark'] .my-xl-n5 { + margin-bottom: -3rem !important; } + [data-theme='dark'] .ml-xl-n5, + [data-theme='dark'] .mx-xl-n5 { + margin-left: -3rem !important; } + [data-theme='dark'] .m-xl-auto { + margin: auto !important; } + [data-theme='dark'] .mt-xl-auto, + [data-theme='dark'] .my-xl-auto { + margin-top: auto !important; } + [data-theme='dark'] .mr-xl-auto, + [data-theme='dark'] .mx-xl-auto { + margin-right: auto !important; } + [data-theme='dark'] .mb-xl-auto, + [data-theme='dark'] .my-xl-auto { + margin-bottom: auto !important; } + [data-theme='dark'] .ml-xl-auto, + [data-theme='dark'] .mx-xl-auto { + margin-left: auto !important; } } + [data-theme='dark'] .stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); } + [data-theme='dark'] .text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } + [data-theme='dark'] .text-justify { + text-align: justify !important; } + [data-theme='dark'] .text-wrap { + white-space: normal !important; } + [data-theme='dark'] .text-nowrap { + white-space: nowrap !important; } + [data-theme='dark'] .text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + [data-theme='dark'] .text-left { + text-align: left !important; } + [data-theme='dark'] .text-right { + text-align: right !important; } + [data-theme='dark'] .text-center { + text-align: center !important; } + @media (min-width: 576px) { + [data-theme='dark'] .text-sm-left { + text-align: left !important; } + [data-theme='dark'] .text-sm-right { + text-align: right !important; } + [data-theme='dark'] .text-sm-center { + text-align: center !important; } } + @media (min-width: 768px) { + [data-theme='dark'] .text-md-left { + text-align: left !important; } + [data-theme='dark'] .text-md-right { + text-align: right !important; } + [data-theme='dark'] .text-md-center { + text-align: center !important; } } + @media (min-width: 992px) { + [data-theme='dark'] .text-lg-left { + text-align: left !important; } + [data-theme='dark'] .text-lg-right { + text-align: right !important; } + [data-theme='dark'] .text-lg-center { + text-align: center !important; } } + @media (min-width: 1200px) { + [data-theme='dark'] .text-xl-left { + text-align: left !important; } + [data-theme='dark'] .text-xl-right { + text-align: right !important; } + [data-theme='dark'] .text-xl-center { + text-align: center !important; } } + [data-theme='dark'] .text-lowercase { + text-transform: lowercase !important; } + [data-theme='dark'] .text-uppercase { + text-transform: uppercase !important; } + [data-theme='dark'] .text-capitalize { + text-transform: capitalize !important; } + [data-theme='dark'] .font-weight-light { + font-weight: 300 !important; } + [data-theme='dark'] .font-weight-lighter { + font-weight: lighter !important; } + [data-theme='dark'] .font-weight-normal { + font-weight: 400 !important; } + [data-theme='dark'] .font-weight-bold { + font-weight: 700 !important; } + [data-theme='dark'] .font-weight-bolder { + font-weight: bolder !important; } + [data-theme='dark'] .font-italic { + font-style: italic !important; } + [data-theme='dark'] .text-white { + color: #fff !important; } + [data-theme='dark'] .text-primary { + color: #3A52A2 !important; } + [data-theme='dark'] a.text-primary:hover, [data-theme='dark'] a.text-primary:focus { + color: #26356a !important; } + [data-theme='dark'] .text-secondary { + color: #6c757d !important; } + [data-theme='dark'] a.text-secondary:hover, [data-theme='dark'] a.text-secondary:focus { + color: #494f54 !important; } + [data-theme='dark'] .text-success { + color: #3AB54A !important; } + [data-theme='dark'] a.text-success:hover, [data-theme='dark'] a.text-success:focus { + color: #277b32 !important; } + [data-theme='dark'] .text-info { + color: #25AAE2 !important; } + [data-theme='dark'] a.text-info:hover, [data-theme='dark'] a.text-info:focus { + color: #167aa5 !important; } + [data-theme='dark'] .text-warning { + color: #FFE89B !important; } + [data-theme='dark'] a.text-warning:hover, [data-theme='dark'] a.text-warning:focus { + color: #ffd64f !important; } + [data-theme='dark'] .text-danger { + color: #BF1E2E !important; } + [data-theme='dark'] a.text-danger:hover, [data-theme='dark'] a.text-danger:focus { + color: #7d141e !important; } + [data-theme='dark'] .text-light { + color: #f8f9fa !important; } + [data-theme='dark'] a.text-light:hover, [data-theme='dark'] a.text-light:focus { + color: #cbd3da !important; } + [data-theme='dark'] .text-dark { + color: #343a40 !important; } + [data-theme='dark'] a.text-dark:hover, [data-theme='dark'] a.text-dark:focus { + color: #121416 !important; } + [data-theme='dark'] .text-body { + color: #d3d3d3 !important; } + [data-theme='dark'] .text-muted { + color: #6c757d !important; } + [data-theme='dark'] .text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; } + [data-theme='dark'] .text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; } + [data-theme='dark'] .text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + [data-theme='dark'] .text-decoration-none { + text-decoration: none !important; } + [data-theme='dark'] .text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; } + [data-theme='dark'] .text-reset { + color: inherit !important; } + [data-theme='dark'] .visible { + visibility: visible !important; } + [data-theme='dark'] .invisible { + visibility: hidden !important; } + @media print { + [data-theme='dark'] *, + [data-theme='dark'] *::before, + [data-theme='dark'] *::after { + text-shadow: none !important; + box-shadow: none !important; } + [data-theme='dark'] a:not(.btn) { + text-decoration: underline; } + [data-theme='dark'] abbr[title]::after { + content: " (" attr(title) ")"; } + [data-theme='dark'] pre { + white-space: pre-wrap !important; } + [data-theme='dark'] pre, + [data-theme='dark'] blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; } + [data-theme='dark'] thead { + display: table-header-group; } + [data-theme='dark'] tr, + [data-theme='dark'] img { + page-break-inside: avoid; } + [data-theme='dark'] p, + [data-theme='dark'] h2, + [data-theme='dark'] h3 { + orphans: 3; + widows: 3; } + [data-theme='dark'] h2, + [data-theme='dark'] h3 { + page-break-after: avoid; } + @page { + [data-theme='dark'] { + size: a3; } } + [data-theme='dark'] body { + min-width: 992px !important; } + [data-theme='dark'] .container { + min-width: 992px !important; } + [data-theme='dark'] .navbar { + display: none; } + [data-theme='dark'] .badge { + border: 1px solid #000; } + [data-theme='dark'] .table { + border-collapse: collapse !important; } + [data-theme='dark'] .table td, + [data-theme='dark'] .table th { + background-color: #fff !important; } + [data-theme='dark'] .table-bordered th, + [data-theme='dark'] .table-bordered td { + border: 1px solid #dee2e6 !important; } + [data-theme='dark'] .table-dark { + color: inherit; } + [data-theme='dark'] .table-dark th, + [data-theme='dark'] .table-dark td, + [data-theme='dark'] .table-dark thead th, + [data-theme='dark'] .table-dark tbody + tbody { + border-color: #343a40; } + [data-theme='dark'] .table .thead-dark th { + color: inherit; + border-color: #343a40; } } + [data-theme='dark'] .navbar { + background-color: #111111 !important; } + [data-theme='dark'] .dropdown-menu { + box-shadow: 0 0.5rem 1rem black; + color: #f8f9fa; + background: #121416; } + [data-theme='dark'] .form-control:not(.btn) { + background-color: #121416; + color: #f8f9fa; } + [data-theme='dark'] .btn-light, [data-theme='dark'] .popover, [data-theme='dark'] .popover-header, [data-theme='dark'] .popover-body, [data-theme='dark'] .status { + background-color: #121416 !important; + color: #f8f9fa !important; + border-color: #121416; } + [data-theme='dark'] .bs-popover-right > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="right"] > .arrow::after { + border-right-color: #121416; } + [data-theme='dark'] .bs-popover-left > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="left"] > .arrow::after { + border-left-color: #121416; } + [data-theme='dark'] .bs-popover-top > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="top"] > .arrow::after { + border-top-color: #121416; } + [data-theme='dark'] .bs-popover-bottom > .arrow::after, [data-theme='dark'] .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + border-bottom-color: #121416; } + [data-theme='dark'] a { + color: #3395ff; } + [data-theme='dark'] .badge, [data-theme='dark'] .btn-success, [data-theme='dark'] .bg-warning { + color: black; } + [data-theme='dark'] .badge-dark, [data-theme='dark'] .badge-secondary, [data-theme='dark'] .btn-primary { + color: #f8f9fa; } + [data-theme='dark'] .input-group-text { + border-color: #121416; } + [data-theme='dark'] .btn-secondary, [data-theme='dark'] .btn-info { + color: white; } + [data-theme='dark'] .page-item.disabled { + opacity: 0.5; } + [data-theme='dark'] .bg-light { + color: black; + background-color: #e9ecef !important; + border-radius: 0.2em; } + [data-theme='dark'] .fc-day-today { + background-color: transparent !important; + border: 0.2em solid #17a2b8 !important; } + [data-theme='dark'] .fc-daygrid-dot-event { + color: white !important; } + [data-theme='dark'] .table { + border-collapse: separate !important; + border-spacing: 0; } + [data-theme='dark'] .table tr th { + border-right: 0 !important; } + [data-theme='dark'] .table tr td { + border-left: 0 !important; } + [data-theme='dark'] .table tr td:not(:last-child) { + border-right: 0 !important; } + [data-theme='dark'] .table-primary > td, [data-theme='dark'] .table-primary th { + border: 0.3em solid #99a5cf !important; } + [data-theme='dark'] .table-primary > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-secondary > td, [data-theme='dark'] .table-secondary th { + border: 0.3em solid #b3b7bb !important; } + [data-theme='dark'] .table-secondary > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-success > td, [data-theme='dark'] .table-success th { + border: 0.3em solid #99d9a1 !important; } + [data-theme='dark'] .table-success > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-info > td, [data-theme='dark'] .table-info th { + border: 0.3em solid #8ed3f0 !important; } + [data-theme='dark'] .table-info > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-warning > td, [data-theme='dark'] .table-warning th { + border: 0.3em solid #fff3cb !important; } + [data-theme='dark'] .table-warning > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-danger > td, [data-theme='dark'] .table-danger th { + border: 0.3em solid #de8a92 !important; } + [data-theme='dark'] .table-danger > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-light > td, [data-theme='dark'] .table-light th { + border: 0.3em solid #fbfcfc !important; } + [data-theme='dark'] .table-light > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] .table-dark > td, [data-theme='dark'] .table-dark th { + border: 0.3em solid #95999c !important; } + [data-theme='dark'] .table-dark > * { + color: white !important; + background-color: #222 !important; } + [data-theme='dark'] del { + color: black; + background-color: #dc3545; + border-radius: 3px; } + [data-theme='dark'] ins { + color: black; + background-color: #28a745; + border-radius: 3px; } + [data-theme='dark'] pre { + background: #6c757d; + color: white; } + [data-theme='dark'] .custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(51, 149, 255, 0.7) !important; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRhcmtfc2NyZWVuLmNzcyIsImRhcmtfc2NyZWVuLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcmV2b2x2ZS9ib290c3RyYXAtZGFyay9zY3NzL19kYXJrLXZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiX2N1c3RvbS12YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9yZXZvbHZlL2Jvb3RzdHJhcC1kYXJrL3Njc3MvbWl4aW5zL19kYXJrLXRhYmxlLXJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3Jldm9sdmUvYm9vdHN0cmFwLWRhcmsvc2Nzcy9fZGFyay10YWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3Jldm9sdmUvYm9vdHN0cmFwLWRhcmsvc2Nzcy9fZGFyay1pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUNVSSxnQkFBZ0I7RUFDaEIsY0NQYyxFQUFBO0VGRGhCO0lHQ0UsZUFBYztJQUFkLGlCQUFjO0lBQWQsaUJBQWM7SUFBZCxlQUFjO0lBQWQsY0FBYztJQUFkLGlCQUFjO0lBQWQsaUJBQWM7SUFBZCxnQkFBYztJQUFkLGVBQWM7SUFBZCxlQUFjO0lBQWQsYUFBYztJQUFkLGVBQWM7SUFBZCxvQkFBYztJQUlkLGtCQUFjO0lBQWQsb0JBQWM7SUFBZCxrQkFBYztJQUFkLGVBQWM7SUFBZCxrQkFBYztJQUFkLGlCQUFjO0lBQWQsZ0JBQWM7SUFBZCxlQUFjO0lBSWQsa0JBQWlDO0lBQWpDLHNCQUFpQztJQUFqQyxzQkFBaUM7SUFBakMsc0JBQWlDO0lBQWpDLHVCQUFpQztJQUtuQyxpREFBeUI7SUFDekIsNkdBQXdCLEVBQUE7RUhjeEI7OztJSVhBLHNCQUFzQixFQUFBO0VKZXRCO0lJWEEsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQiw4QkFBOEI7SUFDOUIsNkNGZmEsRUFBQTtFRjRCYjtJSU5BLGNBQWMsRUFBQTtFSlFkO0lJR0EsU0FBUztJQUNULG9DQy9DK0M7SUMrSDNDLGtCQXRDWTtJRnhDaEIsZ0JHOE8rQjtJSDdPL0IsZ0JHa1ArQjtJSGpQL0IsY0ZUbUI7SUVVbkIsZ0JBQWdCO0lBQ2hCLHlCRlptQixFQUFBO0VGV25CO0lJY0EscUJBQXFCLEVBQUE7RUpackI7SUlzQkEsdUJBQXVCO0lBQ3ZCLFNBQVM7SUFDVCxpQkFBaUIsRUFBQTtFSnBCakI7SUlrQ0EsYUFBYTtJQUNiLHFCR2dOdUMsRUFBQTtFUGhQdkM7SUl3Q0EsYUFBYTtJQUNiLG1CR29GOEIsRUFBQTtFUDFIOUI7O0lJbURBLDBCQUEwQjtJQUMxQix5Q0FBaUM7WUFBakMsaUNBQWlDO0lBQ2pDLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0NBQThCO1lBQTlCLDhCQUE4QixFQUFBO0VKaEQ5QjtJSW9EQSxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLG9CQUFvQixFQUFBO0VKbERwQjs7O0lJd0RBLGFBQWE7SUFDYixtQkFBbUIsRUFBQTtFSnBEbkI7Ozs7SUkyREEsZ0JBQWdCLEVBQUE7RUp0RGhCO0lJMERBLGdCR2lKK0IsRUFBQTtFUHpNL0I7SUk0REEsb0JBQW9CO0lBQ3BCLGNBQWMsRUFBQTtFSjFEZDtJSThEQSxnQkFBZ0IsRUFBQTtFSjVEaEI7O0lJaUVBLG1CR29Ja0MsRUFBQTtFUGxNbEM7SU12QkUsY0FBVyxFQUFBO0VOeUJiOztJSTBFQSxrQkFBa0I7SUVuR2hCLGNBQVc7SUZxR2IsY0FBYztJQUNkLHdCQUF3QixFQUFBO0VKdkV4QjtJSTBFSSxjQUFjLEVBQUE7RUp4RWxCO0lJeUVJLFVBQVUsRUFBQTtFSnZFZDtJSStFQSxjRjNJa0Q7SUU0SWxELHFCR1g0QztJSFk1Qyw2QkFBNkIsRUFBQTtJSjdFM0I7TUlnRkEsY0Y5SWdEO01FK0loRCwwQkdkK0MsRUFBQTtFUGhFakQ7SUl3RkEsY0FBYztJQUNkLHFCQUFxQixFQUFBO0lKdEZuQjtNSXlGQSxjQUFjO01BQ2QscUJBQXFCLEVBQUE7RUp2RnZCOzs7O0lJb0dBLGlHR3lEZ0g7SUQ3TTlHLGNBQVcsRUFBQTtFTnNEYjtJSW9HQSxhQUFhO0lBRWIsbUJBQW1CO0lBRW5CLGNBQWM7SUFHZCw2QkFBNkIsRUFBQTtFSnRHN0I7SUlnSEEsZ0JBQWdCLEVBQUE7RUo5R2hCO0lJdUhBLHNCQUFzQjtJQUN0QixrQkFBa0IsRUFBQTtFSnJIbEI7SUkySEEsZ0JBQWdCO0lBQ2hCLHNCQUFzQixFQUFBO0VKekh0QjtJSWtJQSx5QkFBeUIsRUFBQTtFSmhJekI7SUlvSUEsb0JHNkVrQztJSDVFbEMsdUJHNEVrQztJSDNFbEMsY0d0UWdCO0lIdVFoQixnQkFBZ0I7SUFDaEIsb0JBQW9CLEVBQUE7RUpsSXBCO0lJd0lBLG1CQUFtQixFQUFBO0VKdEluQjtJSWdKQSxxQkFBcUI7SUFDckIscUJHOEoyQyxFQUFBO0VQNVMzQztJSXNKQSxnQkFBZ0IsRUFBQTtFSnBKaEI7SUk0SkEsbUJBQW1CO0lBQ25CLDBDQUEwQyxFQUFBO0VKMUoxQzs7Ozs7SUlrS0EsU0FBUztJQUNULG9CQUFvQjtJRXhQbEIsa0JBQVc7SUYwUGIsb0JBQW9CLEVBQUE7RUo1SnBCOztJSWlLQSxpQkFBaUIsRUFBQTtFSjlKakI7O0lJbUtBLG9CQUFvQixFQUFBO0VKaEtwQjtJSXVLQSxlQUFlLEVBQUE7RUpyS2Y7SUk0S0EsaUJBQWlCLEVBQUE7RUoxS2pCOzs7O0lJcUxBLDBCQUEwQixFQUFBO0VKaEwxQjs7OztJSTBMSSxlQUFlLEVBQUE7RUpyTG5COzs7O0lJK0xBLFVBQVU7SUFDVixrQkFBa0IsRUFBQTtFSjFMbEI7O0lJK0xBLHNCQUFzQjtJQUN0QixVQUFVLEVBQUE7RUo1TFY7SUlpTUEsY0FBYztJQUVkLGdCQUFnQixFQUFBO0VKaE1oQjtJSXlNQSxZQUFZO0lBRVosVUFBVTtJQUNWLFNBQVM7SUFDVCxTQUFTLEVBQUE7RUp4TVQ7SUk4TUEsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0lBQ2YsVUFBVTtJQUNWLG9CQUFvQjtJRS9SaEIsaUJBdENZO0lGdVVoQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLG1CQUFtQixFQUFBO0VKNU1uQjtJSWdOQSx3QkFBd0IsRUFBQTtFSjlNeEI7O0lJb05BLFlBQVksRUFBQTtFSmpOWjtJSXlOQSxvQkFBb0I7SUFDcEIsd0JBQXdCLEVBQUE7RUp2TnhCO0lJK05BLHdCQUF3QixFQUFBO0VKN054QjtJSXNPQSxhQUFhO0lBQ2IsMEJBQTBCLEVBQUE7RUpwTzFCO0lJNE9BLHFCQUFxQixFQUFBO0VKMU9yQjtJSThPQSxrQkFBa0I7SUFDbEIsZUFBZSxFQUFBO0VKNU9mO0lJZ1BBLGFBQWEsRUFBQTtFSjlPYjtJSW9QQSx3QkFBd0IsRUFBQTtFSmxQeEI7O0lRcE9BLHFCRHFTdUM7SUNuU3ZDLGdCRHFTK0I7SUNwUy9CLGdCRHFTK0IsRUFBQTtFUC9EL0I7SU1sSEksbUJBdENZLEVBQUE7RU4wSmhCO0lNcEhJLGlCQXRDWSxFQUFBO0VONEpoQjtJTXRISSxvQkF0Q1ksRUFBQTtFTjhKaEI7SU14SEksbUJBdENZLEVBQUE7RU5nS2hCO0lNMUhJLG9CQXRDWSxFQUFBO0VOa0toQjtJTTVISSxrQkF0Q1ksRUFBQTtFTm9LaEI7SU05SEksb0JBdENZO0lFakVoQixnQkR1UytCLEVBQUE7RVAvRC9CO0lNaklJLGVBdENZO0lFM0RoQixnQkQwUitCO0lDelIvQixnQkRpUitCLEVBQUE7RVA1Qy9CO0lNcklJLGlCQXRDWTtJRXREaEIsZ0JEc1IrQjtJQ3JSL0IsZ0JENFErQixFQUFBO0VQeEMvQjtJTXpJSSxpQkF0Q1k7SUVqRGhCLGdCRGtSK0I7SUNqUi9CLGdCRHVRK0IsRUFBQTtFUHBDL0I7SU03SUksaUJBdENZO0lFNUNoQixnQkQ4UStCO0lDN1EvQixnQkRrUStCLEVBQUE7RVBoQy9CO0lRek5BLGdCRGdGVztJQy9FWCxtQkQrRVc7SUM5RVgsU0FBUztJQUNULDhDTnZEYSxFQUFBO0VGa1JiOztJTTdNRSxjQUFXO0lFSGIsZ0JEME4rQixFQUFBO0VQTi9COztJUS9NQSxjRGtRZ0M7SUNqUWhDLHlCRDBRbUMsRUFBQTtFUHhEbkM7SVN6UkEsZUFBZTtJQUNmLGdCQUFnQixFQUFBO0VUMlJoQjtJUzVSQSxlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RVQ4UmhCO0lRdk1BLHFCQUFxQixFQUFBO0lSeU1uQjtNUXRNQSxvQkRvUCtCLEVBQUE7RVA1Q2pDO0lNL05FLGNBQVc7SUVtQ2IseUJBQXlCLEVBQUE7RVIrTHpCO0lRMUxBLG1CRHVCVztJRFJQLG9CQXRDWSxFQUFBO0VOb05oQjtJUXhMQSxjQUFjO0lGN0NaLGNBQVc7SUUrQ2IsY0QxR2dCLEVBQUE7SVBvU2Q7TVF2TEEscUJBQXFCLEVBQUE7RVJ5THZCO0lVeFNBLGVBQWU7SUFHZixZQUFZLEVBQUE7RVZ3U1o7SVd4U0EsZ0JKNi9Cd0M7SUk1L0J4QyxzQkpSYTtJSVNiLHlCSk5nQjtJS1FkLHNCTDZOZ0M7SU0vTjlCLDBDTkNTO0lHTmIsZUFBZTtJQUdmLFlBQVksRUFBQTtFVmdUWjtJV2hTQSxxQkFBcUIsRUFBQTtFWGtTckI7SVc5UkEscUJBQTBCO0lBQzFCLGNBQWMsRUFBQTtFWGdTZDtJTTNQRSxjQUFXO0lLaENiLGNKM0JnQixFQUFBO0VQeVRoQjtJTTlQRSxnQkFBVztJUXJFYixjUG1DZTtJT2xDZixxQkFBcUIsRUFBQTtJQUdyQjtNQUNFLGNBQWMsRUFBQTtFZG9VaEI7SWM5VEEsc0JQaWxDdUM7SUR2aENyQyxnQkFBVztJUXhEYixXUFRhO0lPVWIseUJQRGdCO0lLRWQscUJMK04rQjtJTWpPN0IsaUROQ1MsRUFBQTtJUGtVWDtNYzdUQSxVQUFVO01Sa0RWLGVBQVc7TVFoRFgsZ0JQd1E2QjtNTWhSM0IsZ0JDU3NCLEVBQUE7RWQrVDFCO0ljelRBLGNBQWM7SVJ5Q1osZ0JBQVc7SVF2Q2IsY1BqQmdCLEVBQUE7SVA0VWQ7TU1wUkEsa0JBQVc7TVFsQ1gsY0FBYztNQUNkLGtCQUFrQixFQUFBO0VkeVRwQjtJY25UQSxpQlB3akN1QztJT3ZqQ3ZDLGtCQUFrQixFQUFBO0VkcVRsQjs7Ozs7O0llOVZBLFdBQVc7SUFDWCxtQkFBMEI7SUFDMUIsa0JBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTtFQ21EZjtJaEJtVEE7TWlCM1ZJLGdCVitMRyxFQUFBLEVVOUxKO0VEdUNIO0loQnNUQTtNaUI5VkksZ0JWZ01HLEVBQUEsRVUvTEo7RUR1Q0g7SWhCeVRBO01pQmpXSSxnQlZpTUcsRUFBQSxFVWhNSjtFRHVDSDtJaEI0VEE7TWlCcFdJLGlCVmtNSSxFQUFBLEVVak1MO0VqQnFXTDtJZTdXQSxhQUFhO0lBQ2IsZUFBZTtJQUNmLG1CQUEwQjtJQUMxQixrQkFBeUIsRUFBQTtFZitXekI7SWlCeFVFLGVBQWU7SUFDZixjQUFjLEVBQUE7SWpCMFVkOztNaUJ0VUUsZ0JBQWdCO01BQ2hCLGVBQWUsRUFBQTtFakJ5VW5COzs7Ozs7SWtCOVhFLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsbUJBQTBCO0lBQzFCLGtCQUF5QixFQUFBO0VsQnFZM0I7SWtCOVdNLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZSxFQUFBO0VsQmdYckI7SWVuVkUsY0FBdUI7SUFDdkIsZUFBd0IsRUFBQTtFZnFWMUI7SWV0VkUsYUFBdUI7SUFDdkIsY0FBd0IsRUFBQTtFZndWMUI7SWV6VkUsbUJBQXVCO0lBQ3ZCLG9CQUF3QixFQUFBO0VmMlYxQjtJZTVWRSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VmOFYxQjtJZS9WRSxhQUF1QjtJQUN2QixjQUF3QixFQUFBO0VmaVcxQjtJZWxXRSxtQkFBdUI7SUFDdkIsb0JBQXdCLEVBQUE7RWZvVzFCO0lldFhBLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZSxFQUFBO0Vmd1hmO0llbFlBLGtCQUFzQztJQUl0QyxtQkFBdUMsRUFBQTtFZmlZdkM7SWVyWUEsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0Vmb1l2QztJZXhZQSxhQUFzQztJQUl0QyxjQUF1QyxFQUFBO0VmdVl2QztJZTNZQSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RWYwWXZDO0llOVlBLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFZjZZdkM7SWVqWkEsYUFBc0M7SUFJdEMsY0FBdUMsRUFBQTtFZmdadkM7SWVwWkEsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VmbVp2QztJZXZaQSxtQkFBc0M7SUFJdEMsb0JBQXVDLEVBQUE7RWZzWnZDO0llMVpBLGFBQXNDO0lBSXRDLGNBQXVDLEVBQUE7RWZ5WnZDO0llN1pBLG1CQUFzQztJQUl0QyxvQkFBdUMsRUFBQTtFZjRadkM7SWVoYUEsbUJBQXNDO0lBSXRDLG9CQUF1QyxFQUFBO0VmK1p2QztJZW5hQSxjQUFzQztJQUl0QyxlQUF1QyxFQUFBO0Vma2F2QztJa0JuWjRCLFNBQVMsRUFBQTtFbEJxWnJDO0lrQm5aMkIsU1htS0csRUFBQTtFUGtQOUI7SWtCbFo4QixRQURaLEVBQUE7RWxCcVpsQjtJa0JwWjhCLFFBRFosRUFBQTtFbEJ1WmxCO0lrQnRaOEIsUUFEWixFQUFBO0VsQnlabEI7SWtCeFo4QixRQURaLEVBQUE7RWxCMlpsQjtJa0IxWjhCLFFBRFosRUFBQTtFbEI2WmxCO0lrQjVaOEIsUUFEWixFQUFBO0VsQitabEI7SWtCOVo4QixRQURaLEVBQUE7RWxCaWFsQjtJa0JoYThCLFFBRFosRUFBQTtFbEJtYWxCO0lrQmxhOEIsUUFEWixFQUFBO0VsQnFhbEI7SWtCcGE4QixRQURaLEVBQUE7RWxCdWFsQjtJa0J0YThCLFNBRFosRUFBQTtFbEJ5YWxCO0lrQnhhOEIsU0FEWixFQUFBO0VsQjJhbEI7SWtCMWE4QixTQURaLEVBQUE7RWxCNmFsQjtJZXJiQSxxQkFBOEMsRUFBQTtFZnViOUM7SWV2YkEsc0JBQThDLEVBQUE7RWZ5YjlDO0llemJBLGdCQUE4QyxFQUFBO0VmMmI5QztJZTNiQSxzQkFBOEMsRUFBQTtFZjZiOUM7SWU3YkEsc0JBQThDLEVBQUE7RWYrYjlDO0llL2JBLGdCQUE4QyxFQUFBO0VmaWM5QztJZWpjQSxzQkFBOEMsRUFBQTtFZm1jOUM7SWVuY0Esc0JBQThDLEVBQUE7RWZxYzlDO0llcmNBLGdCQUE4QyxFQUFBO0VmdWM5QztJZXZjQSxzQkFBOEMsRUFBQTtFZnljOUM7SWV6Y0Esc0JBQThDLEVBQUE7RUNLNUM7SWhCdWNBO01rQmplSSxhQUFhO01BQ2IsWUFBWTtNQUNaLGVBQWUsRUFBQTtJbEJtZW5CO01ldGNBLGNBQXVCO01BQ3ZCLGVBQXdCLEVBQUE7SWZ3Y3hCO01lemNBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWYyY3hCO01lNWNBLG1CQUF1QjtNQUN2QixvQkFBd0IsRUFBQTtJZjhjeEI7TWUvY0EsYUFBdUI7TUFDdkIsY0FBd0IsRUFBQTtJZmlkeEI7TWVsZEEsYUFBdUI7TUFDdkIsY0FBd0IsRUFBQTtJZm9keEI7TWVyZEEsbUJBQXVCO01BQ3ZCLG9CQUF3QixFQUFBO0lmdWR4QjtNZXplRixjQUFjO01BQ2QsV0FBVztNQUNYLGVBQWUsRUFBQTtJZjJlYjtNZXJmRixrQkFBc0M7TUFJdEMsbUJBQXVDLEVBQUE7SWZvZnJDO01leGZGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZnVmckM7TWUzZkYsYUFBc0M7TUFJdEMsY0FBdUMsRUFBQTtJZjBmckM7TWU5ZkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmNmZyQztNZWpnQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmZ2dCckM7TWVwZ0JGLGFBQXNDO01BSXRDLGNBQXVDLEVBQUE7SWZtZ0JyQztNZXZnQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmc2dCckM7TWUxZ0JGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZnlnQnJDO01lN2dCRixhQUFzQztNQUl0QyxjQUF1QyxFQUFBO0lmNGdCckM7TWVoaEJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZitnQnJDO01lbmhCRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWZraEJyQztNZXRoQkYsY0FBc0M7TUFJdEMsZUFBdUMsRUFBQTtJZnFoQnJDO01rQnRnQjBCLFNBQVMsRUFBQTtJbEJ3Z0JuQztNa0J0Z0J5QixTWG1LRyxFQUFBO0lQcVc1QjtNa0JyZ0I0QixRQURaLEVBQUE7SWxCd2dCaEI7TWtCdmdCNEIsUUFEWixFQUFBO0lsQjBnQmhCO01rQnpnQjRCLFFBRFosRUFBQTtJbEI0Z0JoQjtNa0IzZ0I0QixRQURaLEVBQUE7SWxCOGdCaEI7TWtCN2dCNEIsUUFEWixFQUFBO0lsQmdoQmhCO01rQi9nQjRCLFFBRFosRUFBQTtJbEJraEJoQjtNa0JqaEI0QixRQURaLEVBQUE7SWxCb2hCaEI7TWtCbmhCNEIsUUFEWixFQUFBO0lsQnNoQmhCO01rQnJoQjRCLFFBRFosRUFBQTtJbEJ3aEJoQjtNa0J2aEI0QixRQURaLEVBQUE7SWxCMGhCaEI7TWtCemhCNEIsU0FEWixFQUFBO0lsQjRoQmhCO01rQjNoQjRCLFNBRFosRUFBQTtJbEI4aEJoQjtNa0I3aEI0QixTQURaLEVBQUE7SWxCZ2lCaEI7TWV4aUJGLGNBQTRCLEVBQUE7SWYwaUIxQjtNZTFpQkYscUJBQThDLEVBQUE7SWY0aUI1QztNZTVpQkYsc0JBQThDLEVBQUE7SWY4aUI1QztNZTlpQkYsZ0JBQThDLEVBQUE7SWZnakI1QztNZWhqQkYsc0JBQThDLEVBQUE7SWZrakI1QztNZWxqQkYsc0JBQThDLEVBQUE7SWZvakI1QztNZXBqQkYsZ0JBQThDLEVBQUE7SWZzakI1QztNZXRqQkYsc0JBQThDLEVBQUE7SWZ3akI1QztNZXhqQkYsc0JBQThDLEVBQUE7SWYwakI1QztNZTFqQkYsZ0JBQThDLEVBQUE7SWY0akI1QztNZTVqQkYsc0JBQThDLEVBQUE7SWY4akI1QztNZTlqQkYsc0JBQThDLEVBQUEsRUdrQm5DO0VGYlQ7SWhCNGpCQTtNa0J0bEJJLGFBQWE7TUFDYixZQUFZO01BQ1osZUFBZSxFQUFBO0lsQndsQm5CO01lM2pCQSxjQUF1QjtNQUN2QixlQUF3QixFQUFBO0lmNmpCeEI7TWU5akJBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWZna0J4QjtNZWprQkEsbUJBQXVCO01BQ3ZCLG9CQUF3QixFQUFBO0lmbWtCeEI7TWVwa0JBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWZza0J4QjtNZXZrQkEsYUFBdUI7TUFDdkIsY0FBd0IsRUFBQTtJZnlrQnhCO01lMWtCQSxtQkFBdUI7TUFDdkIsb0JBQXdCLEVBQUE7SWY0a0J4QjtNZTlsQkYsY0FBYztNQUNkLFdBQVc7TUFDWCxlQUFlLEVBQUE7SWZnbUJiO01lMW1CRixrQkFBc0M7TUFJdEMsbUJBQXVDLEVBQUE7SWZ5bUJyQztNZTdtQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmNG1CckM7TWVobkJGLGFBQXNDO01BSXRDLGNBQXVDLEVBQUE7SWYrbUJyQztNZW5uQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lma25CckM7TWV0bkJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZnFuQnJDO01lem5CRixhQUFzQztNQUl0QyxjQUF1QyxFQUFBO0lmd25CckM7TWU1bkJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZjJuQnJDO01lL25CRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWY4bkJyQztNZWxvQkYsYUFBc0M7TUFJdEMsY0FBdUMsRUFBQTtJZmlvQnJDO01lcm9CRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWZvb0JyQztNZXhvQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmdW9CckM7TWUzb0JGLGNBQXNDO01BSXRDLGVBQXVDLEVBQUE7SWYwb0JyQztNa0IzbkIwQixTQUFTLEVBQUE7SWxCNm5CbkM7TWtCM25CeUIsU1htS0csRUFBQTtJUDBkNUI7TWtCMW5CNEIsUUFEWixFQUFBO0lsQjZuQmhCO01rQjVuQjRCLFFBRFosRUFBQTtJbEIrbkJoQjtNa0I5bkI0QixRQURaLEVBQUE7SWxCaW9CaEI7TWtCaG9CNEIsUUFEWixFQUFBO0lsQm1vQmhCO01rQmxvQjRCLFFBRFosRUFBQTtJbEJxb0JoQjtNa0Jwb0I0QixRQURaLEVBQUE7SWxCdW9CaEI7TWtCdG9CNEIsUUFEWixFQUFBO0lsQnlvQmhCO01rQnhvQjRCLFFBRFosRUFBQTtJbEIyb0JoQjtNa0Ixb0I0QixRQURaLEVBQUE7SWxCNm9CaEI7TWtCNW9CNEIsUUFEWixFQUFBO0lsQitvQmhCO01rQjlvQjRCLFNBRFosRUFBQTtJbEJpcEJoQjtNa0JocEI0QixTQURaLEVBQUE7SWxCbXBCaEI7TWtCbHBCNEIsU0FEWixFQUFBO0lsQnFwQmhCO01lN3BCRixjQUE0QixFQUFBO0lmK3BCMUI7TWUvcEJGLHFCQUE4QyxFQUFBO0lmaXFCNUM7TWVqcUJGLHNCQUE4QyxFQUFBO0lmbXFCNUM7TWVucUJGLGdCQUE4QyxFQUFBO0lmcXFCNUM7TWVycUJGLHNCQUE4QyxFQUFBO0lmdXFCNUM7TWV2cUJGLHNCQUE4QyxFQUFBO0lmeXFCNUM7TWV6cUJGLGdCQUE4QyxFQUFBO0lmMnFCNUM7TWUzcUJGLHNCQUE4QyxFQUFBO0lmNnFCNUM7TWU3cUJGLHNCQUE4QyxFQUFBO0lmK3FCNUM7TWUvcUJGLGdCQUE4QyxFQUFBO0lmaXJCNUM7TWVqckJGLHNCQUE4QyxFQUFBO0lmbXJCNUM7TWVuckJGLHNCQUE4QyxFQUFBLEVHa0JuQztFRmJUO0loQmlyQkE7TWtCM3NCSSxhQUFhO01BQ2IsWUFBWTtNQUNaLGVBQWUsRUFBQTtJbEI2c0JuQjtNZWhyQkEsY0FBdUI7TUFDdkIsZUFBd0IsRUFBQTtJZmtyQnhCO01lbnJCQSxhQUF1QjtNQUN2QixjQUF3QixFQUFBO0lmcXJCeEI7TWV0ckJBLG1CQUF1QjtNQUN2QixvQkFBd0IsRUFBQTtJZndyQnhCO01lenJCQSxhQUF1QjtNQUN2QixjQUF3QixFQUFBO0lmMnJCeEI7TWU1ckJBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWY4ckJ4QjtNZS9yQkEsbUJBQXVCO01BQ3ZCLG9CQUF3QixFQUFBO0lmaXNCeEI7TWVudEJGLGNBQWM7TUFDZCxXQUFXO01BQ1gsZUFBZSxFQUFBO0lmcXRCYjtNZS90QkYsa0JBQXNDO01BSXRDLG1CQUF1QyxFQUFBO0lmOHRCckM7TWVsdUJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZml1QnJDO01lcnVCRixhQUFzQztNQUl0QyxjQUF1QyxFQUFBO0lmb3VCckM7TWV4dUJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZnV1QnJDO01lM3VCRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWYwdUJyQztNZTl1QkYsYUFBc0M7TUFJdEMsY0FBdUMsRUFBQTtJZjZ1QnJDO01lanZCRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWZndkJyQztNZXB2QkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmbXZCckM7TWV2dkJGLGFBQXNDO01BSXRDLGNBQXVDLEVBQUE7SWZzdkJyQztNZTF2QkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmeXZCckM7TWU3dkJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZjR2QnJDO01laHdCRixjQUFzQztNQUl0QyxlQUF1QyxFQUFBO0lmK3ZCckM7TWtCaHZCMEIsU0FBUyxFQUFBO0lsQmt2Qm5DO01rQmh2QnlCLFNYbUtHLEVBQUE7SVAra0I1QjtNa0IvdUI0QixRQURaLEVBQUE7SWxCa3ZCaEI7TWtCanZCNEIsUUFEWixFQUFBO0lsQm92QmhCO01rQm52QjRCLFFBRFosRUFBQTtJbEJzdkJoQjtNa0JydkI0QixRQURaLEVBQUE7SWxCd3ZCaEI7TWtCdnZCNEIsUUFEWixFQUFBO0lsQjB2QmhCO01rQnp2QjRCLFFBRFosRUFBQTtJbEI0dkJoQjtNa0IzdkI0QixRQURaLEVBQUE7SWxCOHZCaEI7TWtCN3ZCNEIsUUFEWixFQUFBO0lsQmd3QmhCO01rQi92QjRCLFFBRFosRUFBQTtJbEJrd0JoQjtNa0Jqd0I0QixRQURaLEVBQUE7SWxCb3dCaEI7TWtCbndCNEIsU0FEWixFQUFBO0lsQnN3QmhCO01rQnJ3QjRCLFNBRFosRUFBQTtJbEJ3d0JoQjtNa0J2d0I0QixTQURaLEVBQUE7SWxCMHdCaEI7TWVseEJGLGNBQTRCLEVBQUE7SWZveEIxQjtNZXB4QkYscUJBQThDLEVBQUE7SWZzeEI1QztNZXR4QkYsc0JBQThDLEVBQUE7SWZ3eEI1QztNZXh4QkYsZ0JBQThDLEVBQUE7SWYweEI1QztNZTF4QkYsc0JBQThDLEVBQUE7SWY0eEI1QztNZTV4QkYsc0JBQThDLEVBQUE7SWY4eEI1QztNZTl4QkYsZ0JBQThDLEVBQUE7SWZneUI1QztNZWh5QkYsc0JBQThDLEVBQUE7SWZreUI1QztNZWx5QkYsc0JBQThDLEVBQUE7SWZveUI1QztNZXB5QkYsZ0JBQThDLEVBQUE7SWZzeUI1QztNZXR5QkYsc0JBQThDLEVBQUE7SWZ3eUI1QztNZXh5QkYsc0JBQThDLEVBQUEsRUdrQm5DO0VGYlQ7SWhCc3lCQTtNa0JoMEJJLGFBQWE7TUFDYixZQUFZO01BQ1osZUFBZSxFQUFBO0lsQmswQm5CO01lcnlCQSxjQUF1QjtNQUN2QixlQUF3QixFQUFBO0lmdXlCeEI7TWV4eUJBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWYweUJ4QjtNZTN5QkEsbUJBQXVCO01BQ3ZCLG9CQUF3QixFQUFBO0lmNnlCeEI7TWU5eUJBLGFBQXVCO01BQ3ZCLGNBQXdCLEVBQUE7SWZnekJ4QjtNZWp6QkEsYUFBdUI7TUFDdkIsY0FBd0IsRUFBQTtJZm16QnhCO01lcHpCQSxtQkFBdUI7TUFDdkIsb0JBQXdCLEVBQUE7SWZzekJ4QjtNZXgwQkYsY0FBYztNQUNkLFdBQVc7TUFDWCxlQUFlLEVBQUE7SWYwMEJiO01lcDFCRixrQkFBc0M7TUFJdEMsbUJBQXVDLEVBQUE7SWZtMUJyQztNZXYxQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmczFCckM7TWUxMUJGLGFBQXNDO01BSXRDLGNBQXVDLEVBQUE7SWZ5MUJyQztNZTcxQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmNDFCckM7TWVoMkJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZisxQnJDO01lbjJCRixhQUFzQztNQUl0QyxjQUF1QyxFQUFBO0lmazJCckM7TWV0MkJGLG1CQUFzQztNQUl0QyxvQkFBdUMsRUFBQTtJZnEyQnJDO01lejJCRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWZ3MkJyQztNZTUyQkYsYUFBc0M7TUFJdEMsY0FBdUMsRUFBQTtJZjIyQnJDO01lLzJCRixtQkFBc0M7TUFJdEMsb0JBQXVDLEVBQUE7SWY4MkJyQztNZWwzQkYsbUJBQXNDO01BSXRDLG9CQUF1QyxFQUFBO0lmaTNCckM7TWVyM0JGLGNBQXNDO01BSXRDLGVBQXVDLEVBQUE7SWZvM0JyQztNa0JyMkIwQixTQUFTLEVBQUE7SWxCdTJCbkM7TWtCcjJCeUIsU1htS0csRUFBQTtJUG9zQjVCO01rQnAyQjRCLFFBRFosRUFBQTtJbEJ1MkJoQjtNa0J0MkI0QixRQURaLEVBQUE7SWxCeTJCaEI7TWtCeDJCNEIsUUFEWixFQUFBO0lsQjIyQmhCO01rQjEyQjRCLFFBRFosRUFBQTtJbEI2MkJoQjtNa0I1MkI0QixRQURaLEVBQUE7SWxCKzJCaEI7TWtCOTJCNEIsUUFEWixFQUFBO0lsQmkzQmhCO01rQmgzQjRCLFFBRFosRUFBQTtJbEJtM0JoQjtNa0JsM0I0QixRQURaLEVBQUE7SWxCcTNCaEI7TWtCcDNCNEIsUUFEWixFQUFBO0lsQnUzQmhCO01rQnQzQjRCLFFBRFosRUFBQTtJbEJ5M0JoQjtNa0J4M0I0QixTQURaLEVBQUE7SWxCMjNCaEI7TWtCMTNCNEIsU0FEWixFQUFBO0lsQjYzQmhCO01rQjUzQjRCLFNBRFosRUFBQTtJbEIrM0JoQjtNZXY0QkYsY0FBNEIsRUFBQTtJZnk0QjFCO01lejRCRixxQkFBOEMsRUFBQTtJZjI0QjVDO01lMzRCRixzQkFBOEMsRUFBQTtJZjY0QjVDO01lNzRCRixnQkFBOEMsRUFBQTtJZis0QjVDO01lLzRCRixzQkFBOEMsRUFBQTtJZmk1QjVDO01lajVCRixzQkFBOEMsRUFBQTtJZm01QjVDO01lbjVCRixnQkFBOEMsRUFBQTtJZnE1QjVDO01lcjVCRixzQkFBOEMsRUFBQTtJZnU1QjVDO01ldjVCRixzQkFBOEMsRUFBQTtJZnk1QjVDO01lejVCRixnQkFBOEMsRUFBQTtJZjI1QjVDO01lMzVCRixzQkFBOEMsRUFBQTtJZjY1QjVDO01lNzVCRixzQkFBOEMsRUFBQSxFR2tCbkM7RWxCNjRCWDtJbUJqOUJBLFdBQVc7SUFDWCxtQlppSVc7SVloSVgsY2pCbUNtQixFQUFBO0lGZzdCakI7O01tQjk4QkEsZ0Jaa1ZnQztNWWpWaEMsbUJBQW1CO01BQ25CLDZCakJIYyxFQUFBO0lGbzlCZDtNbUI3OEJBLHNCQUFzQjtNQUN0QixnQ2pCUmMsRUFBQTtJRnU5QmQ7TW1CMzhCQSw2QmpCWmMsRUFBQTtFRnk5QmhCOztJbUJqOEJFLGVaNFQrQixFQUFBO0VQd29CakM7SW1CMTdCQSx5QmpCbENnQixFQUFBO0lGODlCZDs7TW1CeDdCQSx5QmpCdENjLEVBQUE7SUZpK0JkOztNbUJyN0JFLHdCQUE0QyxFQUFBO0VuQnc3QmhEOzs7O0ltQjk2QkUsU0FBUyxFQUFBO0VuQm03Qlg7SW1CejZCRSxxQ1oxRFcsRUFBQTtFUHErQmI7SW1CLzVCSSxjakI3Q2U7SWlCOENmLHNDWnZFUyxFQUFBO0VQdytCYjs7O0lvQmgvQkkseUJDNkY0RCxFQUFBO0VyQnU1QmhFOzs7O0lvQjUrQk0scUJDcUYwRCxFQUFBO0VyQjQ1QmhFO0lvQnIrQk0seUJBSnNDLEVBQUE7SXBCMitCMUM7O01vQm4rQk0seUJBUm9DLEVBQUE7RXBCOCtCNUM7OztJb0I5L0JJLHlCQzZGNEQsRUFBQTtFckJxNkJoRTs7OztJb0IxL0JNLHFCQ3FGMEQsRUFBQTtFckIwNkJoRTtJb0JuL0JNLHlCQUpzQyxFQUFBO0lwQnkvQjFDOztNb0JqL0JNLHlCQVJvQyxFQUFBO0VwQjQvQjVDOzs7SW9CNWdDSSx5QkM2RjRELEVBQUE7RXJCbTdCaEU7Ozs7SW9CeGdDTSxxQkNxRjBELEVBQUE7RXJCdzdCaEU7SW9CamdDTSx5QkFKc0MsRUFBQTtJcEJ1Z0MxQzs7TW9CLy9CTSx5QkFSb0MsRUFBQTtFcEIwZ0M1Qzs7O0lvQjFoQ0kseUJDNkY0RCxFQUFBO0VyQmk4QmhFOzs7O0lvQnRoQ00scUJDcUYwRCxFQUFBO0VyQnM4QmhFO0lvQi9nQ00seUJBSnNDLEVBQUE7SXBCcWhDMUM7O01vQjdnQ00seUJBUm9DLEVBQUE7RXBCd2hDNUM7OztJb0J4aUNJLHlCQzZGNEQsRUFBQTtFckIrOEJoRTs7OztJb0JwaUNNLHFCQ3FGMEQsRUFBQTtFckJvOUJoRTtJb0I3aENNLHlCQUpzQyxFQUFBO0lwQm1pQzFDOztNb0IzaENNLHlCQVJvQyxFQUFBO0VwQnNpQzVDOzs7SW9CdGpDSSx5QkM2RjRELEVBQUE7RXJCNjlCaEU7Ozs7SW9CbGpDTSxxQkNxRjBELEVBQUE7RXJCaytCaEU7SW9CM2lDTSx5QkFKc0MsRUFBQTtJcEJpakMxQzs7TW9CemlDTSx5QkFSb0MsRUFBQTtFcEJvakM1Qzs7O0lvQnBrQ0kseUJDNkY0RCxFQUFBO0VyQjIrQmhFOzs7O0lvQmhrQ00scUJDcUYwRCxFQUFBO0VyQmcvQmhFO0lvQnpqQ00seUJBSnNDLEVBQUE7SXBCK2pDMUM7O01vQnZqQ00seUJBUm9DLEVBQUE7RXBCa2tDNUM7OztJb0JsbENJLHlCQzZGNEQsRUFBQTtFckJ5L0JoRTs7OztJb0I5a0NNLHFCQ3FGMEQsRUFBQTtFckI4L0JoRTtJb0J2a0NNLHlCQUpzQyxFQUFBO0lwQjZrQzFDOztNb0Jya0NNLHlCQVJvQyxFQUFBO0VwQmdsQzVDOzs7SW9CaG1DSSxzQ2JRUyxFQUFBO0VQNGxDYjtJb0JobENNLHNDQUpzQyxFQUFBO0lwQnNsQzFDOztNb0I5a0NNLHNDQVJvQyxFQUFBO0VwQnlsQzVDO0ltQmhnQ0ksY2pCNUdZO0lpQjZHWix5QlpwR1k7SVlxR1oscUJaK1BxRCxFQUFBO0VQbXdCekQ7SW1CNS9CSSxjWjVHWTtJWTZHWix5QlpsSFk7SVltSFoscUJqQmpIWSxFQUFBO0VGK21DaEI7SW1CeC9CQSxjakI1SGdCO0lpQjZIaEIseUJacEhnQixFQUFBO0lQOG1DZDs7O01tQnIvQkEscUJaMk91RCxFQUFBO0lQOHdCdkQ7TW1Cci9CQSxTQUFTLEVBQUE7SW5CdS9CVDtNbUJsL0JFLDJDWjFJUyxFQUFBO0lQOG5DWDtNbUI3K0JJLFdaakpPO01Za0pQLDRDWmxKTyxFQUFBO0VTa0VYO0loQmdrQ0E7TW1CNzlCSSxjQUFjO01BQ2QsV0FBVztNQUNYLGdCQUFnQjtNQUNoQixpQ0FBaUMsRUFBQTtNbkIrOUJuQztRbUIzOUJJLFNBQVMsRUFBQSxFQUNWO0VIM0dMO0loQndrQ0E7TW1CcitCSSxjQUFjO01BQ2QsV0FBVztNQUNYLGdCQUFnQjtNQUNoQixpQ0FBaUMsRUFBQTtNbkJ1K0JuQztRbUJuK0JJLFNBQVMsRUFBQSxFQUNWO0VIM0dMO0loQmdsQ0E7TW1CNytCSSxjQUFjO01BQ2QsV0FBVztNQUNYLGdCQUFnQjtNQUNoQixpQ0FBaUMsRUFBQTtNbkIrK0JuQztRbUIzK0JJLFNBQVMsRUFBQSxFQUNWO0VIM0dMO0loQndsQ0E7TW1Cci9CSSxjQUFjO01BQ2QsV0FBVztNQUNYLGdCQUFnQjtNQUNoQixpQ0FBaUMsRUFBQTtNbkJ1L0JuQztRbUJuL0JJLFNBQVMsRUFBQSxFQUNWO0VuQm8vQlA7SW1CNS9CTSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJbkI4L0JyQztNbUIxL0JNLFNBQVMsRUFBQTtFbkI0L0JqQjs7O0lzQnRxQ1UsY3BCR00sRUFBQTtFRnVxQ2hCO0lzQi9wQ2MsY3BCUkUsRUFBQTtJRnlxQ2Q7O01zQjdwQ2dCLGNwQlpGLEVBQUE7RUY0cUNoQjs7O0lzQi9xQ1UsY3BCR00sRUFBQTtFRmdyQ2hCO0lzQnhxQ2MsY3BCUkUsRUFBQTtJRmtyQ2Q7O01zQnRxQ2dCLGNwQlpGLEVBQUE7RUZxckNoQjs7O0lzQnhyQ1UsY3BCR00sRUFBQTtFRnlyQ2hCO0lzQmpyQ2MsY3BCUkUsRUFBQTtJRjJyQ2Q7O01zQi9xQ2dCLGNwQlpGLEVBQUE7RUY4ckNoQjs7O0lzQmpzQ1UsY3BCR00sRUFBQTtFRmtzQ2hCO0lzQjFyQ2MsY3BCUkUsRUFBQTtJRm9zQ2Q7O01zQnhyQ2dCLGNwQlpGLEVBQUE7RUZ1c0NoQjs7O0lzQjFzQ1UsY3BCR00sRUFBQTtFRjJzQ2hCO0lzQm5zQ2MsY3BCUkUsRUFBQTtJRjZzQ2Q7O01zQmpzQ2dCLGNwQlpGLEVBQUE7RUZndENoQjs7O0lzQm50Q1UsY3BCR00sRUFBQTtFRm90Q2hCO0lzQjVzQ2MsY3BCUkUsRUFBQTtJRnN0Q2Q7O01zQjFzQ2dCLGNwQlpGLEVBQUE7RUZ5dENoQjs7O0lzQjV0Q1UsY3BCR00sRUFBQTtFRjZ0Q2hCO0lzQnJ0Q2MsY3BCUkUsRUFBQTtJRit0Q2Q7O01zQm50Q2dCLGNwQlpGLEVBQUE7RUZrdUNoQjs7O0lzQnJ1Q1UsY3BCR00sRUFBQTtFRnN1Q2hCO0lzQjl0Q2MsY3BCUkUsRUFBQTtJRnd1Q2Q7O01zQjV0Q2dCLGNwQlpGLEVBQUE7RUYydUNoQjs7O0lzQjl1Q1UsY3BCRk0sRUFBQTtFRm92Q2hCO0lzQnZ1Q2MsY3BCYkUsRUFBQTtJRnN2Q2Q7O01zQnJ1Q2dCLGNwQmpCRixFQUFBO0VGeXZDaEI7SXVCcHZDRSxjckJOYyxFQUFBO0VGNHZDaEI7SXdCM3ZDQSxjQUFjO0lBQ2QsV0FBVztJQUNYLG1DSDhHOEQ7SUc3RzlELHlCakJ3WGtDO0lEblE5QixrQkF0Q1k7SWtCNUVoQixnQmpCa1IrQjtJaUJqUi9CLGdCakJzUitCO0lpQnJSL0IsY3RCVGdCO0lzQlVoQixzQnRCSGE7SXNCSWIsNEJBQTRCO0lBQzVCLHlCdEJUZ0I7SVVTZCxzQkw2TmdDO0lNL045QixzRFhiUztJdUJhVCx3RWxCc2U0RixFQUFBO0lrQmxlNUY7TXpCOHZDQTtReUI3dkNFLGdCQUFnQixFQUFBLEVEc0N2QjtJeEJ5dENHO013Qnh2Q0EsNkJBQTZCO01BQzdCLFNBQVMsRUFBQTtJeEIwdkNUO013QnJ2Q0Esa0JBQWtCO01BQ2xCLDBCdEI3QmMsRUFBQTtJRm94Q2Q7TTBCNXdDQSxjeEJSYztNd0JTZCx5QnhCMEJpQjtNd0J6QmpCLHFCeEJvRnNFO013Qm5GdEUsVUFBVTtNYkRSLDRGWlZrQixFQUFBO0lEMHhDcEI7TXdCcnZDQSxjakI5QmM7TWlCZ0NkLFVBQVUsRUFBQTtJeEJtdkNWO013QnJ2Q0EsY2pCOUJjO01pQmdDZCxVQUFVLEVBQUE7SXhCbXZDVjtNd0JydkNBLGNqQjlCYztNaUJnQ2QsVUFBVSxFQUFBO0l4Qm12Q1Y7TXdCcnZDQSxjakI5QmM7TWlCZ0NkLFVBQVUsRUFBQTtJeEJzdkNWO013QjV1Q0EseUJ0QjVDYztNc0I4Q2QsVUFBVSxFQUFBO0V4QjZ1Q1o7Ozs7SXdCcHVDRSx3QkFBZ0I7T0FBaEIscUJBQWdCO1lBQWhCLGdCQUFnQixFQUFBO0V4Qnl1Q2xCO0l3Qjl0Q0UsY3RCdkVjO0lzQndFZCxzQnRCakVXLEVBQUE7RUZpeUNiOztJd0J6dENBLGNBQWM7SUFDZCxXQUFXLEVBQUE7RXhCNHRDWDtJd0JqdENBLGlDSHNCOEQ7SUdyQjlELG9DSHFCOEQ7SUdwQjlELGdCQUFnQjtJbEIzQmQsa0JBQVc7SWtCNkJiLGdCakIrTCtCLEVBQUE7RVBvaEMvQjtJd0Ivc0NBLCtCSGM4RDtJR2I5RCxrQ0hhOEQ7SWZRMUQsb0JBdENZO0lrQm1CaEIsZ0JqQjZIK0IsRUFBQTtFUG9sQy9CO0l3QjdzQ0EsZ0NITzhEO0lHTjlELG1DSE04RDtJZlExRCxxQkF0Q1k7SWtCMEJoQixnQmpCdUgrQixFQUFBO0VQd2xDL0I7SXdCcnNDQSxjQUFjO0lBQ2QsV0FBVztJQUNYLG1CQUEyQjtJQUMzQixnQkFBZ0I7SWxCRFosa0JBdENZO0lrQnlDaEIsZ0JqQmtLK0I7SWlCaksvQixjakJuSGdCO0lpQm9IaEIsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixtQkFBbUMsRUFBQTtJeEJ1c0NqQztNd0Juc0NBLGdCQUFnQjtNQUNoQixlQUFlLEVBQUE7RXhCcXNDakI7SXdCeHJDQSxrQ0hqQzhEO0lHa0M5RCx1QmpCbVBpQztJRDdRN0IscUJBdENZO0lrQmtFaEIsZ0JqQitFK0I7SUt4TjdCLHFCTCtOK0IsRUFBQTtFUHFtQ2pDO0l3QnRyQ0EsZ0NIekM4RDtJRzBDOUQsb0JqQmdQZ0M7SURsUjVCLG9CQXRDWTtJa0IwRWhCLGdCakJzRStCO0lLdk43QixxQkw4TitCLEVBQUE7RVA0bUNqQztJd0JqckNFLFlBQVksRUFBQTtFeEJtckNkO0l3QjlxQ0EsWUFBWSxFQUFBO0V4QmdyQ1o7SXdCdnFDQSxtQmpCeVUwQyxFQUFBO0VQZzJCMUM7SXdCcnFDQSxjQUFjO0lBQ2QsbUJqQjBUNEMsRUFBQTtFUDYyQjVDO0l3QjlwQ0EsYUFBYTtJQUNiLGVBQWU7SUFDZixrQkFBMEM7SUFDMUMsaUJBQXlDLEVBQUE7SXhCZ3FDdkM7O013QjVwQ0Esa0JBQTBDO01BQzFDLGlCQUF5QyxFQUFBO0V4QitwQzNDO0l3QnJwQ0Esa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxxQmpCK1I2QyxFQUFBO0VQdzNCN0M7SXdCbnBDQSxrQkFBa0I7SUFDbEIsa0JqQjJSMkM7SWlCMVIzQyxxQmpCeVI2QyxFQUFBO0lQNDNCM0M7O013QmhwQ0EsY2pCek5jLEVBQUE7RVA0MkNoQjtJd0I5b0NBLGdCQUFnQixFQUFBO0V4QmdwQ2hCO0l3QjVvQ0Esb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YscUJqQjRRNEMsRUFBQTtJUGs0QjFDO013QjFvQ0EsZ0JBQWdCO01BQ2hCLGFBQWE7TUFDYix1QmpCdVE0QztNaUJ0UTVDLGNBQWMsRUFBQTtFeEI0b0NoQjtJMEJ4MUNFLGFBQWE7SUFDYixXQUFXO0lBQ1gsbUJuQnljMEM7SURoYjFDLGNBQVc7SW9CdkJYLGN6Qi9Db0IsRUFBQTtFRHk0Q3RCO0kwQnQxQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxPQUFPO0lBQ1AsVUFBVTtJQUNWLGFBQWE7SUFDYixlQUFlO0lBQ2YsdUJuQjh4QnFDO0ltQjd4QnJDLGlCQUFpQjtJcEJtRWYscUJBdENZO0lvQjNCZCxnQm5Cc082QjtJbUJyTzdCLGN4QnhEYztJd0J5RGQsd0N6QjlEb0I7SVdnQnBCLHNCTDZOZ0MsRUFBQTtFbUIvTWhDOzs7SUF1Q0UsY0FBYyxFQUFBO0VBdkNoQjtJQTZDRSxxQnpCM0VrQjtJeUI4RWhCLG9DTHVDd0Q7SUt0Q3hELGlSTHZCMEU7SUt3QjFFLDRCQUE0QjtJQUM1QiwyREFBNkQ7SUFDN0QsZ0VMbUN3RCxFQUFBO0lLdkY1RDtNQXdESSxxQnpCdEZnQjtNeUJ1RmhCLGdEekJ2RmdCLEVBQUE7RXlCOEJwQjtJQWtFSSxvQ0xxQndEO0lLcEJ4RCxrRkxvQndELEVBQUE7RUt2RjVEO0lBMEVFLHFCekJ4R2tCO0l5QjJHaEIsdUNMVXdEO0lLVHhELHVqQkFBOEosRUFBQTtJQTlFbEs7TUFrRkkscUJ6QmhIZ0I7TXlCaUhoQixnRHpCakhnQixFQUFBO0V5QjhCcEI7SUEyRkksY3pCekhnQixFQUFBO0V5QjhCcEI7OztJQWdHSSxjQUFjLEVBQUE7RUFoR2xCO0lBd0dJLGN6QnRJZ0IsRUFBQTtJeUI4QnBCO01BMkdNLHFCekJ6SWMsRUFBQTtFeUI4QnBCO0lBaUhNLHFCQUFrQztJQzNJeEMseUJENEkrQyxFQUFBO0VBbEgvQztJQXdITSxnRHpCdEpjLEVBQUE7RXlCOEJwQjtJQTRITSxxQnpCMUpjLEVBQUE7RXlCOEJwQjtJQXNJSSxxQnpCcEtnQixFQUFBO0V5QjhCcEI7SUEySU0scUJ6QnpLYztJeUIwS2QsZ0R6QjFLYyxFQUFBO0VEcThDdEI7STBCMTVDRSxhQUFhO0lBQ2IsV0FBVztJQUNYLG1CbkJ5YzBDO0lEaGIxQyxjQUFXO0lvQnZCWCxjekI3Q21CLEVBQUE7RUR5OENyQjtJMEJ4NUNFLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsT0FBTztJQUNQLFVBQVU7SUFDVixhQUFhO0lBQ2IsZUFBZTtJQUNmLHVCbkI4eEJxQztJbUI3eEJyQyxpQkFBaUI7SXBCbUVmLHFCQXRDWTtJb0IzQmQsZ0JuQnNPNkI7SW1Cck83QixjeEJ4RGM7SXdCeURkLHdDekI1RG1CO0lXY25CLHNCTDZOZ0MsRUFBQTtFbUIvTWhDOzs7SUF1Q0UsY0FBYyxFQUFBO0VBdkNoQjtJQTZDRSxxQnpCekVpQjtJeUI0RWYsb0NMdUN3RDtJS3RDeEQsNFVMdkIwRTtJS3dCMUUsNEJBQTRCO0lBQzVCLDJEQUE2RDtJQUM3RCxnRUxtQ3dELEVBQUE7SUt2RjVEO01Bd0RJLHFCekJwRmU7TXlCcUZmLGdEekJyRmUsRUFBQTtFeUI0Qm5CO0lBa0VJLG9DTHFCd0Q7SUtwQnhELGtGTG9Cd0QsRUFBQTtFS3ZGNUQ7SUEwRUUscUJ6QnRHaUI7SXlCeUdmLHVDTFV3RDtJS1R4RCxrbkJBQThKLEVBQUE7SUE5RWxLO01Ba0ZJLHFCekI5R2U7TXlCK0dmLGdEekIvR2UsRUFBQTtFeUI0Qm5CO0lBMkZJLGN6QnZIZSxFQUFBO0V5QjRCbkI7OztJQWdHSSxjQUFjLEVBQUE7RUFoR2xCO0lBd0dJLGN6QnBJZSxFQUFBO0l5QjRCbkI7TUEyR00scUJ6QnZJYSxFQUFBO0V5QjRCbkI7SUFpSE0scUJBQWtDO0lDM0l4Qyx5QkQ0SStDLEVBQUE7RUFsSC9DO0lBd0hNLGdEekJwSmEsRUFBQTtFeUI0Qm5CO0lBNEhNLHFCekJ4SmEsRUFBQTtFeUI0Qm5CO0lBc0lJLHFCekJsS2UsRUFBQTtFeUI0Qm5CO0lBMklNLHFCekJ2S2E7SXlCd0tiLGdEekJ4S2EsRUFBQTtFRHFnRHJCO0l3QnR2Q0EsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUIsRUFBQTtJeEJ3dkNqQjtNd0JsdkNBLFdBQVcsRUFBQTtJUi9OWDtNaEJvOUNFO1F3Qi91Q0EsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsZ0JBQWdCLEVBQUE7TXhCaXZDaEI7UXdCNXVDQSxhQUFhO1FBQ2IsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsZ0JBQWdCLEVBQUE7TXhCOHVDaEI7UXdCenVDQSxxQkFBcUI7UUFDckIsV0FBVztRQUNYLHNCQUFzQixFQUFBO014QjJ1Q3RCO1F3QnR1Q0EscUJBQXFCLEVBQUE7TXhCd3VDckI7O1F3Qm51Q0EsV0FBVyxFQUFBO014QnN1Q1g7UXdCaHVDQSxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsZUFBZSxFQUFBO014Qmt1Q2Y7UXdCL3RDQSxrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixxQmpCOEt3QztRaUI3S3hDLGNBQWMsRUFBQTtNeEJpdUNkO1F3Qjd0Q0EsbUJBQW1CO1FBQ25CLHVCQUF1QixFQUFBO014Qit0Q3ZCO1F3QjV0Q0EsZ0JBQWdCLEVBQUEsRUFDakI7RXhCNnRDSDtJNEI5aURBLHFCQUFxQjtJQUVyQixnQnJCc1IrQjtJcUJyUi9CLGMxQmdDbUI7STBCL0JuQixrQkFBa0I7SUFHbEIsc0JBQXNCO0lBQ3RCLHlCQUFpQjtPQUFqQixzQkFBaUI7UUFBakIscUJBQWlCO1lBQWpCLGlCQUFpQjtJQUNqQiw2QkFBNkI7SUFDN0IsNkJBQTJDO0lDdUYzQyx5QnRCMFJrQztJRG5ROUIsa0JBdENZO0l1QmlCaEIsZ0J0QjBMK0I7SUtsUjdCLHNCTDZOZ0M7SWtCL045QixxSWxCK2E2SSxFQUFBO0lrQjNhN0k7TXpCZ2pEQTtReUIvaURFLGdCQUFnQixFQUFBLEVHOEJ2QjtJNUJtaERHO000QmhqREEsYzFCb0JpQjtNMEJuQmpCLHFCQUFxQixFQUFBO0k1QmtqRHJCO000QjdpREEsVUFBVTtNQUNWLGdEM0J2Qm9CLEVBQUE7SURza0RwQjtNNEJ6aURBLGFyQmdaNkI7TU1uYTNCLGdCZW9Cc0IsRUFBQTtJNUIyaUR4QjtNNEJ2aURBLGVBQXNELEVBQUE7TTVCeWlEcEQ7UWFqa0RBLGdETkNTLEVBQUE7UVBra0RQO1VhbmtERixzRk5DUyxFQUFBO0VQb2tEYjs7STRCN2hEQSxvQkFBb0IsRUFBQTtFNUJnaURwQjtJNkJsbERBLGMzQkNnQjtJeUJEZCx5QjFCQW9CO0k0QkV0QixxQjVCRnNCO0lZVWxCLG1GTkNTLEVBQUE7SVA0a0RYO002QmpsREEsYzNCTGM7TXlCRGQseUJFRG9GO01BU3BGLHFCQVR5SCxFQUFBO0k3QjRsRHpIO002QjlrREEsYzNCWmM7TXlCRGQseUJFRG9GO01BZ0JwRixxQkFoQnlIO01oQld2SCx5SGdCTzBHLEVBQUE7STdCK2tENUc7TTZCcmtEQSxjM0IxQmM7TTJCMkJkLHlCNUI1Qm9CO000QjZCcEIscUI1QjdCb0IsRUFBQTtJRG9tRHBCOztNNkI3akRBLGMzQnRDYztNMkJ1Q2QseUJBekN1SztNQTZDdksscUJBN0MrTSxFQUFBO003QjBtRDdNOztRYS9sREEsc0ZnQnNDbUgsRUFBQTtFN0I0akR2SDtJNkI1bURBLGMzQkNnQjtJeUJEZCx5QnBCT2M7SXNCTGhCLHFCdEJLZ0I7SU1HWixtRk5DUyxFQUFBO0lQc21EWDtNNkIzbURBLGMzQkxjO015QkRkLHlCRURvRjtNQVNwRixxQkFUeUgsRUFBQTtJN0JzbkR6SDtNNkJ4bURBLGMzQlpjO015QkRkLHlCRURvRjtNQWdCcEYscUJBaEJ5SDtNaEJXdkgsMEhnQk8wRyxFQUFBO0k3QnltRDVHO002Qi9sREEsYzNCMUJjO00yQjJCZCx5QnRCckJjO01zQnNCZCxxQnRCdEJjLEVBQUE7SVB1bkRkOztNNkJ2bERBLGMzQnRDYztNMkJ1Q2QseUJBekN1SztNQTZDdksscUJBN0MrTSxFQUFBO003Qm9vRDdNOztRYXpuREEsdUZnQnNDbUgsRUFBQTtFN0JzbER2SDtJNkJ0b0RBLGMzQkNnQjtJeUJEZCx5QjFCSm9CO0k0Qk10QixxQjVCTnNCO0lZY2xCLG1GTkNTLEVBQUE7SVBnb0RYO002QnJvREEsYzNCTGM7TXlCRGQseUJFRG9GO01BU3BGLHFCQVR5SCxFQUFBO0k3QmdwRHpIO002QmxvREEsYzNCWmM7TXlCRGQseUJFRG9GO01BZ0JwRixxQkFoQnlIO01oQld2SCx3SGdCTzBHLEVBQUE7STdCbW9ENUc7TTZCem5EQSxjM0IxQmM7TTJCMkJkLHlCNUJoQ29CO000QmlDcEIscUI1QmpDb0IsRUFBQTtJRDRwRHBCOztNNkJqbkRBLGMzQnRDYztNMkJ1Q2QseUJBekN1SztNQTZDdksscUJBN0MrTSxFQUFBO003QjhwRDdNOztRYW5wREEscUZnQnNDbUgsRUFBQTtFN0JnbkR2SDtJNkJocURBLGMzQkNnQjtJeUJEZCx5QjFCRGlCO0k0QkduQixxQjVCSG1CO0lZV2YsbUZOQ1MsRUFBQTtJUDBwRFg7TTZCL3BEQSxjM0JMYztNeUJEZCx5QkVEb0Y7TUFTcEYscUJBVHlILEVBQUE7STdCMHFEekg7TTZCNXBEQSxjM0JaYztNeUJEZCx5QkVEb0Y7TUFnQnBGLHFCQWhCeUg7TWhCV3ZILHlIZ0JPMEcsRUFBQTtJN0I2cEQ1RztNNkJucERBLGMzQjFCYztNMkIyQmQseUI1QjdCaUI7TTRCOEJqQixxQjVCOUJpQixFQUFBO0lEbXJEakI7O002QjNvREEsYzNCdENjO00yQnVDZCx5QkF6Q3VLO01BNkN2SyxxQkE3QytNLEVBQUE7TTdCd3JEN007O1FhN3FEQSxzRmdCc0NtSCxFQUFBO0U3QjBvRHZIO0k2QjFyREEsYzNCTWdCO0l5Qk5kLHlCMUJIb0I7STRCS3RCLHFCNUJMc0I7SVlhbEIsbUZOQ1MsRUFBQTtJUG9yRFg7TTZCenJEQSxjM0JBYztNeUJOZCx5QkVEb0Y7TUFTcEYscUJBVHlILEVBQUE7STdCb3NEekg7TTZCdHJEQSxjM0JQYztNeUJOZCx5QkVEb0Y7TUFnQnBGLHFCQWhCeUg7TWhCV3ZILDBIZ0JPMEcsRUFBQTtJN0J1ckQ1RztNNkI3cURBLGMzQnJCYztNMkJzQmQseUI1Qi9Cb0I7TTRCZ0NwQixxQjVCaENvQixFQUFBO0lEK3NEcEI7O002QnJxREEsYzNCakNjO00yQmtDZCx5QkF6Q3VLO01BNkN2SyxxQkE3QytNLEVBQUE7TTdCa3REN007O1FhdnNEQSx1RmdCc0NtSCxFQUFBO0U3Qm9xRHZIO0k2QnB0REEsYzNCQ2dCO0l5QkRkLHlCMUJGbUI7STRCSXJCLHFCNUJKcUI7SVlZakIsbUZOQ1MsRUFBQTtJUDhzRFg7TTZCbnREQSxjM0JMYztNeUJEZCx5QkVEb0Y7TUFTcEYscUJBVHlILEVBQUE7STdCOHREekg7TTZCaHREQSxjM0JaYztNeUJEZCx5QkVEb0Y7TUFnQnBGLHFCQWhCeUg7TWhCV3ZILHdIZ0JPMEcsRUFBQTtJN0JpdEQ1RztNNkJ2c0RBLGMzQjFCYztNMkIyQmQseUI1QjlCbUI7TTRCK0JuQixxQjVCL0JtQixFQUFBO0lEd3VEbkI7O002Qi9yREEsYzNCdENjO00yQnVDZCx5QkF6Q3VLO01BNkN2SyxxQkE3QytNLEVBQUE7TTdCNHVEN007O1FhanVEQSxxRmdCc0NtSCxFQUFBO0U3QjhyRHZIO0k2Qjl1REEsYzNCTWdCO0l5Qk5kLHlCcEJFYztJc0JBaEIscUJ0QkFnQjtJTVFaLG1GTkNTLEVBQUE7SVB3dURYO002Qjd1REEsYzNCQWM7TXlCTmQseUJFRG9GO01BU3BGLHFCQVR5SCxFQUFBO0k3Qnd2RHpIO002QjF1REEsYzNCUGM7TXlCTmQseUJFRG9GO01BZ0JwRixxQkFoQnlIO01oQld2SCwwSGdCTzBHLEVBQUE7STdCMnVENUc7TTZCanVEQSxjM0JyQmM7TTJCc0JkLHlCdEIxQmM7TXNCMkJkLHFCdEIzQmMsRUFBQTtJUDh2RGQ7O002Qnp0REEsYzNCakNjO00yQmtDZCx5QkF6Q3VLO01BNkN2SyxxQkE3QytNLEVBQUE7TTdCc3dEN007O1FhM3ZEQSx1RmdCc0NtSCxFQUFBO0U3Qnd0RHZIO0k2Qnh3REEsYzNCQ2dCO0l5QkRkLHlCcEJTYztJc0JQaEIscUJ0Qk9nQjtJTUNaLG1GTkNTLEVBQUE7SVBrd0RYO002QnZ3REEsYzNCTGM7TXlCRGQseUJFRG9GO01BU3BGLHFCQVR5SCxFQUFBO0k3Qmt4RHpIO002QnB3REEsYzNCWmM7TXlCRGQseUJFRG9GO01BZ0JwRixxQkFoQnlIO01oQld2SCx1SGdCTzBHLEVBQUE7STdCcXdENUc7TTZCM3ZEQSxjM0IxQmM7TTJCMkJkLHlCdEJuQmM7TXNCb0JkLHFCdEJwQmMsRUFBQTtJUGl4RGQ7O002Qm52REEsYzNCdENjO00yQnVDZCx5QkF6Q3VLO01BNkN2SyxxQkE3QytNLEVBQUE7TTdCZ3lEN007O1FhcnhEQSxvRmdCc0NtSCxFQUFBO0U3Qmt2RHZIO0k2Qnh1REEsYzVCMURzQjtJNEIyRHRCLHFCNUIzRHNCLEVBQUE7SURxeURwQjtNNkJ2dURBLGMzQjdEYztNMkI4RGQseUI1Qi9Eb0I7TTRCZ0VwQixxQjVCaEVvQixFQUFBO0lEeXlEcEI7TTZCcHVEQSwrQzVCckVvQixFQUFBO0lEMnlEcEI7TTZCanVEQSxjNUIxRW9CO000QjJFcEIsNkJBQTZCLEVBQUE7STdCbXVEN0I7O002Qjd0REEsYzNCaEZjO00yQmlGZCx5QjVCbEZvQjtNNEJtRnBCLHFCNUJuRm9CLEVBQUE7TURtekRsQjs7UWF6eURBLHFGWlZrQixFQUFBO0VEc3pEdEI7STZCNXZEQSxjdEJuRGdCO0lzQm9EaEIscUJ0QnBEZ0IsRUFBQTtJUGt6RGQ7TTZCM3ZEQSxjM0I3RGM7TTJCOERkLHlCdEJ4RGM7TXNCeURkLHFCdEJ6RGMsRUFBQTtJUHN6RGQ7TTZCeHZEQSxpRHRCOURjLEVBQUE7SVB3ekRkO002QnJ2REEsY3RCbkVjO01zQm9FZCw2QkFBNkIsRUFBQTtJN0J1dkQ3Qjs7TTZCanZEQSxjM0JoRmM7TTJCaUZkLHlCdEIzRWM7TXNCNEVkLHFCdEI1RWMsRUFBQTtNUGcwRFo7O1FhN3pEQSx1Rk5IWSxFQUFBO0VQbTBEaEI7STZCaHhEQSxjNUI5RHNCO0k0QitEdEIscUI1Qi9Ec0IsRUFBQTtJRGkxRHBCO002Qi93REEsYzNCN0RjO00yQjhEZCx5QjVCbkVvQjtNNEJvRXBCLHFCNUJwRW9CLEVBQUE7SURxMURwQjtNNkI1d0RBLCtDNUJ6RW9CLEVBQUE7SUR1MURwQjtNNkJ6d0RBLGM1QjlFb0I7TTRCK0VwQiw2QkFBNkIsRUFBQTtJN0Iyd0Q3Qjs7TTZCcndEQSxjM0JoRmM7TTJCaUZkLHlCNUJ0Rm9CO000QnVGcEIscUI1QnZGb0IsRUFBQTtNRCsxRGxCOztRYWoxREEscUZaZGtCLEVBQUE7RURrMkR0QjtJNkJweURBLGM1QjNEbUI7STRCNERuQixxQjVCNURtQixFQUFBO0lEazJEakI7TTZCbnlEQSxjM0I3RGM7TTJCOERkLHlCNUJoRWlCO000QmlFakIscUI1QmpFaUIsRUFBQTtJRHMyRGpCO002Qmh5REEsZ0Q1QnRFaUIsRUFBQTtJRHcyRGpCO002Qjd4REEsYzVCM0VpQjtNNEI0RWpCLDZCQUE2QixFQUFBO0k3Qit4RDdCOztNNkJ6eERBLGMzQmhGYztNMkJpRmQseUI1Qm5GaUI7TTRCb0ZqQixxQjVCcEZpQixFQUFBO01EZzNEZjs7UWFyMkRBLHNGWlhlLEVBQUE7RURtM0RuQjtJNkJ4ekRBLGM1QjdEc0I7STRCOER0QixxQjVCOURzQixFQUFBO0lEdzNEcEI7TTZCdnpEQSxjM0J4RGM7TTJCeURkLHlCNUJsRW9CO000Qm1FcEIscUI1Qm5Fb0IsRUFBQTtJRDQzRHBCO002QnB6REEsaUQ1QnhFb0IsRUFBQTtJRDgzRHBCO002Qmp6REEsYzVCN0VvQjtNNEI4RXBCLDZCQUE2QixFQUFBO0k3Qm16RDdCOztNNkI3eURBLGMzQjNFYztNMkI0RWQseUI1QnJGb0I7TTRCc0ZwQixxQjVCdEZvQixFQUFBO01EczREbEI7O1FhejNEQSx1Rlpia0IsRUFBQTtFRHk0RHRCO0k2QjUwREEsYzVCNURxQjtJNEI2RHJCLHFCNUI3RHFCLEVBQUE7SUQyNERuQjtNNkIzMERBLGMzQjdEYztNMkI4RGQseUI1QmpFbUI7TTRCa0VuQixxQjVCbEVtQixFQUFBO0lEKzREbkI7TTZCeDBEQSwrQzVCdkVtQixFQUFBO0lEaTVEbkI7TTZCcjBEQSxjNUI1RW1CO000QjZFbkIsNkJBQTZCLEVBQUE7STdCdTBEN0I7O002QmowREEsYzNCaEZjO00yQmlGZCx5QjVCcEZtQjtNNEJxRm5CLHFCNUJyRm1CLEVBQUE7TUR5NURqQjs7UWE3NERBLHFGWlppQixFQUFBO0VENDVEckI7STZCaDJEQSxjdEJ4RGdCO0lzQnlEaEIscUJ0QnpEZ0IsRUFBQTtJUDI1RGQ7TTZCLzFEQSxjM0J4RGM7TTJCeURkLHlCdEI3RGM7TXNCOERkLHFCdEI5RGMsRUFBQTtJUCs1RGQ7TTZCNTFEQSxpRHRCbkVjLEVBQUE7SVBpNkRkO002QnoxREEsY3RCeEVjO01zQnlFZCw2QkFBNkIsRUFBQTtJN0IyMUQ3Qjs7TTZCcjFEQSxjM0IzRWM7TTJCNEVkLHlCdEJoRmM7TXNCaUZkLHFCdEJqRmMsRUFBQTtNUHk2RFo7O1FhajZEQSx1Rk5SWSxFQUFBO0VQNDZEaEI7STZCcDNEQSxjdEJqRGdCO0lzQmtEaEIscUJ0QmxEZ0IsRUFBQTtJUHc2RGQ7TTZCbjNEQSxjM0I3RGM7TTJCOERkLHlCdEJ0RGM7TXNCdURkLHFCdEJ2RGMsRUFBQTtJUDQ2RGQ7TTZCaDNEQSw4Q3RCNURjLEVBQUE7SVA4NkRkO002QjcyREEsY3RCakVjO01zQmtFZCw2QkFBNkIsRUFBQTtJN0IrMkQ3Qjs7TTZCejJEQSxjM0JoRmM7TTJCaUZkLHlCdEJ6RWM7TXNCMEVkLHFCdEIxRWMsRUFBQTtNUHM3RFo7O1FhcjdEQSxvRk5EWSxFQUFBO0VQeTdEaEI7STRCcjNEQSxnQnJCNE0rQjtJcUIzTS9CLGMxQnJDa0Q7STBCc0NsRCxxQnJCMkY0QyxFQUFBO0lQNHhEMUM7TTRCcDNEQSxjMUJ2Q2dEO00wQndDaEQsMEJyQnlGK0MsRUFBQTtJUDZ4RC9DO000QmozREEsMEJyQm9GK0MsRUFBQTtJUCt4RC9DO000QjkyREEsY3JCdEZjO01xQnVGZCxvQkFBb0IsRUFBQTtFNUJnM0R0QjtJNkI1MkRBLG9CdEJ5U2dDO0lEbFI1QixvQkF0Q1k7SXVCaUJoQixnQnRCK0grQjtJS3ZON0IscUJMOE4rQixFQUFBO0VQeXVEakM7STZCajNEQSx1QnRCb1NpQztJRDdRN0IscUJBdENZO0l1QmlCaEIsZ0J0QmdJK0I7SUt4TjdCLHFCTCtOK0IsRUFBQTtFUDZ1RGpDO0k0QmoyREEsY0FBYztJQUNkLFdBQVcsRUFBQTtJNUJtMkRUO000Qi8xREEsa0JyQnNUK0IsRUFBQTtFUDJpRGpDOzs7STRCeDFERSxXQUFXLEVBQUE7RTVCNDFEYjtJeUJ2OURJLGdDbEJpUDJDLEVBQUE7SWtCN08zQztNekJzOURBO1F5QnI5REUsZ0JBQWdCLEVBQUEsRUtmdkI7STlCcytERztNOEJ4K0RBLFVBQVUsRUFBQTtFOUIwK0RaO0k4QnArREUsYUFBYSxFQUFBO0U5QnMrRGY7SThCaitEQSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULGdCQUFnQjtJTERaLDZCbEJrUHdDLEVBQUE7SWtCOU94QztNekJrK0RBO1F5QmorREUsZ0JBQWdCLEVBQUEsRUtGdkI7RTlCcStEQzs7OztJK0JuL0RBLGtCQUFrQixFQUFBO0UvQncvRGxCO0krQnAvREEsbUJBQW1CLEVBQUE7SS9Ccy9EakI7TWdDaitERSxxQkFBcUI7TUFDckIsb0J6QitOMEM7TXlCOU4xQyx1QnpCNk4wQztNeUI1TjFDLFdBQVc7TUFoQ2YsdUJBQThCO01BQzlCLHFDQUE0QztNQUM1QyxnQkFBZ0I7TUFDaEIsb0NBQTJDLEVBQUE7SWhDb2dFekM7TWdDOThERSxjQUFjLEVBQUE7RWhDZzlEbEI7SStCei9EQSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULE9BQU87SUFDUCxheEJ1cEJzQztJd0J0cEJ0QyxhQUFhO0lBQ2IsV0FBVztJQUNYLGdCeEI2dEJ1QztJd0I1dEJ2QyxpQkFBOEI7SUFDOUIsb0JBQTRCO0l6QnNHeEIsa0JBdENZO0l5QjlEaEIsYzdCZW1CO0k2QmRuQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHNCN0JqQmE7STZCa0JiLDRCQUE0QjtJQUM1QiwyQzdCN0JhO0lVZVgsc0JMNk5nQztJTS9OOUIsb0RYYlMsRUFBQTtFRjBoRWI7SStCbi9ESSxXQUFXO0lBQ1gsT0FBTyxFQUFBO0UvQnEvRFg7SStCai9ESSxRQUFRO0lBQ1IsVUFBVSxFQUFBO0VmWVo7SWhCdytEQTtNK0IxL0RFLFdBQVc7TUFDWCxPQUFPLEVBQUE7SS9CNC9EVDtNK0J4L0RFLFFBQVE7TUFDUixVQUFVLEVBQUEsRUFDWDtFZldEO0loQisrREE7TStCamdFRSxXQUFXO01BQ1gsT0FBTyxFQUFBO0kvQm1nRVQ7TStCLy9ERSxRQUFRO01BQ1IsVUFBVSxFQUFBLEVBQ1g7RWZXRDtJaEJzL0RBO00rQnhnRUUsV0FBVztNQUNYLE9BQU8sRUFBQTtJL0IwZ0VUO00rQnRnRUUsUUFBUTtNQUNSLFVBQVUsRUFBQSxFQUNYO0VmV0Q7SWhCNi9EQTtNK0IvZ0VFLFdBQVc7TUFDWCxPQUFPLEVBQUE7SS9CaWhFVDtNK0I3Z0VFLFFBQVE7TUFDUixVQUFVLEVBQUEsRUFDWDtFL0I4Z0VIO0krQnRnRUUsU0FBUztJQUNULFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJ4QjByQnVDLEVBQUE7RVA4MEN6QztJZ0N0aUVJLHFCQUFxQjtJQUNyQixvQnpCK04wQztJeUI5TjFDLHVCekI2TjBDO0l5QjVOMUMsV0FBVztJQXpCZixhQUFhO0lBQ2IscUNBQTRDO0lBQzVDLDBCQUFpQztJQUNqQyxvQ0FBMkMsRUFBQTtFaENra0UzQztJZ0NuaEVJLGNBQWMsRUFBQTtFaENxaEVsQjtJK0J6Z0VFLE1BQU07SUFDTixXQUFXO0lBQ1gsVUFBVTtJQUNWLGFBQWE7SUFDYixxQnhCNHFCdUMsRUFBQTtFUCsxQ3pDO0lnQ3ZqRUkscUJBQXFCO0lBQ3JCLG9CekIrTjBDO0l5QjlOMUMsdUJ6QjZOMEM7SXlCNU4xQyxXQUFXO0lBbEJmLG1DQUEwQztJQUMxQyxlQUFlO0lBQ2Ysc0NBQTZDO0lBQzdDLHdCQUErQixFQUFBO0VoQzRrRS9CO0lnQ3BpRUksY0FBYyxFQUFBO0VoQ3NpRWxCO0krQmhoRUksaUJBQWlCLEVBQUE7RS9Ca2hFckI7SStCM2dFRSxNQUFNO0lBQ04sV0FBVztJQUNYLFVBQVU7SUFDVixhQUFhO0lBQ2Isc0J4QjJwQnVDLEVBQUE7RVBrM0N6QztJZ0Mxa0VJLHFCQUFxQjtJQUNyQixvQnpCK04wQztJeUI5TjFDLHVCekI2TjBDO0l5QjVOMUMsV0FBVyxFQUFBO0VoQzRrRWY7SWdDaGtFTSxhQUFhLEVBQUE7RWhDa2tFbkI7SWdDOWpFTSxxQkFBcUI7SUFDckIscUJ6QjRNd0M7SXlCM014Qyx1QnpCME13QztJeUJ6TXhDLFdBQVc7SUE5QmpCLG1DQUEwQztJQUMxQyx5QkFBZ0M7SUFDaEMsc0NBQTZDLEVBQUE7RWhDK2xFN0M7SWdDN2pFSSxjQUFjLEVBQUE7RWhDK2pFbEI7SStCeGhFSSxpQkFBaUIsRUFBQTtFL0IwaEVyQjtJK0I5Z0VFLFdBQVc7SUFDWCxZQUFZLEVBQUE7RS9CZ2hFZDtJaUN6bkVBLFNBQVM7SUFDVCxnQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLDZCL0JHZ0IsRUFBQTtFRnduRWhCO0krQnhnRUEsY0FBYztJQUNkLFdBQVc7SUFDWCx1QnhCK29Cd0M7SXdCOW9CeEMsV0FBVztJQUNYLGdCeEJnSytCO0l3Qi9KL0IsYzdCNUhnQjtJNkI2SGhCLG1CQUFtQjtJQUVuQixtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLFNBQVMsRUFBQTtJL0J5Z0VQO00rQjEvREEsWTdCd0JzRDtNNkJ2QnRELHFCQUFxQjtNSi9JckIseUJ6Qk1jLEVBQUE7SUZzb0VkO00rQnYvREEsVzdCOUlXO002QitJWCxxQkFBcUI7TUp0SnJCLHlCekJja0QsRUFBQTtJRmtvRWxEO00rQnAvREEsYzdCM0pjO002QjRKZCxvQkFBb0I7TUFDcEIsNkJBQTZCLEVBQUE7RS9Ccy9EL0I7SStCNytEQSxjQUFjLEVBQUE7RS9CKytEZDtJK0IxK0RBLGNBQWM7SUFDZCxzQnhCeWxCd0M7SXdCeGxCeEMsZ0JBQWdCO0l6QnJEWixxQkF0Q1k7SXlCNkZoQixjN0IvS2dCO0k2QmdMaEIsbUJBQW1CLEVBQUE7RS9CNCtEbkI7SStCditEQSxjQUFjO0lBQ2QsdUJ4QitrQndDO0l3QjlrQnhDLGM3QjFMZ0IsRUFBQTtFRm1xRWhCOztJa0NscUVBLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsc0JBQXNCLEVBQUE7SWxDcXFFcEI7O01rQ2xxRUEsa0JBQWtCO01BQ2xCLGNBQWMsRUFBQTtNbENxcUVaOztRa0NocUVBLFVBQVUsRUFBQTtNbENtcUVWOzs7O1FrQzlwRUEsVUFBVSxFQUFBO0VsQ21xRWQ7SWtDNXBFQSxhQUFhO0lBQ2IsZUFBZTtJQUNmLDJCQUEyQixFQUFBO0lsQzhwRXpCO01rQzNwRUEsV0FBVyxFQUFBO0VsQzZwRWI7O0lrQ3JwRUUsaUIzQm1NNkIsRUFBQTtFUHE5RC9COztJWS9wRUUsMEJzQmE4QjtJdEJaOUIsNkJzQlk4QixFQUFBO0VsQ3NwRWhDOztJWXJwRUUseUJzQkk2QjtJdEJIN0IsNEJzQkc2QixFQUFBO0VsQ3FwRS9CO0lrQ3BvRUEsd0JBQW1DO0lBQ25DLHVCQUFrQyxFQUFBO0lsQ3NvRWhDOzs7TWtDam9FQSxjQUFjLEVBQUE7SUFHaEI7TUFDRSxlQUFlLEVBQUE7RWxDbW9FakI7SWtDOW5FQSx1QkFBc0M7SUFDdEMsc0JBQXFDLEVBQUE7RWxDZ29FckM7SWtDNW5FQSxzQkFBc0M7SUFDdEMscUJBQXFDLEVBQUE7RWxDOG5FckM7SWF4c0VJLGdETkNTLEVBQUE7SVB5c0VYO01hMXNFRSxnQnFCcUZzQixFQUFBO0VsQ3VuRTFCO0lrQzdtRUEsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qix1QkFBdUIsRUFBQTtJbEMrbUVyQjs7TWtDM21FQSxXQUFXLEVBQUE7SWxDOG1FWDs7TWtDem1FQSxnQjNCa0g2QixFQUFBO0lQMC9EN0I7O01ZN3JFQSw2QnNCdUYrQjtNdEJ0Ri9CLDRCc0JzRitCLEVBQUE7SWxDMG1FL0I7O01ZL3NFQSx5QnNCMEc0QjtNdEJ6RzVCLDBCc0J5RzRCLEVBQUE7RWxDeW1FOUI7O0lrQ3JsRUUsZ0JBQWdCLEVBQUE7SWxDd2xFaEI7Ozs7TWtDcGxFRSxrQkFBa0I7TUFDbEIsc0JBQXNCO01BQ3RCLG9CQUFvQixFQUFBO0VsQ3lsRXhCO0ltQ2p2RUEsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLFdBQVcsRUFBQTtJbkNtdkVUOzs7O01tQzd1RUEsa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxTQUFTO01BQ1QsWUFBWTtNQUNaLGdCQUFnQixFQUFBO01uQ2t2RWQ7Ozs7Ozs7Ozs7OztRbUM3dUVBLGlCNUJrTjJCLEVBQUE7SVB3aUU3Qjs7O01tQ2x2RUEsVUFBVSxFQUFBO0luQ3N2RVY7TW1DanZFQSxVQUFVLEVBQUE7SW5DbXZFVjs7TVl4dkVBLDBCdUJVbUQ7TXZCVG5ELDZCdUJTbUQsRUFBQTtJbkNrdkVuRDs7TVk5dUVBLHlCdUJIbUQ7TXZCSW5ELDRCdUJKbUQsRUFBQTtJbkNxdkVuRDtNbUMvdUVBLGFBQWE7TUFDYixtQkFBbUIsRUFBQTtNbkNpdkVqQjs7UVlud0VGLDBCdUJxQjZFO1F2QnBCN0UsNkJ1Qm9CNkUsRUFBQTtNbkNrdkUzRTtRWXp2RUYseUJ1QlFzRTtRdkJQdEUsNEJ1Qk9zRSxFQUFBO0VuQ292RXhFOztJbUN2dUVBLGFBQWEsRUFBQTtJbkMwdUVYOztNbUNwdUVBLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7TW5DdXVFUjs7UW1DcHVFQSxVQUFVLEVBQUE7SW5DdXVFWjs7Ozs7Ozs7TW1DL3RFQSxpQjVCcUo2QixFQUFBO0VQbWxFL0I7SW1DcHVFcUIsa0I1QmlKVSxFQUFBO0VQcWxFL0I7SW1DcnVFb0IsaUI1QmdKVyxFQUFBO0VQdWxFL0I7SW1DOXRFQSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHlCNUIyUmtDO0k0QjFSbEMsZ0JBQWdCO0k3QnVCWixrQkF0Q1k7STZCaUJoQixnQjVCcUwrQjtJNEJwTC9CLGdCNUJ5TCtCO0k0QnhML0IsY2pDdEdnQjtJaUN1R2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIseUJqQ3BHZ0I7SWlDcUdoQix5QmpDdkdnQjtJVVNkLHNCTDZOZ0MsRUFBQTtJUGttRWhDOztNbUMzdEVBLGFBQWEsRUFBQTtFbkM4dEVmOztJbUNsdEVBLGdDZFg4RCxFQUFBO0VyQmd1RTlEOzs7Ozs7SW1DNXNFQSxvQjVCc1FnQztJRGxSNUIsb0JBdENZO0k2Qm9EaEIsZ0I1QjRGK0I7SUt2TjdCLHFCTDhOK0IsRUFBQTtFUGluRWpDOztJbUM5c0VBLGtDZDVCOEQsRUFBQTtFckI2dUU5RDs7Ozs7O0ltQ3hzRUEsdUI1QmdQaUM7SUQ3UTdCLHFCQXRDWTtJNkJxRWhCLGdCNUI0RStCO0lLeE43QixxQkwrTitCLEVBQUE7RVA2bkVqQzs7SW1DMXNFQSxzQkFBMEUsRUFBQTtFbkM2c0UxRTs7Ozs7O0lZLzBFRSwwQnVCbUo0QjtJdkJsSjVCLDZCdUJrSjRCLEVBQUE7RW5Db3NFOUI7Ozs7OztJWXowRUUseUJ1QjhJMkI7SXZCN0kzQiw0QnVCNkkyQixFQUFBO0VuQ21zRTdCO0lZajFFRSx5QndCN0NxQztJeEI4Q3JDLDRCd0I5Q3FDLEVBQUE7RXBDaTRFdkM7SVlsMkVFLDBCd0IxQnNDO0l4QjJCdEMsNkJ3QjNCc0MsRUFBQTtFcEMrM0V4QztJcUM3M0VBLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsY0FBYztJQUNkLG9CQUErQztJQUMvQyxvQkFBcUUsRUFBQTtFckMrM0VyRTtJcUMzM0VBLG9CQUFvQjtJQUNwQixrQjlCd2YwQyxFQUFBO0VQcTREMUM7SXFDejNFQSxrQkFBa0I7SUFDbEIsT0FBTztJQUNQLFdBQVc7SUFDWCxXOUJvZjBDO0k4Qm5mMUMsaUJBQWtGO0lBQ2xGLFVBQVUsRUFBQTtJckMyM0VSO01xQ3gzRUEsVzlCeEJXO004QnlCWCxxQnBDMUJvQjtNMEJBcEIseUIxQkFvQjtNWVVsQixXQUFVLEVBQUE7SWI0NEVaO01xQ3AzRUUsNEZwQ2xDa0IsRUFBQTtJRHc1RXBCO01xQy8yRUEscUI5QnFic0UsRUFBQTtJUDQ3RHRFO01xQzcyRUEsVzlCNUNXO004QjZDWCx5QjlCaWY4RTtNOEJoZjlFLHFCOUJnZjhFO01NcmhCNUUsV0FBVSxFQUFBO0licTVFWjtNcUN4MkVFLGM5QmhEWSxFQUFBO01QMDVFWjtRcUN2MkVFLHlCOUJ2RFUsRUFBQTtFUGc2RWhCO0lxQzkxRUEsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUVoQixtQkFBbUIsRUFBQTtJckMrMUVqQjtNcUMxMUVBLGtCQUFrQjtNQUNsQixjQUErRTtNQUMvRSxhQUErRDtNQUMvRCxjQUFjO01BQ2QsVzlCdWJ3QztNOEJ0YnhDLFk5QnNid0M7TThCcmJ4QyxvQkFBb0I7TUFDcEIsV0FBVztNQUNYLHNCOUJwRlc7TThCcUZYLHlCOUJnSjZCO01NNU4zQixnRE5DUyxFQUFBO0lQdzZFWDtNcUN2MUVBLGtCQUFrQjtNQUNsQixjQUErRTtNQUMvRSxhQUErRDtNQUMvRCxjQUFjO01BQ2QsVzlCd2F3QztNOEJ2YXhDLFk5QnVhd0M7TThCdGF4QyxXQUFXO01BQ1gsbUNBQWdFLEVBQUE7RXJDeTFFbEU7SVloN0VFLHNCTDZOZ0MsRUFBQTtFUHF0RWxDO0lxQzMwRUksa09oQi9ENEUsRUFBQTtFckI0NEVoRjtJcUN2MEVJLHFCcEN6SGtCO0kwQkFwQix5QjFCQW9CO0lZVWxCLFdBQVUsRUFBQTtFYjA3RWQ7SXFDdDBFSSwrS2hCMUU0RSxFQUFBO0VyQms1RWhGO0kyQnQ4RUUsd0MxQkFvQixFQUFBO0VEdzhFdEI7STJCeDhFRSx3QzFCQW9CLEVBQUE7RUQwOEV0QjtJcUN2ekVFLGtCOUJ5WitDLEVBQUE7RVBnNkRqRDtJcUNwekVJLDhLaEJwRzRFLEVBQUE7RXJCMDVFaEY7STJCOThFRSx3QzFCQW9CLEVBQUE7RURnOUV0QjtJcUN2eUVBLHFCQUEyRCxFQUFBO0lyQ3l5RXpEO01xQ3J5RUUsY0FBcUQ7TUFDckQsYzlCaVkrRTtNOEJoWS9FLG1CQUFtQjtNQUVuQixxQjlCK1g0RSxFQUFBO0lQdTZEOUU7TXFDbHlFRSwwQmhCcEUwRDtNZ0JxRTFELDBCaEJyRTBEO01nQnNFMUQsdUJoQmxEMEQ7TWdCbUQxRCx3QmhCbkQwRDtNZ0JvRDFELHlCOUJuTFk7TThCcUxaLHFCOUJxWDRFO01rQnRpQjVFLHlJbEJ3ZitILEVBQUE7TWtCcGYvSDtRekJrOUVFO1V5Qmo5RUEsZ0JBQWdCLEVBQUEsRVk4S25CO0lyQ3F5RUQ7TXFDaHlFRSxzQjlCak1TO004QmtNVCw4QkFBNEUsRUFBQTtJckNreUU5RTtNMkJyK0VBLHdDMUJBb0IsRUFBQTtFRHUrRXRCO0lxQ2p4RUEscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxtQ2hCdkc4RDtJZ0J3RzlELDBDOUJtS2tDO0lEblE5QixrQkF0Q1k7SStCeUloQixnQjlCNkQrQjtJOEI1RC9CLGdCOUJpRStCO0k4QmhFL0IsY25DOU5nQjtJbUMrTmhCLHNCQUFzQjtJQUN0Qix1TzlCa1crSTtJOEJqVy9JLHlCbkM5TmdCO0lVU2Qsc0JMNk5nQztJTS9OOUIsc0RYYlM7SW1DdU9iLHdCQUFnQjtPQUFoQixxQkFBZ0I7WUFBaEIsZ0JBQWdCLEVBQUE7SXJDa3hFZDtNcUMvd0VBLHFCOUJ1UHNFO004QnRQdEUsVUFBVTtNeEI5TlIsNEZaVmtCLEVBQUE7TUQwL0VsQjtRcUNwd0VBLGNuQ3RQWTtRbUN1UFosc0JuQ2hQUyxFQUFBO0lGcy9FWDtNcUNod0VBLFlBQVk7TUFDWixzQjlCOEhnQztNOEI3SGhDLHNCQUFzQixFQUFBO0lyQ2t3RXRCO01xQzl2RUEsY25DbFFjO01tQ21RZCx5Qm5DL1BjLEVBQUE7SUYrL0VkO01xQzN2RUEsYUFBYSxFQUFBO0lyQzZ2RWI7TXFDeHZFQSxrQkFBa0I7TUFDbEIsMEJuQy9RYyxFQUFBO0VGeWdGaEI7SXFDcnZFQSxrQ2hCbks4RDtJZ0JvSzlELG9COUJnSGtDO0k4Qi9HbEMsdUI5QitHa0M7SThCOUdsQyxvQjlCK0dpQztJRDdRN0IscUJBdENZLEVBQUE7RU40N0VoQjtJcUNudkVBLGdDaEIzSzhEO0lnQjRLOUQsbUI5QjZHaUM7SThCNUdqQyxzQjlCNEdpQztJOEIzR2pDLGtCOUI0R2dDO0lEbFI1QixvQkF0Q1ksRUFBQTtFTms4RWhCO0lxQzV1RUEsa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsbUNoQjNMOEQ7SWdCNEw5RCxnQkFBZ0IsRUFBQTtFckM4dUVoQjtJcUMxdUVBLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsV0FBVztJQUNYLG1DaEJuTThEO0lnQm9NOUQsU0FBUztJQUNULFVBQVUsRUFBQTtJckM0dUVSO01xQ3p1RUEscUI5QnFLc0U7TThCcEt0RSxnRHBDMVRvQixFQUFBO0lEcWlGcEI7O01xQ3J1RUEseUI5QjdUYyxFQUFBO0lQcWlGZDtNcUNudUVFLGlCOUI0VFEsRUFBQTtJUHk2RFY7TXFDaHVFQSwwQkFBMEIsRUFBQTtFckNrdUU1QjtJcUM3dEVBLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87SUFDUCxVQUFVO0lBQ1YsbUNoQm5POEQ7SWdCb085RCx5QjlCdUNrQztJOEJyQ2xDLGdCOUI5RCtCO0k4QitEL0IsZ0I5QjFEK0I7SThCMkQvQixjOUJqVmdCO0k4QmtWaEIsc0I5QnpWYTtJOEIwVmIseUI5QnRWZ0I7SUtPZCxzQkw2TmdDO0lNL045QixnRE5DUyxFQUFBO0lQZ2pGWDtNcUMzdEVBLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sUUFBUTtNQUNSLFNBQVM7TUFDVCxVQUFVO01BQ1YsY0FBYztNQUNkLDZCaEJyUDREO01nQnNQNUQseUI5QnFCZ0M7TThCcEJoQyxnQjlCMUU2QjtNOEIyRTdCLGM5QmpXYztNOEJrV2QsaUJBQWlCO01WMVdqQix5QnBCR2M7TThCeVdkLG9CQUFvQjtNekJoV3BCLGtDeUJpV2dGLEVBQUE7RXJDNnRFbEY7SXFDbHRFQSxXQUFXO0lBQ1gsY2hCM1EyQjtJZ0I0UTNCLFVBQVU7SUFDViw2QkFBNkI7SUFDN0Isd0JBQWdCO09BQWhCLHFCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQTtJckNvdEVkO01xQ2p0RUEsYUFBYSxFQUFBO01yQ210RVg7UXFDL3NFd0IsZ0VwQ25ZTixFQUFBO01Eb2xGbEI7UXFDaHRFd0IsZ0VwQ3BZTixFQUFBO01Ec2xGbEI7UXFDanRFd0IsZ0VwQ3JZTixFQUFBO0lEd2xGcEI7TXFDL3NFQSxTQUFTLEVBQUE7SXJDaXRFVDtNcUM3c0VBLFc5QnFONkM7TThCcE43QyxZOUJvTjZDO004Qm5ON0Msb0JBQXlFO01WL1l6RSx5QjFCQW9CO01vQ2lacEIsUzlCb04wQztNS3psQjFDLG1CTDBsQjZDO01NNWxCM0MsK0NOQ1M7TWtCRFQsb0hsQndmK0g7TWtCeGYvSCw0R2xCd2YrSDtNOEI3R2pJLHdCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQTtNWnZZZDtRekJ1bEZFO1V5QnRsRkEsd0JBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVZMllyQjtNckM2c0VHO1EyQnZtRkYseUJwQjBtQjJFLEVBQUE7SVArL0QzRTtNcUM1c0VBLFc5QjhMb0M7TThCN0xwQyxjOUI4THFDO004QjdMckMsa0JBQWtCO01BQ2xCLGU5QjZMdUM7TThCNUx2Qyx5QjlCN1pjO004QjhaZCx5QkFBeUI7TXpCdFp6QixtQkxtbEJvQztNTXJsQmxDLHNETkNTLEVBQUE7SVB1bUZYO01xQzFzRUEsVzlCMEw2QztNOEJ6TDdDLFk5QnlMNkM7TW9CbG1CN0MseUIxQkFvQjtNb0MyYXBCLFM5QjBMMEM7TUt6bEIxQyxtQkwwbEI2QztNTTVsQjNDLCtDTkNTO01rQkRULGlIbEJ3ZitIO01rQnhmL0gsNEdsQndmK0g7TThCbkZqSSxxQkFBZ0I7V0FBaEIsZ0JBQWdCLEVBQUE7TVpqYWQ7UXpCOG1GRTtVeUI3bUZBLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFWXFhckI7TXJDMHNFRztRMkI5bkZGLHlCcEIwbUIyRSxFQUFBO0lQc2hFM0U7TXFDenNFQSxXOUJvS29DO004Qm5LcEMsYzlCb0txQztNOEJuS3JDLGtCQUFrQjtNQUNsQixlOUJtS3VDO004QmxLdkMseUI5QnZiYztNOEJ3YmQseUJBQXlCO016QmhiekIsbUJMbWxCb0M7TU1ybEJsQyxzRE5DUyxFQUFBO0lQOG5GWDtNcUN2c0VBLFc5QmdLNkM7TThCL0o3QyxZOUIrSjZDO004QjlKN0MsYUFBYTtNQUNiLG9COUJwRStCO004QnFFL0IsbUI5QnJFK0I7TW9CalkvQix5QjFCQW9CO01vQ3djcEIsUzlCNkowQztNS3psQjFDLG1CTDBsQjZDO01NNWxCM0MsK0NOQ1M7TWtCRFQsZ0hsQndmK0g7TWtCeGYvSCw0R2xCd2YrSDtNOEJ0RGpJLGdCQUFnQixFQUFBO01aOWJkO1F6QndvRkU7VXlCdm9GQSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUEsRVlrY3JCO01yQ3VzRUc7UTJCeHBGRix5QnBCMG1CMkUsRUFBQTtJUGdqRTNFO01xQ3RzRUEsVzlCdUlvQztNOEJ0SXBDLGM5QnVJcUM7TThCdElyQyxrQkFBa0I7TUFDbEIsZTlCc0l1QztNOEJySXZDLDZCQUE2QjtNQUM3Qix5QkFBeUI7TUFDekIsb0JBQTRDO014QmhkMUMsc0ROQ1MsRUFBQTtJUHdwRlg7TXFDcHNFQSx5QjlCM2RjO01LUWQsbUJMbWxCb0MsRUFBQTtJUHVrRXBDO01xQ2xzRUEsa0JBQWtCO01BQ2xCLHlCOUJqZWM7TUtRZCxtQkxtbEJvQyxFQUFBO0lQMmtFcEM7TXFDL3JFRSx5QjlCcmVZLEVBQUE7SVBzcUZkO01xQzdyRUUsZUFBZSxFQUFBO0lyQytyRWpCO01xQzNyRUUseUI5QjdlWSxFQUFBO0lQMHFGZDtNcUN6ckVFLGVBQWUsRUFBQTtJckMyckVqQjtNcUN2ckVFLHlCOUJyZlksRUFBQTtFUDhxRmhCOzs7SXlCMXFGSSw0R2xCd2YrSCxFQUFBO0lrQnBmL0g7TXpCMnFGQTs7O1F5QjFxRkUsZ0JBQWdCLEVBQUEsRVlxZnZCO0VyQ3lyRUM7SXNDN3JGQSxhQUFhO0lBQ2IsZUFBZTtJQUNmLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZ0JBQWdCLEVBQUE7RXRDK3JGaEI7SXNDM3JGQSxjQUFjO0lBQ2Qsb0IvQndxQnNDLEVBQUE7SVBxaEVwQztNc0N6ckZBLHFCQUFxQixFQUFBO0l0QzJyRnJCO01zQ3RyRkEsYy9CWGM7TStCWWQsb0JBQW9CO01BQ3BCLGVBQWUsRUFBQTtFdEN3ckZqQjtJc0MvcUZBLG1EcENoQ2EsRUFBQTtJRml0Rlg7TXNDOXFGQSxtQi9Cc002QixFQUFBO0lQMCtFN0I7TXNDNXFGQSw2QkFBZ0Q7TTFCZmhELCtCTG9OZ0M7TUtuTmhDLGdDTG1OZ0MsRUFBQTtNUDIrRTlCO1FzQzVxRkEsd0RwQzNDUyxFQUFBO01GeXRGVDtRc0MxcUZBLGMvQnJDWTtRK0JzQ1osNkJBQTZCO1FBQzdCLHlCQUF5QixFQUFBO0l0QzRxRjNCOztNc0N0cUZBLGNwQ3REYztNb0N1RGQseUJwQ2xCaUI7TW9DbUJqQixxQ3BDbkJpQixFQUFBO0lGNHJGakI7TXNDcHFGQSxnQi9CMks2QjtNS2pON0IseUIwQndDNEI7TTFCdkM1QiwwQjBCdUM0QixFQUFBO0V0Q3NxRjlCO0lZdnRGRSxzQkw2TmdDLEVBQUE7RVA0L0VsQzs7SXNDeHBGRSxXL0I1RVc7SStCNkVYLHlCckM5RW9CLEVBQUE7RUR5dUZ0Qjs7SXNDL29GRSxjQUFjO0lBQ2Qsa0JBQWtCLEVBQUE7RXRDa3BGcEI7O0lzQzNvRkUsYUFBYTtJQUNiLFlBQVk7SUFDWixrQkFBa0IsRUFBQTtFdEM4b0ZwQjtJc0Nub0ZFLGFBQWEsRUFBQTtFdENxb0ZmO0lzQ2xvRkUsY0FBYyxFQUFBO0V0Q29vRmhCO0l1QzF1RkEsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixvQmhDZ0hXLEVBQUE7SVA0bkZUOztNdUN2dUZBLGFBQWE7TUFDYixlQUFlO01BQ2YsbUJBQW1CO01BQ25CLDhCQUE4QixFQUFBO0V2QzB1RmhDO0l1Q3J0RkEscUJBQXFCO0lBQ3JCLHVCaENncUIrRTtJZ0MvcEIvRSwwQmhDK3BCK0U7SWdDOXBCL0Usa0JoQ2dGVztJRFJQLG9CQXRDWTtJaUNoQ2hCLG9CQUFvQjtJQUNwQixtQkFBbUIsRUFBQTtJdkN1dEZqQjtNdUNwdEZBLHFCQUFxQixFQUFBO0V2Q3N0RnZCO0l1QzVzRkEsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQixFQUFBO0l2QzhzRmQ7TXVDM3NGQSxnQkFBZ0I7TUFDaEIsZUFBZSxFQUFBO0l2QzZzRmY7TXVDenNGQSxnQkFBZ0I7TUFDaEIsV0FBVyxFQUFBO0V2QzJzRmI7SXVDanNGQSxxQkFBcUI7SUFDckIsbUJoQ3VsQnVDO0lnQ3RsQnZDLHNCaENzbEJ1QyxFQUFBO0VQNm1FdkM7SXVDdHJGQSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUdaLG1CQUFtQixFQUFBO0V2Q3NyRm5CO0l1Q2pyRkEsd0JoQ2ttQndDO0lEemxCcEMsb0JBdENZO0lpQytCaEIsY0FBYztJQUNkLDZCQUE2QjtJQUM3Qiw2QkFBdUM7STNCeEdyQyxzQkw2TmdDLEVBQUE7SVArakZoQztNdUNockZBLHFCQUFxQixFQUFBO0V2Q2tyRnZCO0l1QzNxRkEscUJBQXFCO0lBQ3JCLFlBQVk7SUFDWixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxtQ0FBbUM7SUFDbkMsMEJBQTBCLEVBQUE7RXZCbEV4QjtJaEJndkZBOztNdUNqcUZNLGdCQUFnQjtNQUNoQixlQUFlLEVBQUEsRUFDaEI7RXZCOUZMO0loQmt3RkE7TXVDcnBGSSxxQkFBcUI7TUFDckIsMkJBQTJCLEVBQUE7TXZDdXBGN0I7UXVDcHBGSSxtQkFBbUIsRUFBQTtRdkNzcEZyQjtVdUNucEZJLGtCQUFrQixFQUFBO1F2Q3FwRnRCO1V1Q2pwRkkscUJoQzJoQjZCO1VnQzFoQjdCLG9CaEMwaEI2QixFQUFBO01QeW5FbkM7O1F1QzdvRkksaUJBQWlCLEVBQUE7TXZDZ3BGckI7UXVDam9GSSx3QkFBd0I7UUFHeEIsZ0JBQWdCLEVBQUE7TXZDaW9GcEI7UXVDN25GSSxhQUFhLEVBQUEsRUFDZDtFdkJ6SUw7SWhCd3dGQTs7TXVDenJGTSxnQkFBZ0I7TUFDaEIsZUFBZSxFQUFBLEVBQ2hCO0V2QjlGTDtJaEIweEZBO011QzdxRkkscUJBQXFCO01BQ3JCLDJCQUEyQixFQUFBO012QytxRjdCO1F1QzVxRkksbUJBQW1CLEVBQUE7UXZDOHFGckI7VXVDM3FGSSxrQkFBa0IsRUFBQTtRdkM2cUZ0QjtVdUN6cUZJLHFCaEMyaEI2QjtVZ0MxaEI3QixvQmhDMGhCNkIsRUFBQTtNUGlwRW5DOztRdUNycUZJLGlCQUFpQixFQUFBO012Q3dxRnJCO1F1Q3pwRkksd0JBQXdCO1FBR3hCLGdCQUFnQixFQUFBO012Q3lwRnBCO1F1Q3JwRkksYUFBYSxFQUFBLEVBQ2Q7RXZCeklMO0loQmd5RkE7O011Q2p0Rk0sZ0JBQWdCO01BQ2hCLGVBQWUsRUFBQSxFQUNoQjtFdkI5Rkw7SWhCa3pGQTtNdUNyc0ZJLHFCQUFxQjtNQUNyQiwyQkFBMkIsRUFBQTtNdkN1c0Y3QjtRdUNwc0ZJLG1CQUFtQixFQUFBO1F2Q3NzRnJCO1V1Q25zRkksa0JBQWtCLEVBQUE7UXZDcXNGdEI7VXVDanNGSSxxQmhDMmhCNkI7VWdDMWhCN0Isb0JoQzBoQjZCLEVBQUE7TVB5cUVuQzs7UXVDN3JGSSxpQkFBaUIsRUFBQTtNdkNnc0ZyQjtRdUNqckZJLHdCQUF3QjtRQUd4QixnQkFBZ0IsRUFBQTtNdkNpckZwQjtRdUM3cUZJLGFBQWEsRUFBQSxFQUNkO0V2QnpJTDtJaEJ3ekZBOztNdUN6dUZNLGdCQUFnQjtNQUNoQixlQUFlLEVBQUEsRUFDaEI7RXZCOUZMO0loQjAwRkE7TXVDN3RGSSxxQkFBcUI7TUFDckIsMkJBQTJCLEVBQUE7TXZDK3RGN0I7UXVDNXRGSSxtQkFBbUIsRUFBQTtRdkM4dEZyQjtVdUMzdEZJLGtCQUFrQixFQUFBO1F2QzZ0RnRCO1V1Q3p0RkkscUJoQzJoQjZCO1VnQzFoQjdCLG9CaEMwaEI2QixFQUFBO01QaXNFbkM7O1F1Q3J0RkksaUJBQWlCLEVBQUE7TXZDd3RGckI7UXVDenNGSSx3QkFBd0I7UUFHeEIsZ0JBQWdCLEVBQUE7TXZDeXNGcEI7UXVDcnNGSSxhQUFhLEVBQUEsRUFDZDtFdkNzc0ZQO0l1Qy91Rk0scUJBQXFCO0lBQ3JCLDJCQUEyQixFQUFBO0l2Q2l2Ri9COztNdUNud0ZNLGdCQUFnQjtNQUNoQixlQUFlLEVBQUE7SXZDc3dGckI7TXVDbHZGTSxtQkFBbUIsRUFBQTtNdkNvdkZ2QjtRdUNqdkZNLGtCQUFrQixFQUFBO012Q212RnhCO1F1Qy91Rk0scUJoQzJoQjZCO1FnQzFoQjdCLG9CaEMwaEI2QixFQUFBO0lQdXRFckM7O011QzN1Rk0saUJBQWlCLEVBQUE7SXZDOHVGdkI7TXVDL3RGTSx3QkFBd0I7TUFHeEIsZ0JBQWdCLEVBQUE7SXZDK3RGdEI7TXVDM3RGTSxhQUFhLEVBQUE7RXZDNnRGckI7SXVDOXNGRSx5QmhDL01XLEVBQUE7SVArNUZYO011QzdzRkUseUJoQ2xOUyxFQUFBO0VQaTZGYjtJdUN6c0ZJLHlCaEN4TlMsRUFBQTtJUG02Rlg7TXVDeHNGSSx5QmhDM05PLEVBQUE7SVBxNkZYO011Q3RzRkkseUJoQy9OTyxFQUFBO0VQdTZGYjs7OztJdUNoc0ZJLHlCaEN2T1MsRUFBQTtFUDQ2RmI7SXVDaHNGRSx5QmhDNU9XO0lnQzZPWCxnQ2hDN09XLEVBQUE7RVArNkZiO0l1QzlyRkUsbVJsQnhNOEUsRUFBQTtFckJ3NEZoRjtJdUM1ckZFLHlCaENyUFcsRUFBQTtJUG03Rlg7TXVDNXJGRSx5QmhDdlBTLEVBQUE7TVBxN0ZUO1F1QzNyRkUseUJoQzFQTyxFQUFBO0VQdTdGYjtJdUNwckZFLFdoQzdRVyxFQUFBO0lQbThGWDtNdUNuckZFLFdoQ2hSUyxFQUFBO0VQcThGYjtJdUMvcUZJLCtCaEN0UlMsRUFBQTtJUHU4Rlg7TXVDOXFGSSxnQ2hDelJPLEVBQUE7SVB5OEZYO011QzVxRkksZ0NoQzdSTyxFQUFBO0VQMjhGYjs7OztJdUN0cUZJLFdoQ3JTUyxFQUFBO0VQZzlGYjtJdUN0cUZFLCtCaEMxU1c7SWdDMlNYLHNDaEMzU1csRUFBQTtFUG05RmI7SXVDcHFGRSx5UmxCNVA4RSxFQUFBO0VyQms2RmhGO0l1Q2xxRkUsK0JoQ25UVyxFQUFBO0lQdTlGWDtNdUNscUZFLFdoQ3JUUyxFQUFBO01QeTlGVDtRdUNqcUZFLFdoQ3hUTyxFQUFBO0VQMjlGYjtJd0M3OUZBLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFlBQVk7SUFFWixxQkFBcUI7SUFDckIseUJ0Q0NnQjtJc0NBaEIsMkJBQTJCO0lBQzNCLDRDdENWYTtJVWVYLHNCTDZOZ0MsRUFBQTtJUDZ2RmhDO013QzM5RkEsZUFBZTtNQUNmLGNBQWMsRUFBQTtJeEM2OUZkO013Q3o5RkEsbUJBQW1CO01BQ25CLHNCQUFzQixFQUFBO014QzI5RnBCO1F3Q3g5RkEsbUJBQW1CO1E1QkNyQiwyQ1NnSDREO1FUL0c1RCw0Q1MrRzRELEVBQUE7TXJCMjJGMUQ7UXdDdjlGQSxzQkFBc0I7UTVCVXhCLCtDU2tHNEQ7UVRqRzVELDhDU2lHNEQsRUFBQTtJckIrMkY1RDs7TXdDbDlGQSxhQUFhLEVBQUE7RXhDcTlGZjtJd0M5OEZBLGNBQWM7SUFHZCxlQUFlO0lBQ2YsZ0JqQ3d3QnlDO0lpQ3Z3QnpDLGN0Qy9DZ0IsRUFBQTtFRjYvRmhCO0l3QzE4RkEsc0JqQ2t3QndDLEVBQUE7RVAwc0V4QztJd0N4OEZBLHFCQUErQjtJQUMvQixnQkFBZ0IsRUFBQTtFeEMwOEZoQjtJd0N0OEZBLGdCQUFnQixFQUFBO0V4Q3c4RmhCO0l3Q244RkUscUJBQXFCLEVBQUE7RXhDcThGdkI7SXdDajhGRSxvQmpDaXZCdUMsRUFBQTtFUGt0RXpDO0l3QzE3RkEsd0JqQ3d1QnlDO0lpQ3Z1QnpDLGdCQUFnQjtJQUVoQiwyQ3RDbkZhO0lzQ29GYixtRHRDcEZhLEVBQUE7SUYrZ0dYO01ZaGdHQSwwRDRCd0U4RSxFQUFBO0V4QzA3RmhGO0l3Q3I3RkEsd0JqQzR0QnlDO0lpQzF0QnpDLDJDdEM5RmE7SXNDK0ZiLGdEdEMvRmEsRUFBQTtJRnFoR1g7TVl0Z0dBLDBEU3lINEQsRUFBQTtFckIrNEY5RDtJd0MzNkZBLHVCQUFpQztJQUNqQyx1QmpDMHNCd0M7SWlDenNCeEMsc0JBQWdDO0lBQ2hDLGdCQUFnQixFQUFBO0V4QzY2RmhCO0l3Q3o2RkEsdUJBQWlDO0lBQ2pDLHNCQUFnQyxFQUFBO0V4QzI2RmhDO0l3Q3Q2RkEsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxnQmpDcXNCeUM7SUtwekJ2QyxrQ1N5SDRELEVBQUE7RXJCKzVGOUQ7OztJd0NsNkZBLGNBQWM7SUFDZCxXQUFXLEVBQUE7RXhDczZGWDs7SVlwaEdFLDJDU2dINEQ7SVQvRzVELDRDUytHNEQsRUFBQTtFckJ3NkY5RDs7SVkxZ0dFLCtDU2tHNEQ7SVRqRzVELDhDU2lHNEQsRUFBQTtFckI0NkY5RDtJd0M1NUZFLG1CakM2cUJzRCxFQUFBO0VTNXdCdEQ7SWhCOC9GQTtNd0MzNUZBLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsbUJqQ3VxQnNEO01pQ3RxQnRELGtCakNzcUJzRCxFQUFBO01QdXZFcEQ7UXdDejVGQSxZQUFZO1FBQ1osa0JqQ2lxQm9EO1FpQ2hxQnBELGdCQUFnQjtRQUNoQixpQmpDK3BCb0QsRUFBQSxFaUM5cEJyRDtFeEMwNUZIO0l3Qzc0RkUsbUJqQ2lwQnNELEVBQUE7RVM1d0J0RDtJaEIyZ0dBO013QzU0RkEsYUFBYTtNQUNiLG1CQUFtQixFQUFBO014Qzg0RmpCO1F3Q3o0RkEsWUFBWTtRQUNaLGdCQUFnQixFQUFBO1F4QzI0RmQ7VXdDeDRGQSxjQUFjO1VBQ2QsY0FBYyxFQUFBO1F4QzA0RmQ7VVk5aUdKLDBCNEIwS29DO1U1QnpLcEMsNkI0QnlLb0MsRUFBQTtVeEN1NEY5Qjs7WXdDbDRGRSwwQkFBMEIsRUFBQTtVeENxNEY1Qjs7WXdDaDRGRSw2QkFBNkIsRUFBQTtReENtNEZqQztVWXppR0oseUI0QjJLbUM7VTVCMUtuQyw0QjRCMEttQyxFQUFBO1V4Q2k0RjdCOztZd0M1M0ZFLHlCQUF5QixFQUFBO1V4QyszRjNCOztZd0MxM0ZFLDRCQUE0QixFQUFBLEVBQzdCO0V4QzQzRlQ7SXdDOTJGRSxzQmpDc2tCc0MsRUFBQTtFUzl2QnRDO0loQnlpR0E7TXdDNzJGQSxvQmpDbWxCaUM7V2lDbmxCakMsZWpDbWxCaUM7TWlDbGxCakMsd0JqQ21sQnVDO1dpQ25sQnZDLG1CakNtbEJ1QztNaUNsbEJ2QyxVQUFVO01BQ1YsU0FBUyxFQUFBO014QysyRlA7UXdDNTJGQSxxQkFBcUI7UUFDckIsV0FBVyxFQUFBLEVBQ1o7RXhDNjJGSDtJd0NuMkZBLHFCQUFxQixFQUFBO0l4Q3EyRm5CO013Q2wyRkEsZ0JBQWdCLEVBQUE7TXhDbzJGZDtRd0NqMkZBLGdCQUFnQjtRNUJ2T2xCLDZCNEJ3T2lDO1E1QnZPakMsNEI0QnVPaUMsRUFBQTtNeENvMkYvQjtRWTFsR0YseUI0QjBQOEI7UTVCelA5QiwwQjRCeVA4QixFQUFBO014Q20yRjVCO1FZdG1HRixnQjRCdVEwQjtRQUN4QixtQmpDOUMyQixFQUFBO0VQKzRGL0I7SXlDMW5HQSxhQUFhO0lBQ2IsZUFBZTtJQUNmLHFCbEMyaENzQztJa0MxaEN0QyxtQmxDNmhDc0M7SWtDM2hDdEMsZ0JBQWdCO0lBQ2hCLHlCdkNJZ0I7SVVPZCxzQkw2TmdDLEVBQUE7RVBvNUZsQztJeUN2bkdBLGFBQWEsRUFBQTtJekN5bkdYO015Q3JuR0Esb0JsQytnQ3FDLEVBQUE7TVB3bUVuQztReUNwbkdBLHFCQUFxQjtRQUNyQixxQmxDMmdDbUM7UWtDMWdDbkMsY3ZDZFk7UXVDZVosWWxDZ2hDdUMsRUFBQTtJUHNtRXpDO015QzNtR0EsMEJBQTBCLEVBQUE7SXpDNm1HMUI7TXlDem1HQSxxQkFBcUIsRUFBQTtJekMybUdyQjtNeUN2bUdBLGN2Q2xDYyxFQUFBO0VGMm9HaEI7STBDanBHQSxhQUFhO0lqQ0diLGVBQWU7SUFDZixnQkFBZ0I7SUdhZCxzQkw2TmdDLEVBQUE7RVB3NkZsQztJMENocEdBLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsdUJuQzR3QndDO0ltQzN3QnhDLGlCbkNrTytCO0ltQ2pPL0IsaUJuQyt3QnNDO0ltQzl3QnRDLGN4Q21Da0Q7SXdDakNsRCxzQnhDRGE7SXdDRWIseUJ4Q0xnQixFQUFBO0lGc3BHZDtNMEM5b0dBLFVBQVU7TUFDVixjeEM4QmdEO013QzdCaEQscUJBQXFCO01BQ3JCLHlCeENWYztNd0NXZCxxQnhDWmMsRUFBQTtJRjRwR2Q7TTBDNW9HQSxVQUFVO01BQ1YsVW5DdXdCaUM7TW1DdHdCakMsZ0R6Q3RCb0IsRUFBQTtFRG9xR3RCO0kwQ3ZvR0ksY0FBYztJOUJhaEIsK0JMK0xnQztJSzlMaEMsa0NMOExnQyxFQUFBO0VQKzdGbEM7SVk1b0dFLGdDTDZNZ0M7SUs1TWhDLG1DTDRNZ0MsRUFBQTtFUGs4RmxDO0kwQ25vR0UsVUFBVTtJQUNWLFd4Q2xDVztJd0NtQ1gseUJ4QzVCa0Q7SXdDNkJsRCxxQnhDN0JrRCxFQUFBO0VGa3FHcEQ7STBDam9HRSxjeEM5Q2M7SXdDK0NkLG9CQUFvQjtJQUVwQixZQUFZO0lBQ1osc0J4QzVDVztJd0M2Q1gscUJ4Q2hEYyxFQUFBO0VGa3JHaEI7STJDeHJHRSx1QnBDcXhCc0M7SUQxcEJwQyxvQkF0Q1k7SXFDbkZkLGdCcENtTzZCLEVBQUE7RVB1OUYvQjtJWWhwR0UsOEJMZ00rQjtJSy9ML0IsaUNMK0wrQixFQUFBO0VQbTlGakM7SVlqcUdFLCtCTDhNK0I7SUs3TS9CLGtDTDZNK0IsRUFBQTtFUHM5RmpDO0kyQ2xzR0UsdUJwQ214QnFDO0lEeHBCbkMscUJBdENZO0lxQ25GZCxnQnBDb082QixFQUFBO0VQZytGL0I7SVkxcEdFLDhCTGlNK0I7SUtoTS9CLGlDTGdNK0IsRUFBQTtFUDQ5RmpDO0lZM3FHRSwrQkwrTStCO0lLOU0vQixrQ0w4TStCLEVBQUE7RVArOUZqQztJNEMxc0dBLHFCQUFxQjtJQUNyQixxQnJDbzVCc0M7SURuMUJwQyxjQUFXO0lzQy9EYixnQnJDdVIrQjtJcUN0Ui9CLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJaENLdEIsc0JMNk5nQztJa0IvTjlCLHFJbEIrYTZJLEVBQUE7SWtCM2E3STtNekJ3c0dBO1F5QnZzR0UsZ0JBQWdCLEVBQUEsRW1CTXZCO0lDWEM7TURHSSxxQkFBcUIsRUFBQTtJNUM2c0d2QjtNNEN2c0dBLGFBQWEsRUFBQTtFNUN5c0dmO0k0Q25zR0Esa0JBQWtCO0lBQ2xCLFNBQVMsRUFBQTtFNUNxc0dUO0k0QzdyR0Esb0JyQ3kzQnNDO0lxQ3gzQnRDLG1CckN3M0JzQztJSy80QnBDLG9CTGs1QnFDLEVBQUE7RVBxMEV2QztJOEN4dUdBLGM1Q01nQjtJNENMaEIseUI3Q0lzQixFQUFBO0k0Q1V0QjtNQ1ZJLGM1Q0NZO000Q0FaLHlCQUFrQyxFQUFBO0lBSDlCO01BUUosVUFBVTtNQUNWLCtDN0NQa0IsRUFBQTtFRDR1R3RCO0k4Q2p2R0EsYzVDTWdCO0k0Q0xoQix5QnZDV2dCLEVBQUE7SXNDR2hCO01DVkksYzVDQ1k7TTRDQVoseUJBQWtDLEVBQUE7SUFIOUI7TUFRSixVQUFVO01BQ1YsaUR2Q0FZLEVBQUE7RVA4dUdoQjtJOEMxdkdBLGM1Q01nQjtJNENMaEIseUI3Q0FzQixFQUFBO0k0Q2N0QjtNQ1ZJLGM1Q0NZO000Q0FaLHlCQUFrQyxFQUFBO0lBSDlCO01BUUosVUFBVTtNQUNWLCtDN0NYa0IsRUFBQTtFRGt3R3RCO0k4Q253R0EsYzVDTWdCO0k0Q0xoQix5QjdDR21CLEVBQUE7STRDV25CO01DVkksYzVDQ1k7TTRDQVoseUJBQWtDLEVBQUE7SUFIOUI7TUFRSixVQUFVO01BQ1YsZ0Q3Q1JlLEVBQUE7RUR3d0duQjtJOEM1d0dBLGM1Q1dnQjtJNENWaEIseUI3Q0NzQixFQUFBO0k0Q2F0QjtNQ1ZJLGM1Q01ZO000Q0xaLHlCQUFrQyxFQUFBO0lBSDlCO01BUUosVUFBVTtNQUNWLGlEN0NWa0IsRUFBQTtFRG14R3RCO0k4Q3J4R0EsYzVDTWdCO0k0Q0xoQix5QjdDRXFCLEVBQUE7STRDWXJCO01DVkksYzVDQ1k7TTRDQVoseUJBQWtDLEVBQUE7SUFIOUI7TUFRSixVQUFVO01BQ1YsK0M3Q1RpQixFQUFBO0VEMnhHckI7SThDOXhHQSxjNUNXZ0I7STRDVmhCLHlCdkNNZ0IsRUFBQTtJc0NRaEI7TUNWSSxjNUNNWTtNNENMWix5QkFBa0MsRUFBQTtJQUg5QjtNQVFKLFVBQVU7TUFDVixpRHZDTFksRUFBQTtFUGd5R2hCO0k4Q3Z5R0EsYzVDTWdCO0k0Q0xoQix5QnZDYWdCLEVBQUE7SXNDQ2hCO01DVkksYzVDQ1k7TTRDQVoseUJBQWtDLEVBQUE7SUFIOUI7TUFRSixVQUFVO01BQ1YsOEN2Q0VZLEVBQUE7RVBreUdoQjtJK0NoekdBLGtCQUFvRDtJQUNwRCxtQnhDaXpCc0M7SXdDL3lCdEMseUI3Q09nQjtJVU9kLHFCTDhOK0IsRUFBQTtJU3BML0I7TWhCMnZHRTtRK0MveUdGLGtCeEMyeUJvQyxFQUFBLEV3Q3p5QnZDO0UvQyt5R0M7SStDNXlHQSxnQkFBZ0I7SUFDaEIsZUFBZTtJbkNJYixnQm1DSHNCLEVBQUE7RS9DOHlHeEI7SWdEeHpHQSxrQkFBa0I7SUFDbEIsd0J6Q2k5QnlDO0l5Q2g5QnpDLG1CekNpOUJzQztJeUNoOUJ0Qyw2QkFBNkM7SXBDVTNDLHNCTDZOZ0MsRUFBQTtFUG9sR2xDO0lnRHB6R0EsY0FBYyxFQUFBO0VoRHN6R2Q7SWdEanpHQSxnQnpDNFErQixFQUFBO0VQdWlHL0I7SWdEMXlHQSx1QkFBc0QsRUFBQTtJaEQ0eUdwRDtNZ0R4eUdBLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sUUFBUTtNQUNSLHdCekNtN0J1QztNeUNsN0J2QyxjQUFjLEVBQUE7RWhEMHlHaEI7SWlEOTBHQSxjNUJxR2dFO0lNaEc5RCx5Qk5nRzhEO0k0Qm5HaEUscUI1Qm1HZ0UsRUFBQTtJckI2dUc5RDtNaUQ3MEdBLHlCQUFxQyxFQUFBO0lqRCswR3JDO01pRDMwR0EsY0FBMEIsRUFBQTtFakQ2MEc1QjtJaUR0MUdBLGM1QnFHZ0U7SU1oRzlELHlCTmdHOEQ7STRCbkdoRSxxQjVCbUdnRSxFQUFBO0lyQnF2RzlEO01pRHIxR0EseUJBQXFDLEVBQUE7SWpEdTFHckM7TWlEbjFHQSxjQUEwQixFQUFBO0VqRHExRzVCO0lpRDkxR0EsYzVCcUdnRTtJTWhHOUQseUJOZ0c4RDtJNEJuR2hFLHFCNUJtR2dFLEVBQUE7SXJCNnZHOUQ7TWlENzFHQSx5QkFBcUMsRUFBQTtJakQrMUdyQztNaUQzMUdBLGNBQTBCLEVBQUE7RWpENjFHNUI7SWlEdDJHQSxjNUJxR2dFO0lNaEc5RCx5Qk5nRzhEO0k0Qm5HaEUscUI1Qm1HZ0UsRUFBQTtJckJxd0c5RDtNaURyMkdBLHlCQUFxQyxFQUFBO0lqRHUyR3JDO01pRG4yR0EsY0FBMEIsRUFBQTtFakRxMkc1QjtJaUQ5MkdBLGM1QnFHZ0U7SU1oRzlELHlCTmdHOEQ7STRCbkdoRSxxQjVCbUdnRSxFQUFBO0lyQjZ3RzlEO01pRDcyR0EseUJBQXFDLEVBQUE7SWpEKzJHckM7TWlEMzJHQSxjQUEwQixFQUFBO0VqRDYyRzVCO0lpRHQzR0EsYzVCcUdnRTtJTWhHOUQseUJOZ0c4RDtJNEJuR2hFLHFCNUJtR2dFLEVBQUE7SXJCcXhHOUQ7TWlEcjNHQSx5QkFBcUMsRUFBQTtJakR1M0dyQztNaURuM0dBLGNBQTBCLEVBQUE7RWpEcTNHNUI7SWlEOTNHQSxjNUJxR2dFO0lNaEc5RCx5Qk5nRzhEO0k0Qm5HaEUscUI1Qm1HZ0UsRUFBQTtJckI2eEc5RDtNaUQ3M0dBLHlCQUFxQyxFQUFBO0lqRCszR3JDO01pRDMzR0EsY0FBMEIsRUFBQTtFakQ2M0c1QjtJaUR0NEdBLGM1QnFHZ0U7SU1oRzlELHlCTmdHOEQ7STRCbkdoRSxxQjVCbUdnRSxFQUFBO0lyQnF5RzlEO01pRHI0R0EseUJBQXFDLEVBQUE7SWpEdTRHckM7TWlEbjRHQSxjQUEwQixFQUFBOztBQ1I1QjtFQUNFO0lBQU8sMkJBQXVDLEVBQUE7RUFDOUM7SUFBSyx3QkFBd0IsRUFBQSxFQUFBOztBQUYvQjtFQUNFO0lBQU8sMkJBQXVDLEVBQUE7RUFDOUM7SUFBSyx3QkFBd0IsRUFBQSxFQUFBO0VsRGk1Ry9CO0lrRDU0R0EsYUFBYTtJQUNiLFkzQzA5QnNDO0kyQ3o5QnRDLGdCQUFnQjtJQUNoQixjQUFjO0k1Q21IVixvQkF0Q1k7STRDM0VoQix5QjNDTGdCO0lLU2Qsc0JMNk5nQztJTS9OOUIsb0ROQ1MsRUFBQTtFUDY0R2I7SWtEMTRHQSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsVzNDakJhO0kyQ2tCYixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHlCakRyQnNCO0l3QlVsQiwyQmxCNDlCNEMsRUFBQTtJa0J4OUI1QztNekJxNUdBO1F5QnA1R0UsZ0JBQWdCLEVBQUEsRXlCUXZCO0VsRDg0R0M7STJCaDRHQSxxTUFBNkk7SXVCVjdJLDBCM0NtOEJzQyxFQUFBO0VQMDhFdEM7SWtEeDRHRSwwRDNDcThCa0Q7WTJDcjhCbEQsa0QzQ3E4QmtELEVBQUE7STJDbDhCaEQ7TWxEdzRHQTtRa0R2NEdFLHVCQUFlO2dCQUFmLGVBQWUsRUFBQSxFQUdwQjtFbERzNEdEO0ltRGw3R0EsYUFBYTtJQUNiLHVCQUF1QixFQUFBO0VuRG83R3ZCO0ltRGg3R0EsT0FBTyxFQUFBO0VuRGs3R1A7SW9EbjdHQSxhQUFhO0lBQ2Isc0JBQXNCO0lBR3RCLGVBQWU7SUFDZixnQkFBZ0I7SXhDUWQsc0JMNk5nQyxFQUFBO0VQK3NHbEM7SW9EejZHQSxXQUFXO0lBQ1gsY2xEaEJnQjtJa0RpQmhCLG1CQUFtQixFQUFBO0lwRDI2R2pCO01vRHY2R0EsVUFBVTtNQUNWLGNsRHRCYztNa0R1QmQscUJBQXFCO01BQ3JCLHlCbERsQmMsRUFBQTtJRjI3R2Q7TW9EcjZHQSxjbERRaUI7TWtEUGpCLHlCbER4QmMsRUFBQTtFRis3R2hCO0lvRDc1R0Esa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCx3QjdDeThCeUM7STZDdDhCekMsd0NsRFRtQjtJa0RVbkIsNENsRGhEYSxFQUFBO0lGNjhHWDtNWXI3R0EsK0J3QzJCa0M7TXhDMUJsQyxnQ3dDMEJrQyxFQUFBO0lwRDY1R2xDO01ZMTZHQSxtQ3dDaUJxQztNeENoQnJDLGtDd0NnQnFDLEVBQUE7SXBENDVHckM7TW9EdjVHQSxjbER4RGM7TWtEeURkLG9CQUFvQjtNQUNwQix3Q2xEeEJpQixFQUFBO0lGaTdHakI7TW9EcDVHQSxVQUFVO01BQ1YsV2xEMURXO01rRDJEWCx5QmxEcERrRDtNa0RxRGxELHFCbERyRGtELEVBQUE7SUYyOEdsRDtNb0RsNUdBLG1CQUFtQixFQUFBO01wRG81R2pCO1FvRGo1R0EsZ0I3QzRKMkI7UTZDM0ozQixxQjdDMkoyQixFQUFBO0VQd3ZHL0I7SW9EcDRHSSxtQkFBbUIsRUFBQTtJcERzNEdyQjtNWTc1R0Esa0NMc0tnQztNS2xMaEMsMEJ3Q3dDd0MsRUFBQTtJcERvNEd4QztNWTU2R0EsZ0NMa0xnQztNS3RLaEMsNEJ3Q2lDMEMsRUFBQTtJcERrNEcxQztNb0Q5M0dNLGFBQWEsRUFBQTtJcERnNEduQjtNb0Q1M0dNLHFCN0MwSHVCO002Q3pIdkIsb0JBQW9CLEVBQUE7TXBEODNHeEI7UW9EMzNHTSxpQjdDc0hxQjtRNkNySHJCLHNCN0NxSHFCLEVBQUE7RVNoTDdCO0loQnk3R0E7TW9EcjVHRSxtQkFBbUIsRUFBQTtNcER1NUduQjtRWTk2R0Ysa0NMc0tnQztRS2xMaEMsMEJ3Q3dDd0MsRUFBQTtNcERxNUd0QztRWTc3R0YsZ0NMa0xnQztRS3RLaEMsNEJ3Q2lDMEMsRUFBQTtNcERtNUd4QztRb0QvNEdJLGFBQWEsRUFBQTtNcERpNUdqQjtRb0Q3NEdJLHFCN0MwSHVCO1E2Q3pIdkIsb0JBQW9CLEVBQUE7UXBEKzRHdEI7VW9ENTRHSSxpQjdDc0hxQjtVNkNySHJCLHNCN0NxSHFCLEVBQUEsRTZDcEh0QjtFcEM1RFA7SWhCMDhHQTtNb0R0NkdFLG1CQUFtQixFQUFBO01wRHc2R25CO1FZLzdHRixrQ0xzS2dDO1FLbExoQywwQndDd0N3QyxFQUFBO01wRHM2R3RDO1FZOThHRixnQ0xrTGdDO1FLdEtoQyw0QndDaUMwQyxFQUFBO01wRG82R3hDO1FvRGg2R0ksYUFBYSxFQUFBO01wRGs2R2pCO1FvRDk1R0kscUI3QzBIdUI7UTZDekh2QixvQkFBb0IsRUFBQTtRcERnNkd0QjtVb0Q3NUdJLGlCN0NzSHFCO1U2Q3JIckIsc0I3Q3FIcUIsRUFBQSxFNkNwSHRCO0VwQzVEUDtJaEIyOUdBO01vRHY3R0UsbUJBQW1CLEVBQUE7TXBEeTdHbkI7UVloOUdGLGtDTHNLZ0M7UUtsTGhDLDBCd0N3Q3dDLEVBQUE7TXBEdTdHdEM7UVkvOUdGLGdDTGtMZ0M7UUt0S2hDLDRCd0NpQzBDLEVBQUE7TXBEcTdHeEM7UW9EajdHSSxhQUFhLEVBQUE7TXBEbTdHakI7UW9ELzZHSSxxQjdDMEh1QjtRNkN6SHZCLG9CQUFvQixFQUFBO1FwRGk3R3RCO1VvRDk2R0ksaUI3Q3NIcUI7VTZDckhyQixzQjdDcUhxQixFQUFBLEU2Q3BIdEI7RXBDNURQO0loQjQrR0E7TW9EeDhHRSxtQkFBbUIsRUFBQTtNcEQwOEduQjtRWWorR0Ysa0NMc0tnQztRS2xMaEMsMEJ3Q3dDd0MsRUFBQTtNcER3OEd0QztRWWgvR0YsZ0NMa0xnQztRS3RLaEMsNEJ3Q2lDMEMsRUFBQTtNcERzOEd4QztRb0RsOEdJLGFBQWEsRUFBQTtNcERvOEdqQjtRb0RoOEdJLHFCN0MwSHVCO1E2Q3pIdkIsb0JBQW9CLEVBQUE7UXBEazhHdEI7VW9ELzdHSSxpQjdDc0hxQjtVNkNySHJCLHNCN0NxSHFCLEVBQUEsRTZDcEh0QjtFcERnOEdUO0lZdGlIRSxnQndDb0hzQixFQUFBO0lwRG83R3RCO01vRGo3R0EscUI3Q21HNkIsRUFBQTtNUGcxRzNCO1FvRGg3R0Esc0JBQXNCLEVBQUE7RXBEazdHMUI7SXFEMWpIRSxjaENrRzhEO0lnQ2pHOUQseUJoQ2lHOEQsRUFBQTtJckIyOUc5RDtNcUR4akhJLGNoQzZGMEQ7TWdDNUYxRCx5QkFBeUMsRUFBQTtJckQwakg3QztNcUR0akhJLFduRFhPO01tRFlQLHlCaEN1RjBEO01nQ3RGMUQscUJoQ3NGMEQsRUFBQTtFckJrK0doRTtJcURwa0hFLGNoQ2tHOEQ7SWdDakc5RCx5QmhDaUc4RCxFQUFBO0lyQnErRzlEO01xRGxrSEksY2hDNkYwRDtNZ0M1RjFELHlCQUF5QyxFQUFBO0lyRG9rSDdDO01xRGhrSEksV25EWE87TW1EWVAseUJoQ3VGMEQ7TWdDdEYxRCxxQmhDc0YwRCxFQUFBO0VyQjQrR2hFO0lxRDlrSEUsY2hDa0c4RDtJZ0NqRzlELHlCaENpRzhELEVBQUE7SXJCKytHOUQ7TXFENWtISSxjaEM2RjBEO01nQzVGMUQseUJBQXlDLEVBQUE7SXJEOGtIN0M7TXFEMWtISSxXbkRYTztNbURZUCx5QmhDdUYwRDtNZ0N0RjFELHFCaENzRjBELEVBQUE7RXJCcy9HaEU7SXFEeGxIRSxjaENrRzhEO0lnQ2pHOUQseUJoQ2lHOEQsRUFBQTtJckJ5L0c5RDtNcUR0bEhJLGNoQzZGMEQ7TWdDNUYxRCx5QkFBeUMsRUFBQTtJckR3bEg3QztNcURwbEhJLFduRFhPO01tRFlQLHlCaEN1RjBEO01nQ3RGMUQscUJoQ3NGMEQsRUFBQTtFckJnZ0hoRTtJcURsbUhFLGNoQ2tHOEQ7SWdDakc5RCx5QmhDaUc4RCxFQUFBO0lyQm1nSDlEO01xRGhtSEksY2hDNkYwRDtNZ0M1RjFELHlCQUF5QyxFQUFBO0lyRGttSDdDO01xRDlsSEksV25EWE87TW1EWVAseUJoQ3VGMEQ7TWdDdEYxRCxxQmhDc0YwRCxFQUFBO0VyQjBnSGhFO0lxRDVtSEUsY2hDa0c4RDtJZ0NqRzlELHlCaENpRzhELEVBQUE7SXJCNmdIOUQ7TXFEMW1ISSxjaEM2RjBEO01nQzVGMUQseUJBQXlDLEVBQUE7SXJENG1IN0M7TXFEeG1ISSxXbkRYTztNbURZUCx5QmhDdUYwRDtNZ0N0RjFELHFCaENzRjBELEVBQUE7RXJCb2hIaEU7SXFEdG5IRSxjaENrRzhEO0lnQ2pHOUQseUJoQ2lHOEQsRUFBQTtJckJ1aEg5RDtNcURwbkhJLGNoQzZGMEQ7TWdDNUYxRCx5QkFBeUMsRUFBQTtJckRzbkg3QztNcURsbkhJLFduRFhPO01tRFlQLHlCaEN1RjBEO01nQ3RGMUQscUJoQ3NGMEQsRUFBQTtFckI4aEhoRTtJcURob0hFLGNoQ2tHOEQ7SWdDakc5RCx5QmhDaUc4RCxFQUFBO0lyQmlpSDlEO01xRDluSEksY2hDNkYwRDtNZ0M1RjFELHlCQUF5QyxFQUFBO0lyRGdvSDdDO01xRDVuSEksV25EWE87TW1EWVAseUJoQ3VGMEQ7TWdDdEYxRCxxQmhDc0YwRCxFQUFBO0VyQndpSGhFO0lzRDdvSEEsWUFBWTtJaEQ4SFIsbUJBdENZO0lnRHRGaEIsZ0IvQzZSK0I7SStDNVIvQixjQUFjO0lBQ2QsV3BERmE7SW9ER2IseUJwRE9hO0lvRE5iLFdBQVcsRUFBQTtJdEQrb0hUO01zRDNvSEEsV3BEUlc7TW9EU1gscUJBQXFCLEVBQUE7SXRENm9IckI7TXNEeG9IRSxZQUFZLEVBQUE7RXREMG9IaEI7SXNEOW5IQSxVQUFVO0lBQ1YsNkJBQTZCO0lBQzdCLFNBQVMsRUFBQTtFdERnb0hUO0lzRHpuSEEsb0JBQW9CLEVBQUE7RXREMm5IcEI7SXVEOXBIQSxpQmhEbTRCdUM7SWdEbDRCdkMsZ0JoRGs0QnVDO0lEdndCbkMsbUJBdENZO0lpRGxGaEIscUNyRE1hO0lxRExiLDRCQUE0QjtJQUM1QiwwQ3JEbUp5RDtJcURsSnpELHNEckRQYTtJcURRYixVQUFVO0kzQ09SLHNCTDQzQnNDLEVBQUE7SVA2eEZ0QztNdUQ1cEhBLHNCaER3M0JzQyxFQUFBO0lQc3lGdEM7TXVEMXBIQSxVQUFVLEVBQUE7SXZENHBIVjtNdUR4cEhBLGNBQWM7TUFDZCxVQUFVLEVBQUE7SXZEMHBIVjtNdUR0cEhBLGFBQWEsRUFBQTtFdkR3cEhmO0l1RG5wSEEsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix3QmhEbzJCd0M7SWdEbjJCeEMsY3JEN0JnQjtJcUQ4QmhCLHFDckR4QmE7SXFEeUJiLDRCQUE0QjtJQUM1QixrRHJEMEgwRDtJVXRJeEQsMkNTZ0g0RDtJVC9HNUQsNENTK0c0RCxFQUFBO0VyQm1qSDlEO0l1RGxwSEEsZ0JoRDIxQndDLEVBQUE7RVB5ekZ4QztJd0R4ckhBLGdCQUFnQixFQUFBO0l4RDBySGQ7TXdEdnJIQSxrQkFBa0I7TUFDbEIsZ0JBQWdCLEVBQUE7RXhEeXJIbEI7SXdEbnJIQSxlQUFlO0lBQ2YsTUFBTTtJQUNOLE9BQU87SUFDUCxhakQwcEJzQztJaUR6cEJ0QyxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWixnQkFBZ0I7SUFHaEIsVUFBVSxFQUFBO0V4RG1ySFY7SXdEM3FIQSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGNqRHk0QnVDO0lpRHY0QnZDLG9CQUFvQixFQUFBO0lBR3BCO00vQjNCSSxtQ2xCODdCb0Q7TWlEajZCdEQsOEJqRCs1Qm1ELEVBQUE7TWtCeDdCakQ7UStCdUJKO1UvQnRCTSxnQkFBZ0IsRUFBQSxFK0J5QnJCO0lBQ0Q7TUFDRSxlakQ2NUJvQyxFQUFBO0lpRHo1QnRDO01BQ0Usc0JqRDA1QjJDLEVBQUE7RVArd0Y3QztJd0RwcUhBLGFBQWE7SUFDYiw2Qm5DZ0Y4RCxFQUFBO0lyQnNsSDVEO013RG5xSEEsOEJuQzZFNEQ7TW1DNUU1RCxnQkFBZ0IsRUFBQTtJeERxcUhoQjs7TXdEaHFIQSxjQUFjLEVBQUE7SXhEbXFIZDtNd0QvcEhBLGdCQUFnQixFQUFBO0V4RGlxSGxCO0l3RDVwSEEsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw2Qm5DNEQ4RCxFQUFBO0lyQmttSDVEO013RDFwSEEsY0FBYztNQUNkLDBCbkN1RDREO01tQ3RENUQsMkJBQW1CO01BQW5CLHdCQUFtQjtNQUFuQixtQkFBbUI7TUFDbkIsV0FBVyxFQUFBO0l4RDRwSFg7TXdEdnBIQSxzQkFBc0I7TUFDdEIsdUJBQXVCO01BQ3ZCLFlBQVksRUFBQTtNeER5cEhWO1F3RHRwSEEsZ0JBQWdCLEVBQUE7TXhEd3BIaEI7UXdEcHBIQSxhQUFhLEVBQUE7RXhEc3BIakI7SXdEL29IQSxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0lBR1gsb0JBQW9CO0lBQ3BCLHlCdER6RW1CO0lzRDBFbkIsNEJBQTRCO0lBQzVCLDBDdERqSGE7SVVlWCxxQkw4TitCO0lNaE83QiwrQ05DUztJaUR1R2IsVUFBVSxFQUFBO0V4RDhvSFY7SXdEem9IQSxlQUFlO0lBQ2YsTUFBTTtJQUNOLE9BQU87SUFDUCxhakQ4aUJzQztJaUQ3aUJ0QyxZQUFZO0lBQ1osYUFBYTtJQUNiLHNCakRsSGEsRUFBQTtJUDZ2SFg7TXdEeG9ITyxVQUFVLEVBQUE7SXhEMG9IakI7TXdEem9ITyxZakR1ekIyQixFQUFBO0VQbzFGcEM7SXdEcm9IQSxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QixrQmpEb3pCc0M7SWlEbnpCdEMsZ0N0RHRJZ0I7SVVnQmQsMENTZ0g0RDtJVC9HNUQsMkNTK0c0RCxFQUFBO0lyQitvSDVEO013RHJvSEEsa0JqRCt5Qm9DO01pRDd5QnBDLDhCQUE2RixFQUFBO0V4RHNvSC9GO0l3RGhvSEEsZ0JBQWdCO0lBQ2hCLGdCakRzSStCLEVBQUE7RVA0L0cvQjtJd0Q1bkhBLGtCQUFrQjtJQUdsQixjQUFjO0lBQ2QsYWpEa3dCc0MsRUFBQTtFUDAzRnRDO0l3RHZuSEEsYUFBYTtJQUNiLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGdCQUFnRTtJQUNoRSw2QnREdktnQjtJVThCZCw4Q1NrRzREO0lUakc1RCw2Q1NpRzRELEVBQUE7SXJCa3FINUQ7TXdEcG5IQSxlQUF3QyxFQUFBO0V4RHNuSDFDO0l3RGhuSEEsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQixFQUFBO0V4Q3ZJZDtJaEIwdkhBO013RDVtSEEsZ0JqRCt2QnFDO01pRDl2QnJDLG9CQUF5QyxFQUFBO0l4RDhtSHpDO013RDFtSEEsK0JuQ3BFNEQsRUFBQTtNckJnckgxRDtRd0R6bUhBLGdDbkN2RTBELEVBQUE7SXJCa3JINUQ7TXdEdG1IQSwrQm5DNUU0RCxFQUFBO01yQm9ySDFEO1F3RHJtSEEsNEJuQy9FMEQ7UW1DZ0YxRCwyQkFBbUI7UUFBbkIsd0JBQW1CO1FBQW5CLG1CQUFtQixFQUFBO0l4RHVtSHJCO01hbHpIRSw0Q05DUyxFQUFBO0lQbXpIWDtNd0RqbUhVLGdCakR1dUIyQixFQUFBLEVpRHZ1Qkg7RXhDdktsQztJaEIyd0hBOztNd0Q5bEhBLGdCakQrdEJxQyxFQUFBLEVpRDl0QnRDO0V4QzlLQztJaEIrd0hBO013RDdsSFUsaUJqRHl0QjRCLEVBQUEsRWlEenRCSjtFeEQrbEhwQztJeUQzMEhBLGtCQUFrQjtJQUNsQixhbEQ4cUJzQztJa0Q3cUJ0QyxjQUFjO0lBQ2QsU2xEcTFCbUM7SW1EejFCbkMsb0NyREQrQztJcURHL0Msa0JBQWtCO0lBQ2xCLGdCbkQyUitCO0ltRDFSL0IsZ0JuRCtSK0I7SW1EOVIvQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SXBEZ0haLHFCQXRDWTtJbUQ5RWhCLHFCQUFxQjtJQUNyQixVQUFVLEVBQUE7SXpEdTFIUjtNeURyMUhPLFlsRHkwQjJCLEVBQUE7SVA4Z0dsQztNeURwMUhBLGtCQUFrQjtNQUNsQixjQUFjO01BQ2QsYWxEeTBCcUM7TWtEeDBCckMsY2xEeTBCcUMsRUFBQTtNUDZnR25DO1F5RG4xSEEsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCx5QkFBeUI7UUFDekIsbUJBQW1CLEVBQUE7RXpEcTFIdkI7SXlELzBIQSxpQkFBZ0MsRUFBQTtJekRpMUg5QjtNeUQ5MEhBLFNBQVMsRUFBQTtNekRnMUhQO1F5RDcwSEEsTUFBTTtRQUNOLDZCQUFnRTtRQUNoRSxzQmxEdkJTLEVBQUE7RVBzMkhiO0l5RHowSEEsaUJsRCt5QnVDLEVBQUE7SVA0aEdyQztNeUR4MEhBLE9BQU87TUFDUCxhbEQyeUJxQztNa0QxeUJyQyxjbER5eUJxQyxFQUFBO01QaWlHbkM7UXlEdjBIQSxRQUFRO1FBQ1Isb0NBQTJGO1FBQzNGLHdCbER2Q1MsRUFBQTtFUGczSGI7SXlEbjBIQSxpQkFBZ0MsRUFBQTtJekRxMEg5QjtNeURsMEhBLE1BQU0sRUFBQTtNekRvMEhKO1F5RGowSEEsU0FBUztRQUNULDZCbER3eEJtQztRa0R2eEJuQyx5QmxEckRTLEVBQUE7RVB3M0hiO0l5RDd6SEEsaUJsRGl4QnVDLEVBQUE7SVA4aUdyQztNeUQ1ekhBLFFBQVE7TUFDUixhbEQ2d0JxQztNa0Q1d0JyQyxjbEQyd0JxQyxFQUFBO01QbWpHbkM7UXlEM3pIQSxPQUFPO1FBQ1Asb0NsRHd3Qm1DO1FrRHZ3Qm5DLHVCbERyRVMsRUFBQTtFUGs0SGI7SXlEdnlIQSxnQmxEdXVCdUM7SWtEdHVCdkMsdUJsRDR1QnVDO0lrRDN1QnZDLFdsRHZHYTtJa0R3R2Isa0JBQWtCO0lBQ2xCLHNCbEQvRmE7SUtDWCxzQkw2TmdDLEVBQUE7RVAycUhsQztJMkR6NUhBLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLGFwRDRxQnNDO0lvRDNxQnRDLGNBQWM7SUFDZCxnQnBEdTJCdUM7SW1ENTJCdkMsb0NyREQrQztJcURHL0Msa0JBQWtCO0lBQ2xCLGdCbkQyUitCO0ltRDFSL0IsZ0JuRCtSK0I7SW1EOVIvQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SXBEZ0haLHFCQXRDWTtJcUQ3RWhCLHFCQUFxQjtJQUNyQixzQnBETmE7SW9ET2IsNEJBQTRCO0lBQzVCLG9DcERFYTtJS0NYLHFCTDhOK0I7SU1oTzdCLCtDTkNTLEVBQUE7SVBxNkhYO00yRGw2SEEsa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxXcER1MkJvQztNb0R0MkJwQyxjcER1MkJxQztNb0R0MkJyQyxnQnBEd04rQixFQUFBO01QNHNIN0I7UTJEaDZIQSxrQkFBa0I7UUFDbEIsY0FBYztRQUNkLFdBQVc7UUFDWCx5QkFBeUI7UUFDekIsbUJBQW1CLEVBQUE7RTNEazZIdkI7STJENTVIQSxxQnBEdzFCdUMsRUFBQTtJUHNrR3JDO00yRDM1SEEsMkJ0Q2tHNEQsRUFBQTtNckIyekgxRDtRMkQxNUhBLFNBQVM7UUFDVCw2QkFBZ0U7UUFDaEUscUNwRG0xQmlFLEVBQUE7TVB5a0dqRTtRMkR4NUhBLFdwRDBMMkI7UW9EekwzQiw2QkFBZ0U7UUFDaEUsc0JwRDdDUyxFQUFBO0VQdThIYjtJMkRwNUhBLG1CcERvMEJ1QyxFQUFBO0lQa2xHckM7TTJEbjVIQSx5QnRDOEU0RDtNc0M3RTVELGFwRGcwQnFDO01vRC96QnJDLFlwRDh6Qm9DO01vRDd6QnBDLGdCQUFnQyxFQUFBO00zRHE1SDlCO1EyRGw1SEEsT0FBTztRQUNQLG9DQUEyRjtRQUMzRix1Q3BENHpCaUUsRUFBQTtNUHdsR2pFO1EyRGg1SEEsU3BEbUsyQjtRb0RsSzNCLG9DQUEyRjtRQUMzRix3QnBEcEVTLEVBQUE7RVBzOUhiO0kyRDU0SEEsa0JwRDZ5QnVDLEVBQUE7SVBpbUdyQztNMkQzNEhBLHdCdEN1RDRELEVBQUE7TXJCczFIMUQ7UTJEMTRIQSxNQUFNO1FBQ04sb0NBQTJGO1FBQzNGLHdDcER3eUJpRSxFQUFBO01Qb21HakU7UTJEeDRIQSxRcEQrSTJCO1FvRDlJM0Isb0NBQTJGO1FBQzNGLHlCcER4RlMsRUFBQTtJUGsrSFg7TTJEcDRIQSxrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLFNBQVM7TUFDVCxjQUFjO01BQ2QsV3BEb3hCb0M7TW9EbnhCcEMsb0JBQXNDO01BQ3RDLFdBQVc7TUFDWCxnQ3BEd3dCdUQsRUFBQTtFUDhuR3pEO0kyRGo0SEEsb0JwRDZ3QnVDLEVBQUE7SVBzbkdyQztNMkRoNEhBLDBCdEN1QjREO01zQ3RCNUQsYXBEeXdCcUM7TW9EeHdCckMsWXBEdXdCb0M7TW9EdHdCcEMsZ0JBQWdDLEVBQUE7TTNEazRIOUI7UTJELzNIQSxRQUFRO1FBQ1Isb0NwRG13Qm1DO1FvRGx3Qm5DLHNDcERxd0JpRSxFQUFBO01QNG5HakU7UTJENzNIQSxVcEQ0RzJCO1FvRDNHM0Isb0NwRDZ2Qm1DO1FvRDV2Qm5DLHVCcEQzSFMsRUFBQTtFUDAvSGI7STJEeDJIQSx1QnBEOHRCd0M7SW9EN3RCeEMsZ0JBQWdCO0lyRDNCWixrQkF0Q1k7SXFEb0VoQix5QnBEdXRCeUQ7SW9EdHRCekQsZ0NBQXlFO0kvQ25JdkUsMENTZ0g0RDtJVC9HNUQsMkNTK0c0RCxFQUFBO0lyQjgzSDVEO00yRHYySEEsYUFBYSxFQUFBO0UzRHkySGY7STJEcDJIQSx1QnBEZ3RCd0M7SW9EL3NCeEMsY3BEeEpnQixFQUFBO0VQOC9IaEI7STREaGdJQSxrQkFBa0IsRUFBQTtFNURrZ0lsQjtJNEQ5L0hBLG1CQUFtQixFQUFBO0U1RGdnSW5CO0k0RDUvSEEsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxnQkFBZ0IsRUFBQTtJNUQ4L0hkO002RHBoSUEsY0FBYztNQUNkLFdBQVc7TUFDWCxXQUFXLEVBQUE7RTdEc2hJYjtJNEQ3L0hBLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsbUNBQTJCO1lBQTNCLDJCQUEyQjtJbkNsQnZCLHNDbEJtakNrRixFQUFBO0lrQi9pQ2xGO016QitnSUE7UXlCOWdJRSxnQkFBZ0IsRUFBQSxFbUNldkI7RTVEaWdJQzs7O0k0RDUvSEEsY0FBYyxFQUFBO0U1RGdnSWQ7O0k0RDMvSEEsMkJBQTJCLEVBQUE7RTVEOC9IM0I7O0k0RHovSEEsNEJBQTRCLEVBQUE7RTVENC9INUI7STREbC9IRSxVQUFVO0lBQ1YsNEJBQTRCO0lBQzVCLGVBQWUsRUFBQTtFNURvL0hqQjs7O0k0RDkrSEUsVUFBVTtJQUNWLFVBQVUsRUFBQTtFNURrL0haOztJNEQ3K0hFLFVBQVU7SUFDVixVQUFVO0luQzVEUiwyQmxCa2pDa0MsRUFBQTtJa0I5aUNsQztNekIwaUlBOztReUJ6aUlFLGdCQUFnQixFQUFBLEVtQ3lEckI7RTVEbS9IRDs7STREeitIQSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxVQUFVO0lBRVYsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsVXJEODhCc0M7SXFENzhCdEMsV3JEMUZhO0lxRDJGYixrQkFBa0I7SUFDbEIsWXJENDhCcUM7SWtCL2hDakMsOEJsQmlpQ2dELEVBQUE7SWtCN2hDaEQ7TXpCNGpJQTs7UXlCM2pJRSxnQkFBZ0IsRUFBQSxFbUN3RnZCO0k1RHMrSEc7OztNNEQzK0hBLFdyRGpHVztNcURrR1gscUJBQXFCO01BQ3JCLFVBQVU7TUFDVixZckRxOEJtQyxFQUFBO0VQMGlHckM7STREMytIQSxPQUFPLEVBQUE7RTVENitIUDtJNER2K0hBLFFBQVEsRUFBQTtFNUR5K0hSOztJNERoK0hBLHFCQUFxQjtJQUNyQixXckQ4N0J1QztJcUQ3N0J2QyxZckQ2N0J1QztJcUQ1N0J2QyxxQ0FBcUMsRUFBQTtFNURtK0hyQztJNERoK0hBLHNOdkMxRWdGLEVBQUE7RXJCNGlJaEY7STRELzlIQSx1TnZDN0VnRixFQUFBO0VyQjhpSWhGO0k0RHY5SEEsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFdBQVc7SUFDWCxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFFZixpQnJEbzVCc0M7SXFEbjVCdEMsZ0JyRG01QnNDO0lxRGw1QnRDLGdCQUFnQixFQUFBO0k1RHc5SGQ7TTREcjlIQSx1QkFBdUI7TUFDdkIsY0FBYztNQUNkLFdyRGs1QnFDO01xRGo1QnJDLFdyRGs1Qm9DO01xRGo1QnBDLGlCckRtNUJvQztNcURsNUJwQyxnQnJEazVCb0M7TXFEajVCcEMsbUJBQW1CO01BQ25CLGVBQWU7TUFDZixzQnJEaEtXO01xRGlLWCw0QkFBNEI7TUFFNUIsa0NBQWlFO01BQ2pFLHFDQUFvRTtNQUNwRSxXQUFXO01uQzVKVCw2QmxCd2lDK0MsRUFBQTtNa0JwaUMvQztRekJnbklFO1V5Qi9tSUEsZ0JBQWdCLEVBQUEsRW1DeUpyQjtJNUR3OUhDO000RHI5SEEsVUFBVSxFQUFBO0U1RHU5SFo7STRENzhIQSxrQkFBa0I7SUFDbEIsVUFBMkM7SUFDM0MsWUFBWTtJQUNaLFNBQTBDO0lBQzFDLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLFdyRDNMYTtJcUQ0TGIsa0JBQWtCLEVBQUE7O0FFL0xwQjtFQUNFO0lBQUsseUJBQXlCLEVBQUEsRUFBQTs7QUFEaEM7RUFDRTtJQUFLLHlCQUF5QixFQUFBLEVBQUE7RTlEaXBJOUI7SThEN29JQSxxQkFBcUI7SUFDckIsV3ZEOGpDMEI7SXVEN2pDMUIsWXZENmpDMEI7SXVENWpDMUIsMkJBQTJCO0lBQzNCLGlDQUFnRDtJQUNoRCwrQkFBK0I7SUFFL0Isa0JBQWtCO0lBQ2xCLHNEQUE4QztZQUE5Qyw4Q0FBOEMsRUFBQTtFOUQ4b0k5QztJOEQxb0lBLFd2RHVqQzRCO0l1RHRqQzVCLFl2RHNqQzRCO0l1RHJqQzVCLG1CdkR1akM0QixFQUFBOztBdURoakM5QjtFQUNFO0lBQ0UsbUJBQW1CLEVBQUE7RUFFckI7SUFDRSxVQUFVO0lBQ1YsZUFBZSxFQUFBLEVBQUE7O0FBTm5CO0VBQ0U7SUFDRSxtQkFBbUIsRUFBQTtFQUVyQjtJQUNFLFVBQVU7SUFDVixlQUFlLEVBQUEsRUFBQTtFOURzb0lqQjtJOERqb0lBLHFCQUFxQjtJQUNyQixXdkQ4aEMwQjtJdUQ3aEMxQixZdkQ2aEMwQjtJdUQ1aEMxQiwyQkFBMkI7SUFDM0IsOEJBQThCO0lBRTlCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1Ysb0RBQTRDO1lBQTVDLDRDQUE0QyxFQUFBO0U5RGtvSTVDO0k4RDluSUEsV3ZEdWhDNEI7SXVEdGhDNUIsWXZEc2hDNEIsRUFBQTtFUDBtRzVCO0krRHBySW1CLG1DQUFtQyxFQUFBO0UvRHNySXREO0krRHJySW1CLDhCQUE4QixFQUFBO0UvRHVySWpEO0krRHRySW1CLGlDQUFpQyxFQUFBO0UvRHdySXBEO0krRHZySW1CLGlDQUFpQyxFQUFBO0UvRHlySXBEO0krRHhySW1CLHNDQUFzQyxFQUFBO0UvRDBySXpEO0krRHpySW1CLG1DQUFtQyxFQUFBO0UvRDJySXREO0lnRTVySUUsb0NBQW1DLEVBQUE7RWhFOHJJckM7OztJZ0V6cklJLG9DQUFnRCxFQUFBO0VoRTZySXBEO0lnRWxzSUUsb0NBQW1DLEVBQUE7RWhFb3NJckM7OztJZ0UvcklJLG9DQUFnRCxFQUFBO0VoRW1zSXBEO0lnRXhzSUUsb0NBQW1DLEVBQUE7RWhFMHNJckM7OztJZ0Vyc0lJLG9DQUFnRCxFQUFBO0VoRXlzSXBEO0lnRTlzSUUsb0NBQW1DLEVBQUE7RWhFZ3RJckM7OztJZ0Uzc0lJLG9DQUFnRCxFQUFBO0VoRStzSXBEO0lnRXB0SUUsb0NBQW1DLEVBQUE7RWhFc3RJckM7OztJZ0VqdElJLG9DQUFnRCxFQUFBO0VoRXF0SXBEO0lnRTF0SUUsb0NBQW1DLEVBQUE7RWhFNHRJckM7OztJZ0V2dElJLG9DQUFnRCxFQUFBO0VoRTJ0SXBEO0lnRWh1SUUsb0NBQW1DLEVBQUE7RWhFa3VJckM7OztJZ0U3dElJLG9DQUFnRCxFQUFBO0VoRWl1SXBEO0lnRXR1SUUsb0NBQW1DLEVBQUE7RWhFd3VJckM7OztJZ0VudUlJLG9DQUFnRCxFQUFBO0VoRXV1SXBEO0lpRXJ1SUEsaUNBQW1DLEVBQUE7RWpFdXVJbkM7SWlFbnVJQSx3Q0FBd0MsRUFBQTtFakVxdUl4QztJa0VodklnQixvQ0FBb0QsRUFBQTtFbEVrdklwRTtJa0VqdklnQix3Q0FBd0QsRUFBQTtFbEVtdkl4RTtJa0VsdklnQiwwQ0FBMEQsRUFBQTtFbEVvdkkxRTtJa0VudklnQiwyQ0FBMkQsRUFBQTtFbEVxdkkzRTtJa0VwdklnQix5Q0FBeUQsRUFBQTtFbEVzdkl6RTtJa0VwdklpQixvQkFBb0IsRUFBQTtFbEVzdklyQztJa0VydklpQix3QkFBd0IsRUFBQTtFbEV1dkl6QztJa0V0dklpQiwwQkFBMEIsRUFBQTtFbEV3dkkzQztJa0V2dklpQiwyQkFBMkIsRUFBQTtFbEV5dkk1QztJa0V4dklpQix5QkFBeUIsRUFBQTtFbEUwdkkxQztJa0V0dklFLGdDQUErQixFQUFBO0VsRXd2SWpDO0lrRXh2SUUsZ0NBQStCLEVBQUE7RWxFMHZJakM7SWtFMXZJRSxnQ0FBK0IsRUFBQTtFbEU0dklqQztJa0U1dklFLGdDQUErQixFQUFBO0VsRTh2SWpDO0lrRTl2SUUsZ0NBQStCLEVBQUE7RWxFZ3dJakM7SWtFaHdJRSxnQ0FBK0IsRUFBQTtFbEVrd0lqQztJa0Vsd0lFLGdDQUErQixFQUFBO0VsRW93SWpDO0lrRXB3SUUsZ0NBQStCLEVBQUE7RWxFc3dJakM7SWtFandJQSw2QkFBK0IsRUFBQTtFbEVtd0kvQjtJa0UzdklBLGdDQUEyQyxFQUFBO0VsRTZ2STNDO0lrRXp2SUEsaUNBQXdDLEVBQUE7RWxFMnZJeEM7SWtFdnZJQSwwQ0FBaUQ7SUFDakQsMkNBQWtELEVBQUE7RWxFeXZJbEQ7SWtFcnZJQSwyQ0FBa0Q7SUFDbEQsOENBQXFELEVBQUE7RWxFdXZJckQ7SWtFbnZJQSw4Q0FBcUQ7SUFDckQsNkNBQW9ELEVBQUE7RWxFcXZJcEQ7SWtFanZJQSwwQ0FBaUQ7SUFDakQsNkNBQW9ELEVBQUE7RWxFbXZJcEQ7SWtFL3VJQSxnQ0FBMkMsRUFBQTtFbEVpdkkzQztJa0U3dUlBLDZCQUE2QixFQUFBO0VsRSt1STdCO0lrRTN1SUEsK0JBQXVDLEVBQUE7RWxFNnVJdkM7SWtFenVJQSwyQkFBMkIsRUFBQTtFbEUydUkzQjtJNkRseklFLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVyxFQUFBO0U3RG96SWI7SW1FN3lJNEIsd0JBQTBCLEVBQUE7RW5FK3lJdEQ7SW1FL3lJNEIsMEJBQTBCLEVBQUE7RW5FaXpJdEQ7SW1FanpJNEIsZ0NBQTBCLEVBQUE7RW5FbXpJdEQ7SW1FbnpJNEIseUJBQTBCLEVBQUE7RW5FcXpJdEQ7SW1FcnpJNEIseUJBQTBCLEVBQUE7RW5FdXpJdEQ7SW1FdnpJNEIsNkJBQTBCLEVBQUE7RW5FeXpJdEQ7SW1FenpJNEIsOEJBQTBCLEVBQUE7RW5FMnpJdEQ7SW1FM3pJNEIsd0JBQTBCLEVBQUE7RW5FNnpJdEQ7SW1FN3pJNEIsK0JBQTBCLEVBQUE7RW5EaURwRDtJaEIrd0lBO01tRWgwSTBCLHdCQUEwQixFQUFBO0luRWswSXBEO01tRWwwSTBCLDBCQUEwQixFQUFBO0luRW8wSXBEO01tRXAwSTBCLGdDQUEwQixFQUFBO0luRXMwSXBEO01tRXQwSTBCLHlCQUEwQixFQUFBO0luRXcwSXBEO01tRXgwSTBCLHlCQUEwQixFQUFBO0luRTAwSXBEO01tRTEwSTBCLDZCQUEwQixFQUFBO0luRTQwSXBEO01tRTUwSTBCLDhCQUEwQixFQUFBO0luRTgwSXBEO01tRTkwSTBCLHdCQUEwQixFQUFBO0luRWcxSXBEO01tRWgxSTBCLCtCQUEwQixFQUFBLEVBQUk7RW5EaUR4RDtJaEJreUlBO01tRW4xSTBCLHdCQUEwQixFQUFBO0luRXExSXBEO01tRXIxSTBCLDBCQUEwQixFQUFBO0luRXUxSXBEO01tRXYxSTBCLGdDQUEwQixFQUFBO0luRXkxSXBEO01tRXoxSTBCLHlCQUEwQixFQUFBO0luRTIxSXBEO01tRTMxSTBCLHlCQUEwQixFQUFBO0luRTYxSXBEO01tRTcxSTBCLDZCQUEwQixFQUFBO0luRSsxSXBEO01tRS8xSTBCLDhCQUEwQixFQUFBO0luRWkySXBEO01tRWoySTBCLHdCQUEwQixFQUFBO0luRW0ySXBEO01tRW4ySTBCLCtCQUEwQixFQUFBLEVBQUk7RW5EaUR4RDtJaEJxeklBO01tRXQySTBCLHdCQUEwQixFQUFBO0luRXcySXBEO01tRXgySTBCLDBCQUEwQixFQUFBO0luRTAySXBEO01tRTEySTBCLGdDQUEwQixFQUFBO0luRTQySXBEO01tRTUySTBCLHlCQUEwQixFQUFBO0luRTgySXBEO01tRTkySTBCLHlCQUEwQixFQUFBO0luRWczSXBEO01tRWgzSTBCLDZCQUEwQixFQUFBO0luRWszSXBEO01tRWwzSTBCLDhCQUEwQixFQUFBO0luRW8zSXBEO01tRXAzSTBCLHdCQUEwQixFQUFBO0luRXMzSXBEO01tRXQzSTBCLCtCQUEwQixFQUFBLEVBQUk7RW5EaUR4RDtJaEJ3MElBO01tRXozSTBCLHdCQUEwQixFQUFBO0luRTIzSXBEO01tRTMzSTBCLDBCQUEwQixFQUFBO0luRTYzSXBEO01tRTczSTBCLGdDQUEwQixFQUFBO0luRSszSXBEO01tRS8zSTBCLHlCQUEwQixFQUFBO0luRWk0SXBEO01tRWo0STBCLHlCQUEwQixFQUFBO0luRW00SXBEO01tRW40STBCLDZCQUEwQixFQUFBO0luRXE0SXBEO01tRXI0STBCLDhCQUEwQixFQUFBO0luRXU0SXBEO01tRXY0STBCLHdCQUEwQixFQUFBO0luRXk0SXBEO01tRXo0STBCLCtCQUEwQixFQUFBLEVBQUk7RUFVNUQ7SW5FazRJSTtNbUVoNElxQix3QkFBMEIsRUFBQTtJbkVrNEkvQztNbUVsNElxQiwwQkFBMEIsRUFBQTtJbkVvNEkvQztNbUVwNElxQixnQ0FBMEIsRUFBQTtJbkVzNEkvQztNbUV0NElxQix5QkFBMEIsRUFBQTtJbkV3NEkvQztNbUV4NElxQix5QkFBMEIsRUFBQTtJbkUwNEkvQztNbUUxNElxQiw2QkFBMEIsRUFBQTtJbkU0NEkvQztNbUU1NElxQiw4QkFBMEIsRUFBQTtJbkU4NEkvQztNbUU5NElxQix3QkFBMEIsRUFBQTtJbkVnNUkvQztNbUVoNUlxQiwrQkFBMEIsRUFBQSxFQUFJO0VuRWs1SXJEO0lvRXQ2SUEsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsVUFBVTtJQUNWLGdCQUFnQixFQUFBO0lwRXc2SWQ7TW9FcjZJQSxjQUFjO01BQ2QsV0FBVyxFQUFBO0lwRXU2SVg7Ozs7O01vRS81SUEsa0JBQWtCO01BQ2xCLE1BQU07TUFDTixTQUFTO01BQ1QsT0FBTztNQUNQLFdBQVc7TUFDWCxZQUFZO01BQ1osU0FBUyxFQUFBO0VwRXE2SVg7SW9FMzVJSSxzQkFBNEYsRUFBQTtFcEU2NUloRztJb0U3NUlJLG1CQUE0RixFQUFBO0VwRSs1SWhHO0lvRS81SUksZ0JBQTRGLEVBQUE7RXBFaTZJaEc7SW9FajZJSSxpQkFBNEYsRUFBQTtFcEVtNkloRztJcUU1N0lrQyw4QkFBOEIsRUFBQTtFckU4N0loRTtJcUU3N0lrQyxpQ0FBaUMsRUFBQTtFckUrN0luRTtJcUU5N0lrQyxzQ0FBc0MsRUFBQTtFckVnOEl4RTtJcUUvN0lrQyx5Q0FBeUMsRUFBQTtFckVpOEkzRTtJcUUvN0lnQywwQkFBMEIsRUFBQTtFckVpOEkxRDtJcUVoOElnQyw0QkFBNEIsRUFBQTtFckVrOEk1RDtJcUVqOElnQyxrQ0FBa0MsRUFBQTtFckVtOElsRTtJcUVsOElnQyx5QkFBeUIsRUFBQTtFckVvOEl6RDtJcUVuOElnQyx1QkFBdUIsRUFBQTtFckVxOEl2RDtJcUVwOElnQyx1QkFBdUIsRUFBQTtFckVzOEl2RDtJcUVyOElnQyx5QkFBeUIsRUFBQTtFckV1OEl6RDtJcUV0OElnQyx5QkFBeUIsRUFBQTtFckV3OEl6RDtJcUV0OElzQyxzQ0FBc0MsRUFBQTtFckV3OEk1RTtJcUV2OElzQyxvQ0FBb0MsRUFBQTtFckV5OEkxRTtJcUV4OElzQyxrQ0FBa0MsRUFBQTtFckUwOEl4RTtJcUV6OElzQyx5Q0FBeUMsRUFBQTtFckUyOEkvRTtJcUUxOElzQyx3Q0FBd0MsRUFBQTtFckU0OEk5RTtJcUUxOEltQyxrQ0FBa0MsRUFBQTtFckU0OElyRTtJcUUzOEltQyxnQ0FBZ0MsRUFBQTtFckU2OEluRTtJcUU1OEltQyw4QkFBOEIsRUFBQTtFckU4OElqRTtJcUU3OEltQyxnQ0FBZ0MsRUFBQTtFckUrOEluRTtJcUU5OEltQywrQkFBK0IsRUFBQTtFckVnOUlsRTtJcUU5OElvQyxvQ0FBb0MsRUFBQTtFckVnOUl4RTtJcUUvOElvQyxrQ0FBa0MsRUFBQTtFckVpOUl0RTtJcUVoOUlvQyxnQ0FBZ0MsRUFBQTtFckVrOUlwRTtJcUVqOUlvQyx1Q0FBdUMsRUFBQTtFckVtOUkzRTtJcUVsOUlvQyxzQ0FBc0MsRUFBQTtFckVvOUkxRTtJcUVuOUlvQyxpQ0FBaUMsRUFBQTtFckVxOUlyRTtJcUVuOUlrQywyQkFBMkIsRUFBQTtFckVxOUk3RDtJcUVwOUlrQyxpQ0FBaUMsRUFBQTtFckVzOUluRTtJcUVyOUlrQywrQkFBK0IsRUFBQTtFckV1OUlqRTtJcUV0OUlrQyw2QkFBNkIsRUFBQTtFckV3OUkvRDtJcUV2OUlrQywrQkFBK0IsRUFBQTtFckV5OUlqRTtJcUV4OUlrQyw4QkFBOEIsRUFBQTtFckRZOUQ7SWhCKzhJQTtNcUVqZ0pnQyw4QkFBOEIsRUFBQTtJckVtZ0o5RDtNcUVsZ0pnQyxpQ0FBaUMsRUFBQTtJckVvZ0pqRTtNcUVuZ0pnQyxzQ0FBc0MsRUFBQTtJckVxZ0p0RTtNcUVwZ0pnQyx5Q0FBeUMsRUFBQTtJckVzZ0p6RTtNcUVwZ0o4QiwwQkFBMEIsRUFBQTtJckVzZ0p4RDtNcUVyZ0o4Qiw0QkFBNEIsRUFBQTtJckV1Z0oxRDtNcUV0Z0o4QixrQ0FBa0MsRUFBQTtJckV3Z0poRTtNcUV2Z0o4Qix5QkFBeUIsRUFBQTtJckV5Z0p2RDtNcUV4Z0o4Qix1QkFBdUIsRUFBQTtJckUwZ0pyRDtNcUV6Z0o4Qix1QkFBdUIsRUFBQTtJckUyZ0pyRDtNcUUxZ0o4Qix5QkFBeUIsRUFBQTtJckU0Z0p2RDtNcUUzZ0o4Qix5QkFBeUIsRUFBQTtJckU2Z0p2RDtNcUUzZ0pvQyxzQ0FBc0MsRUFBQTtJckU2Z0oxRTtNcUU1Z0pvQyxvQ0FBb0MsRUFBQTtJckU4Z0p4RTtNcUU3Z0pvQyxrQ0FBa0MsRUFBQTtJckUrZ0p0RTtNcUU5Z0pvQyx5Q0FBeUMsRUFBQTtJckVnaEo3RTtNcUUvZ0pvQyx3Q0FBd0MsRUFBQTtJckVpaEo1RTtNcUUvZ0ppQyxrQ0FBa0MsRUFBQTtJckVpaEpuRTtNcUVoaEppQyxnQ0FBZ0MsRUFBQTtJckVraEpqRTtNcUVqaEppQyw4QkFBOEIsRUFBQTtJckVtaEovRDtNcUVsaEppQyxnQ0FBZ0MsRUFBQTtJckVvaEpqRTtNcUVuaEppQywrQkFBK0IsRUFBQTtJckVxaEpoRTtNcUVuaEprQyxvQ0FBb0MsRUFBQTtJckVxaEp0RTtNcUVwaEprQyxrQ0FBa0MsRUFBQTtJckVzaEpwRTtNcUVyaEprQyxnQ0FBZ0MsRUFBQTtJckV1aEpsRTtNcUV0aEprQyx1Q0FBdUMsRUFBQTtJckV3aEp6RTtNcUV2aEprQyxzQ0FBc0MsRUFBQTtJckV5aEp4RTtNcUV4aEprQyxpQ0FBaUMsRUFBQTtJckUwaEpuRTtNcUV4aEpnQywyQkFBMkIsRUFBQTtJckUwaEozRDtNcUV6aEpnQyxpQ0FBaUMsRUFBQTtJckUyaEpqRTtNcUUxaEpnQywrQkFBK0IsRUFBQTtJckU0aEovRDtNcUUzaEpnQyw2QkFBNkIsRUFBQTtJckU2aEo3RDtNcUU1aEpnQywrQkFBK0IsRUFBQTtJckU4aEovRDtNcUU3aEpnQyw4QkFBOEIsRUFBQSxFQUFJO0VyRFlsRTtJaEJvaEpBO01xRXRrSmdDLDhCQUE4QixFQUFBO0lyRXdrSjlEO01xRXZrSmdDLGlDQUFpQyxFQUFBO0lyRXlrSmpFO01xRXhrSmdDLHNDQUFzQyxFQUFBO0lyRTBrSnRFO01xRXprSmdDLHlDQUF5QyxFQUFBO0lyRTJrSnpFO01xRXprSjhCLDBCQUEwQixFQUFBO0lyRTJrSnhEO01xRTFrSjhCLDRCQUE0QixFQUFBO0lyRTRrSjFEO01xRTNrSjhCLGtDQUFrQyxFQUFBO0lyRTZrSmhFO01xRTVrSjhCLHlCQUF5QixFQUFBO0lyRThrSnZEO01xRTdrSjhCLHVCQUF1QixFQUFBO0lyRStrSnJEO01xRTlrSjhCLHVCQUF1QixFQUFBO0lyRWdsSnJEO01xRS9rSjhCLHlCQUF5QixFQUFBO0lyRWlsSnZEO01xRWhsSjhCLHlCQUF5QixFQUFBO0lyRWtsSnZEO01xRWhsSm9DLHNDQUFzQyxFQUFBO0lyRWtsSjFFO01xRWpsSm9DLG9DQUFvQyxFQUFBO0lyRW1sSnhFO01xRWxsSm9DLGtDQUFrQyxFQUFBO0lyRW9sSnRFO01xRW5sSm9DLHlDQUF5QyxFQUFBO0lyRXFsSjdFO01xRXBsSm9DLHdDQUF3QyxFQUFBO0lyRXNsSjVFO01xRXBsSmlDLGtDQUFrQyxFQUFBO0lyRXNsSm5FO01xRXJsSmlDLGdDQUFnQyxFQUFBO0lyRXVsSmpFO01xRXRsSmlDLDhCQUE4QixFQUFBO0lyRXdsSi9EO01xRXZsSmlDLGdDQUFnQyxFQUFBO0lyRXlsSmpFO01xRXhsSmlDLCtCQUErQixFQUFBO0lyRTBsSmhFO01xRXhsSmtDLG9DQUFvQyxFQUFBO0lyRTBsSnRFO01xRXpsSmtDLGtDQUFrQyxFQUFBO0lyRTJsSnBFO01xRTFsSmtDLGdDQUFnQyxFQUFBO0lyRTRsSmxFO01xRTNsSmtDLHVDQUF1QyxFQUFBO0lyRTZsSnpFO01xRTVsSmtDLHNDQUFzQyxFQUFBO0lyRThsSnhFO01xRTdsSmtDLGlDQUFpQyxFQUFBO0lyRStsSm5FO01xRTdsSmdDLDJCQUEyQixFQUFBO0lyRStsSjNEO01xRTlsSmdDLGlDQUFpQyxFQUFBO0lyRWdtSmpFO01xRS9sSmdDLCtCQUErQixFQUFBO0lyRWltSi9EO01xRWhtSmdDLDZCQUE2QixFQUFBO0lyRWttSjdEO01xRWptSmdDLCtCQUErQixFQUFBO0lyRW1tSi9EO01xRWxtSmdDLDhCQUE4QixFQUFBLEVBQUk7RXJEWWxFO0loQnlsSkE7TXFFM29KZ0MsOEJBQThCLEVBQUE7SXJFNm9KOUQ7TXFFNW9KZ0MsaUNBQWlDLEVBQUE7SXJFOG9KakU7TXFFN29KZ0Msc0NBQXNDLEVBQUE7SXJFK29KdEU7TXFFOW9KZ0MseUNBQXlDLEVBQUE7SXJFZ3BKekU7TXFFOW9KOEIsMEJBQTBCLEVBQUE7SXJFZ3BKeEQ7TXFFL29KOEIsNEJBQTRCLEVBQUE7SXJFaXBKMUQ7TXFFaHBKOEIsa0NBQWtDLEVBQUE7SXJFa3BKaEU7TXFFanBKOEIseUJBQXlCLEVBQUE7SXJFbXBKdkQ7TXFFbHBKOEIsdUJBQXVCLEVBQUE7SXJFb3BKckQ7TXFFbnBKOEIsdUJBQXVCLEVBQUE7SXJFcXBKckQ7TXFFcHBKOEIseUJBQXlCLEVBQUE7SXJFc3BKdkQ7TXFFcnBKOEIseUJBQXlCLEVBQUE7SXJFdXBKdkQ7TXFFcnBKb0Msc0NBQXNDLEVBQUE7SXJFdXBKMUU7TXFFdHBKb0Msb0NBQW9DLEVBQUE7SXJFd3BKeEU7TXFFdnBKb0Msa0NBQWtDLEVBQUE7SXJFeXBKdEU7TXFFeHBKb0MseUNBQXlDLEVBQUE7SXJFMHBKN0U7TXFFenBKb0Msd0NBQXdDLEVBQUE7SXJFMnBKNUU7TXFFenBKaUMsa0NBQWtDLEVBQUE7SXJFMnBKbkU7TXFFMXBKaUMsZ0NBQWdDLEVBQUE7SXJFNHBKakU7TXFFM3BKaUMsOEJBQThCLEVBQUE7SXJFNnBKL0Q7TXFFNXBKaUMsZ0NBQWdDLEVBQUE7SXJFOHBKakU7TXFFN3BKaUMsK0JBQStCLEVBQUE7SXJFK3BKaEU7TXFFN3BKa0Msb0NBQW9DLEVBQUE7SXJFK3BKdEU7TXFFOXBKa0Msa0NBQWtDLEVBQUE7SXJFZ3FKcEU7TXFFL3BKa0MsZ0NBQWdDLEVBQUE7SXJFaXFKbEU7TXFFaHFKa0MsdUNBQXVDLEVBQUE7SXJFa3FKekU7TXFFanFKa0Msc0NBQXNDLEVBQUE7SXJFbXFKeEU7TXFFbHFKa0MsaUNBQWlDLEVBQUE7SXJFb3FKbkU7TXFFbHFKZ0MsMkJBQTJCLEVBQUE7SXJFb3FKM0Q7TXFFbnFKZ0MsaUNBQWlDLEVBQUE7SXJFcXFKakU7TXFFcHFKZ0MsK0JBQStCLEVBQUE7SXJFc3FKL0Q7TXFFcnFKZ0MsNkJBQTZCLEVBQUE7SXJFdXFKN0Q7TXFFdHFKZ0MsK0JBQStCLEVBQUE7SXJFd3FKL0Q7TXFFdnFKZ0MsOEJBQThCLEVBQUEsRUFBSTtFckRZbEU7SWhCOHBKQTtNcUVodEpnQyw4QkFBOEIsRUFBQTtJckVrdEo5RDtNcUVqdEpnQyxpQ0FBaUMsRUFBQTtJckVtdEpqRTtNcUVsdEpnQyxzQ0FBc0MsRUFBQTtJckVvdEp0RTtNcUVudEpnQyx5Q0FBeUMsRUFBQTtJckVxdEp6RTtNcUVudEo4QiwwQkFBMEIsRUFBQTtJckVxdEp4RDtNcUVwdEo4Qiw0QkFBNEIsRUFBQTtJckVzdEoxRDtNcUVydEo4QixrQ0FBa0MsRUFBQTtJckV1dEpoRTtNcUV0dEo4Qix5QkFBeUIsRUFBQTtJckV3dEp2RDtNcUV2dEo4Qix1QkFBdUIsRUFBQTtJckV5dEpyRDtNcUV4dEo4Qix1QkFBdUIsRUFBQTtJckUwdEpyRDtNcUV6dEo4Qix5QkFBeUIsRUFBQTtJckUydEp2RDtNcUUxdEo4Qix5QkFBeUIsRUFBQTtJckU0dEp2RDtNcUUxdEpvQyxzQ0FBc0MsRUFBQTtJckU0dEoxRTtNcUUzdEpvQyxvQ0FBb0MsRUFBQTtJckU2dEp4RTtNcUU1dEpvQyxrQ0FBa0MsRUFBQTtJckU4dEp0RTtNcUU3dEpvQyx5Q0FBeUMsRUFBQTtJckUrdEo3RTtNcUU5dEpvQyx3Q0FBd0MsRUFBQTtJckVndUo1RTtNcUU5dEppQyxrQ0FBa0MsRUFBQTtJckVndUpuRTtNcUUvdEppQyxnQ0FBZ0MsRUFBQTtJckVpdUpqRTtNcUVodUppQyw4QkFBOEIsRUFBQTtJckVrdUovRDtNcUVqdUppQyxnQ0FBZ0MsRUFBQTtJckVtdUpqRTtNcUVsdUppQywrQkFBK0IsRUFBQTtJckVvdUpoRTtNcUVsdUprQyxvQ0FBb0MsRUFBQTtJckVvdUp0RTtNcUVudUprQyxrQ0FBa0MsRUFBQTtJckVxdUpwRTtNcUVwdUprQyxnQ0FBZ0MsRUFBQTtJckVzdUpsRTtNcUVydUprQyx1Q0FBdUMsRUFBQTtJckV1dUp6RTtNcUV0dUprQyxzQ0FBc0MsRUFBQTtJckV3dUp4RTtNcUV2dUprQyxpQ0FBaUMsRUFBQTtJckV5dUpuRTtNcUV2dUpnQywyQkFBMkIsRUFBQTtJckV5dUozRDtNcUV4dUpnQyxpQ0FBaUMsRUFBQTtJckUwdUpqRTtNcUV6dUpnQywrQkFBK0IsRUFBQTtJckUydUovRDtNcUUxdUpnQyw2QkFBNkIsRUFBQTtJckU0dUo3RDtNcUUzdUpnQywrQkFBK0IsRUFBQTtJckU2dUovRDtNcUU1dUpnQyw4QkFBOEIsRUFBQSxFQUFJO0VyRTh1SnBFO0lzRXh4SjBCLHNCQUFzQixFQUFBO0V0RTB4SmhEO0lzRXp4SjBCLHVCQUF1QixFQUFBO0V0RTJ4SmpEO0lzRTF4SjBCLHNCQUFzQixFQUFBO0V0RG9EOUM7SWhCeXVKQTtNc0UveEp3QixzQkFBc0IsRUFBQTtJdEVpeUo5QztNc0VoeUp3Qix1QkFBdUIsRUFBQTtJdEVreUovQztNc0VqeUp3QixzQkFBc0IsRUFBQSxFQUFJO0V0RG9EbEQ7SWhCZ3ZKQTtNc0V0eUp3QixzQkFBc0IsRUFBQTtJdEV3eUo5QztNc0V2eUp3Qix1QkFBdUIsRUFBQTtJdEV5eUovQztNc0V4eUp3QixzQkFBc0IsRUFBQSxFQUFJO0V0RG9EbEQ7SWhCdXZKQTtNc0U3eUp3QixzQkFBc0IsRUFBQTtJdEUreUo5QztNc0U5eUp3Qix1QkFBdUIsRUFBQTtJdEVnekovQztNc0UveUp3QixzQkFBc0IsRUFBQSxFQUFJO0V0RG9EbEQ7SWhCOHZKQTtNc0Vwekp3QixzQkFBc0IsRUFBQTtJdEVzeko5QztNc0Vyekp3Qix1QkFBdUIsRUFBQTtJdEV1ekovQztNc0V0ekp3QixzQkFBc0IsRUFBQSxFQUFJO0V0RXd6SnBEO0l1RTd6SnlCLG1DQUE4QjtPQUE5QixnQ0FBOEI7UUFBOUIsK0JBQThCO1lBQTlCLDJCQUE4QixFQUFBO0V2RSt6SnZEO0l1RS96SnlCLG9DQUE4QjtPQUE5QixpQ0FBOEI7UUFBOUIsZ0NBQThCO1lBQTlCLDRCQUE4QixFQUFBO0V2RWkwSnZEO0l1RWowSnlCLG9DQUE4QjtPQUE5QixpQ0FBOEI7UUFBOUIsZ0NBQThCO1lBQTlCLDRCQUE4QixFQUFBO0V2RW0wSnZEO0l3RW4wSnNCLHlCQUEyQixFQUFBO0V4RXEwSmpEO0l3RXIwSnNCLDJCQUEyQixFQUFBO0V4RXUwSmpEO0l5RXQwSnlCLDJCQUE4QixFQUFBO0V6RXcwSnZEO0l5RXgwSnlCLDZCQUE4QixFQUFBO0V6RTAwSnZEO0l5RTEwSnlCLDZCQUE4QixFQUFBO0V6RTQwSnZEO0l5RTUwSnlCLDBCQUE4QixFQUFBO0V6RTgwSnZEO0l5RTkwSnlCLG1DQUE4QjtJQUE5QiwyQkFBOEIsRUFBQTtFekVnMUp2RDtJeUUxMEpBLGVBQWU7SUFDZixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87SUFDUCxhbEUrcEJzQyxFQUFBO0VQNnFJdEM7SXlFeDBKQSxlQUFlO0lBQ2YsUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsYWxFdXBCc0MsRUFBQTtFa0VucEJWO0l6RXUwSjFCO015RXQwSkEsd0JBQWdCO01BQWhCLGdCQUFnQjtNQUNoQixNQUFNO01BQ04sYWxFK29Cb0MsRUFBQSxFa0U3b0J2QztFekVzMEpDO0kwRS8xSkEsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixTQUFTLEVBQUE7RTFFaTJKVDtJMEVyMUpFLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsbUJBQW1CLEVBQUE7RTFFdTFKckI7STJFcDNKVyw4REFBcUMsRUFBQTtFM0VzM0poRDtJMkVyM0pRLHdEQUFrQyxFQUFBO0UzRXUzSjFDO0kyRXQzSlcsdURBQXFDLEVBQUE7RTNFdzNKaEQ7STJFdjNKYSwyQkFBMkIsRUFBQTtFM0V5M0p4QztJNEV4M0p5QixxQkFBNEIsRUFBQTtFNUUwM0pyRDtJNEUxM0p5QixxQkFBNEIsRUFBQTtFNUU0M0pyRDtJNEU1M0p5QixxQkFBNEIsRUFBQTtFNUU4M0pyRDtJNEU5M0p5QixzQkFBNEIsRUFBQTtFNUVnNEpyRDtJNEVoNEp5QixzQkFBNEIsRUFBQTtFNUVrNEpyRDtJNEVsNEp5QixzQkFBNEIsRUFBQTtFNUVvNEpyRDtJNEVwNEp5QixzQkFBNEIsRUFBQTtFNUVzNEpyRDtJNEV0NEp5QixzQkFBNEIsRUFBQTtFNUV3NEpyRDtJNEV4NEp5Qix1QkFBNEIsRUFBQTtFNUUwNEpyRDtJNEUxNEp5Qix1QkFBNEIsRUFBQTtFNUU0NEpyRDtJNEV4NEpRLDBCQUEwQixFQUFBO0U1RTA0SmxDO0k0RXo0SlEsMkJBQTJCLEVBQUE7RTVFMjRKbkM7STRFdjRKWSwyQkFBMkIsRUFBQTtFNUV5NEp2QztJNEV4NEpZLDRCQUE0QixFQUFBO0U1RTA0SnhDO0k0RXg0SlEsdUJBQXVCLEVBQUE7RTVFMDRKL0I7STRFejRKUSx3QkFBd0IsRUFBQTtFNUUyNEpoQztJNkVwNUpzQyxvQkFBNEIsRUFBQTtFN0VzNUpsRTs7STZFbjVKUSx3QkFBb0MsRUFBQTtFN0VzNUo1Qzs7STZFbDVKUSwwQkFBd0MsRUFBQTtFN0VxNUpoRDs7STZFajVKUSwyQkFBMEMsRUFBQTtFN0VvNUpsRDs7STZFaDVKUSx5QkFBc0MsRUFBQTtFN0VtNUo5QztJNkVsNkpzQywwQkFBNEIsRUFBQTtFN0VvNkpsRTs7STZFajZKUSw4QkFBb0MsRUFBQTtFN0VvNko1Qzs7STZFaDZKUSxnQ0FBd0MsRUFBQTtFN0VtNkpoRDs7STZFLzVKUSxpQ0FBMEMsRUFBQTtFN0VrNkpsRDs7STZFOTVKUSwrQkFBc0MsRUFBQTtFN0VpNko5QztJNkVoN0pzQyx5QkFBNEIsRUFBQTtFN0VrN0psRTs7STZFLzZKUSw2QkFBb0MsRUFBQTtFN0VrN0o1Qzs7STZFOTZKUSwrQkFBd0MsRUFBQTtFN0VpN0poRDs7STZFNzZKUSxnQ0FBMEMsRUFBQTtFN0VnN0psRDs7STZFNTZKUSw4QkFBc0MsRUFBQTtFN0UrNko5QztJNkU5N0pzQyx1QkFBNEIsRUFBQTtFN0VnOEpsRTs7STZFNzdKUSwyQkFBb0MsRUFBQTtFN0VnOEo1Qzs7STZFNTdKUSw2QkFBd0MsRUFBQTtFN0UrN0poRDs7STZFMzdKUSw4QkFBMEMsRUFBQTtFN0U4N0psRDs7STZFMTdKUSw0QkFBc0MsRUFBQTtFN0U2N0o5QztJNkU1OEpzQyx5QkFBNEIsRUFBQTtFN0U4OEpsRTs7STZFMzhKUSw2QkFBb0MsRUFBQTtFN0U4OEo1Qzs7STZFMThKUSwrQkFBd0MsRUFBQTtFN0U2OEpoRDs7STZFejhKUSxnQ0FBMEMsRUFBQTtFN0U0OEpsRDs7STZFeDhKUSw4QkFBc0MsRUFBQTtFN0UyOEo5QztJNkUxOUpzQyx1QkFBNEIsRUFBQTtFN0U0OUpsRTs7STZFejlKUSwyQkFBb0MsRUFBQTtFN0U0OUo1Qzs7STZFeDlKUSw2QkFBd0MsRUFBQTtFN0UyOUpoRDs7STZFdjlKUSw4QkFBMEMsRUFBQTtFN0UwOUpsRDs7STZFdDlKUSw0QkFBc0MsRUFBQTtFN0V5OUo5QztJNkV4K0pzQyxxQkFBNEIsRUFBQTtFN0UwK0psRTs7STZFditKUSx5QkFBb0MsRUFBQTtFN0UwK0o1Qzs7STZFdCtKUSwyQkFBd0MsRUFBQTtFN0V5K0poRDs7STZFcitKUSw0QkFBMEMsRUFBQTtFN0V3K0psRDs7STZFcCtKUSwwQkFBc0MsRUFBQTtFN0V1K0o5QztJNkV0L0pzQywyQkFBNEIsRUFBQTtFN0V3L0psRTs7STZFci9KUSwrQkFBb0MsRUFBQTtFN0V3L0o1Qzs7STZFcC9KUSxpQ0FBd0MsRUFBQTtFN0V1L0poRDs7STZFbi9KUSxrQ0FBMEMsRUFBQTtFN0VzL0psRDs7STZFbC9KUSxnQ0FBc0MsRUFBQTtFN0VxL0o5QztJNkVwZ0tzQywwQkFBNEIsRUFBQTtFN0VzZ0tsRTs7STZFbmdLUSw4QkFBb0MsRUFBQTtFN0VzZ0s1Qzs7STZFbGdLUSxnQ0FBd0MsRUFBQTtFN0VxZ0toRDs7STZFamdLUSxpQ0FBMEMsRUFBQTtFN0VvZ0tsRDs7STZFaGdLUSwrQkFBc0MsRUFBQTtFN0VtZ0s5QztJNkVsaEtzQyx3QkFBNEIsRUFBQTtFN0VvaEtsRTs7STZFamhLUSw0QkFBb0MsRUFBQTtFN0VvaEs1Qzs7STZFaGhLUSw4QkFBd0MsRUFBQTtFN0VtaEtoRDs7STZFL2dLUSwrQkFBMEMsRUFBQTtFN0VraEtsRDs7STZFOWdLUSw2QkFBc0MsRUFBQTtFN0VpaEs5QztJNkVoaUtzQywwQkFBNEIsRUFBQTtFN0VraUtsRTs7STZFL2hLUSw4QkFBb0MsRUFBQTtFN0VraUs1Qzs7STZFOWhLUSxnQ0FBd0MsRUFBQTtFN0VpaUtoRDs7STZFN2hLUSxpQ0FBMEMsRUFBQTtFN0VnaUtsRDs7STZFNWhLUSwrQkFBc0MsRUFBQTtFN0UraEs5QztJNkU5aUtzQyx3QkFBNEIsRUFBQTtFN0VnaktsRTs7STZFN2lLUSw0QkFBb0MsRUFBQTtFN0Vnaks1Qzs7STZFNWlLUSw4QkFBd0MsRUFBQTtFN0UraUtoRDs7STZFM2lLUSwrQkFBMEMsRUFBQTtFN0U4aUtsRDs7STZFMWlLUSw2QkFBc0MsRUFBQTtFN0U2aUs5QztJNkVyaUs4QiwyQkFBMkIsRUFBQTtFN0V1aUt6RDs7STZFcGlLUSwrQkFBK0IsRUFBQTtFN0V1aUt2Qzs7STZFbmlLUSxpQ0FBaUMsRUFBQTtFN0VzaUt6Qzs7STZFbGlLUSxrQ0FBa0MsRUFBQTtFN0VxaUsxQzs7STZFamlLUSxnQ0FBZ0MsRUFBQTtFN0VvaUt4QztJNkVuaks4QiwwQkFBMkIsRUFBQTtFN0Vxakt6RDs7STZFbGpLUSw4QkFBK0IsRUFBQTtFN0Vxakt2Qzs7STZFampLUSxnQ0FBaUMsRUFBQTtFN0Vvakt6Qzs7STZFaGpLUSxpQ0FBa0MsRUFBQTtFN0VtaksxQzs7STZFL2lLUSwrQkFBZ0MsRUFBQTtFN0Vrakt4QztJNkVqa0s4Qix3QkFBMkIsRUFBQTtFN0Vta0t6RDs7STZFaGtLUSw0QkFBK0IsRUFBQTtFN0Vta0t2Qzs7STZFL2pLUSw4QkFBaUMsRUFBQTtFN0Vra0t6Qzs7STZFOWpLUSwrQkFBa0MsRUFBQTtFN0Vpa0sxQzs7STZFN2pLUSw2QkFBZ0MsRUFBQTtFN0Vna0t4QztJNkUva0s4QiwwQkFBMkIsRUFBQTtFN0VpbEt6RDs7STZFOWtLUSw4QkFBK0IsRUFBQTtFN0VpbEt2Qzs7STZFN2tLUSxnQ0FBaUMsRUFBQTtFN0VnbEt6Qzs7STZFNWtLUSxpQ0FBa0MsRUFBQTtFN0Ura0sxQzs7STZFM2tLUSwrQkFBZ0MsRUFBQTtFN0U4a0t4QztJNkU3bEs4Qix3QkFBMkIsRUFBQTtFN0UrbEt6RDs7STZFNWxLUSw0QkFBK0IsRUFBQTtFN0UrbEt2Qzs7STZFM2xLUSw4QkFBaUMsRUFBQTtFN0U4bEt6Qzs7STZFMWxLUSwrQkFBa0MsRUFBQTtFN0U2bEsxQzs7STZFemxLUSw2QkFBZ0MsRUFBQTtFN0U0bEt4QztJNkV0bEtxQix1QkFBdUIsRUFBQTtFN0V3bEs1Qzs7STZFcmxLSSwyQkFBMkIsRUFBQTtFN0V3bEsvQjs7STZFcGxLSSw2QkFBNkIsRUFBQTtFN0V1bEtqQzs7STZFbmxLSSw4QkFBOEIsRUFBQTtFN0VzbEtsQzs7STZFbGxLSSw0QkFBNEIsRUFBQTtFN0RUOUI7SWhCK2xLQTtNNkVqcEtvQyxvQkFBNEIsRUFBQTtJN0VtcEtoRTs7TTZFaHBLTSx3QkFBb0MsRUFBQTtJN0VtcEsxQzs7TTZFL29LTSwwQkFBd0MsRUFBQTtJN0VrcEs5Qzs7TTZFOW9LTSwyQkFBMEMsRUFBQTtJN0VpcEtoRDs7TTZFN29LTSx5QkFBc0MsRUFBQTtJN0VncEs1QztNNkUvcEtvQywwQkFBNEIsRUFBQTtJN0VpcUtoRTs7TTZFOXBLTSw4QkFBb0MsRUFBQTtJN0VpcUsxQzs7TTZFN3BLTSxnQ0FBd0MsRUFBQTtJN0VncUs5Qzs7TTZFNXBLTSxpQ0FBMEMsRUFBQTtJN0UrcEtoRDs7TTZFM3BLTSwrQkFBc0MsRUFBQTtJN0U4cEs1QztNNkU3cUtvQyx5QkFBNEIsRUFBQTtJN0UrcUtoRTs7TTZFNXFLTSw2QkFBb0MsRUFBQTtJN0UrcUsxQzs7TTZFM3FLTSwrQkFBd0MsRUFBQTtJN0U4cUs5Qzs7TTZFMXFLTSxnQ0FBMEMsRUFBQTtJN0U2cUtoRDs7TTZFenFLTSw4QkFBc0MsRUFBQTtJN0U0cUs1QztNNkUzcktvQyx1QkFBNEIsRUFBQTtJN0U2cktoRTs7TTZFMXJLTSwyQkFBb0MsRUFBQTtJN0U2cksxQzs7TTZFenJLTSw2QkFBd0MsRUFBQTtJN0U0cks5Qzs7TTZFeHJLTSw4QkFBMEMsRUFBQTtJN0UycktoRDs7TTZFdnJLTSw0QkFBc0MsRUFBQTtJN0Uwcks1QztNNkV6c0tvQyx5QkFBNEIsRUFBQTtJN0Uyc0toRTs7TTZFeHNLTSw2QkFBb0MsRUFBQTtJN0Uyc0sxQzs7TTZFdnNLTSwrQkFBd0MsRUFBQTtJN0Uwc0s5Qzs7TTZFdHNLTSxnQ0FBMEMsRUFBQTtJN0V5c0toRDs7TTZFcnNLTSw4QkFBc0MsRUFBQTtJN0V3c0s1QztNNkV2dEtvQyx1QkFBNEIsRUFBQTtJN0V5dEtoRTs7TTZFdHRLTSwyQkFBb0MsRUFBQTtJN0V5dEsxQzs7TTZFcnRLTSw2QkFBd0MsRUFBQTtJN0V3dEs5Qzs7TTZFcHRLTSw4QkFBMEMsRUFBQTtJN0V1dEtoRDs7TTZFbnRLTSw0QkFBc0MsRUFBQTtJN0VzdEs1QztNNkVydUtvQyxxQkFBNEIsRUFBQTtJN0V1dUtoRTs7TTZFcHVLTSx5QkFBb0MsRUFBQTtJN0V1dUsxQzs7TTZFbnVLTSwyQkFBd0MsRUFBQTtJN0VzdUs5Qzs7TTZFbHVLTSw0QkFBMEMsRUFBQTtJN0VxdUtoRDs7TTZFanVLTSwwQkFBc0MsRUFBQTtJN0VvdUs1QztNNkVudktvQywyQkFBNEIsRUFBQTtJN0VxdktoRTs7TTZFbHZLTSwrQkFBb0MsRUFBQTtJN0VxdksxQzs7TTZFanZLTSxpQ0FBd0MsRUFBQTtJN0Vvdks5Qzs7TTZFaHZLTSxrQ0FBMEMsRUFBQTtJN0VtdktoRDs7TTZFL3VLTSxnQ0FBc0MsRUFBQTtJN0Vrdks1QztNNkVqd0tvQywwQkFBNEIsRUFBQTtJN0Vtd0toRTs7TTZFaHdLTSw4QkFBb0MsRUFBQTtJN0Vtd0sxQzs7TTZFL3ZLTSxnQ0FBd0MsRUFBQTtJN0Vrd0s5Qzs7TTZFOXZLTSxpQ0FBMEMsRUFBQTtJN0Vpd0toRDs7TTZFN3ZLTSwrQkFBc0MsRUFBQTtJN0Vnd0s1QztNNkUvd0tvQyx3QkFBNEIsRUFBQTtJN0VpeEtoRTs7TTZFOXdLTSw0QkFBb0MsRUFBQTtJN0VpeEsxQzs7TTZFN3dLTSw4QkFBd0MsRUFBQTtJN0VneEs5Qzs7TTZFNXdLTSwrQkFBMEMsRUFBQTtJN0Urd0toRDs7TTZFM3dLTSw2QkFBc0MsRUFBQTtJN0U4d0s1QztNNkU3eEtvQywwQkFBNEIsRUFBQTtJN0UreEtoRTs7TTZFNXhLTSw4QkFBb0MsRUFBQTtJN0UreEsxQzs7TTZFM3hLTSxnQ0FBd0MsRUFBQTtJN0U4eEs5Qzs7TTZFMXhLTSxpQ0FBMEMsRUFBQTtJN0U2eEtoRDs7TTZFenhLTSwrQkFBc0MsRUFBQTtJN0U0eEs1QztNNkUzeUtvQyx3QkFBNEIsRUFBQTtJN0U2eUtoRTs7TTZFMXlLTSw0QkFBb0MsRUFBQTtJN0U2eUsxQzs7TTZFenlLTSw4QkFBd0MsRUFBQTtJN0U0eUs5Qzs7TTZFeHlLTSwrQkFBMEMsRUFBQTtJN0UyeUtoRDs7TTZFdnlLTSw2QkFBc0MsRUFBQTtJN0UweUs1QztNNkVseUs0QiwyQkFBMkIsRUFBQTtJN0VveUt2RDs7TTZFanlLTSwrQkFBK0IsRUFBQTtJN0VveUtyQzs7TTZFaHlLTSxpQ0FBaUMsRUFBQTtJN0VteUt2Qzs7TTZFL3hLTSxrQ0FBa0MsRUFBQTtJN0VreUt4Qzs7TTZFOXhLTSxnQ0FBZ0MsRUFBQTtJN0VpeUt0QztNNkVoeks0QiwwQkFBMkIsRUFBQTtJN0Vrekt2RDs7TTZFL3lLTSw4QkFBK0IsRUFBQTtJN0VrektyQzs7TTZFOXlLTSxnQ0FBaUMsRUFBQTtJN0Vpekt2Qzs7TTZFN3lLTSxpQ0FBa0MsRUFBQTtJN0Vnekt4Qzs7TTZFNXlLTSwrQkFBZ0MsRUFBQTtJN0UreUt0QztNNkU5eks0Qix3QkFBMkIsRUFBQTtJN0VnMEt2RDs7TTZFN3pLTSw0QkFBK0IsRUFBQTtJN0VnMEtyQzs7TTZFNXpLTSw4QkFBaUMsRUFBQTtJN0Urekt2Qzs7TTZFM3pLTSwrQkFBa0MsRUFBQTtJN0U4ekt4Qzs7TTZFMXpLTSw2QkFBZ0MsRUFBQTtJN0U2ekt0QztNNkU1MEs0QiwwQkFBMkIsRUFBQTtJN0U4MEt2RDs7TTZFMzBLTSw4QkFBK0IsRUFBQTtJN0U4MEtyQzs7TTZFMTBLTSxnQ0FBaUMsRUFBQTtJN0U2MEt2Qzs7TTZFejBLTSxpQ0FBa0MsRUFBQTtJN0U0MEt4Qzs7TTZFeDBLTSwrQkFBZ0MsRUFBQTtJN0UyMEt0QztNNkUxMUs0Qix3QkFBMkIsRUFBQTtJN0U0MUt2RDs7TTZFejFLTSw0QkFBK0IsRUFBQTtJN0U0MUtyQzs7TTZFeDFLTSw4QkFBaUMsRUFBQTtJN0UyMUt2Qzs7TTZFdjFLTSwrQkFBa0MsRUFBQTtJN0UwMUt4Qzs7TTZFdDFLTSw2QkFBZ0MsRUFBQTtJN0V5MUt0QztNNkVuMUttQix1QkFBdUIsRUFBQTtJN0VxMUsxQzs7TTZFbDFLRSwyQkFBMkIsRUFBQTtJN0VxMUs3Qjs7TTZFajFLRSw2QkFBNkIsRUFBQTtJN0VvMUsvQjs7TTZFaDFLRSw4QkFBOEIsRUFBQTtJN0VtMUtoQzs7TTZFLzBLRSw0QkFBNEIsRUFBQSxFQUM3QjtFN0RWRDtJaEI0MUtBO002RTk0S29DLG9CQUE0QixFQUFBO0k3RWc1S2hFOztNNkU3NEtNLHdCQUFvQyxFQUFBO0k3RWc1SzFDOztNNkU1NEtNLDBCQUF3QyxFQUFBO0k3RSs0SzlDOztNNkUzNEtNLDJCQUEwQyxFQUFBO0k3RTg0S2hEOztNNkUxNEtNLHlCQUFzQyxFQUFBO0k3RTY0SzVDO002RTU1S29DLDBCQUE0QixFQUFBO0k3RTg1S2hFOztNNkUzNUtNLDhCQUFvQyxFQUFBO0k3RTg1SzFDOztNNkUxNUtNLGdDQUF3QyxFQUFBO0k3RTY1SzlDOztNNkV6NUtNLGlDQUEwQyxFQUFBO0k3RTQ1S2hEOztNNkV4NUtNLCtCQUFzQyxFQUFBO0k3RTI1SzVDO002RTE2S29DLHlCQUE0QixFQUFBO0k3RTQ2S2hFOztNNkV6NktNLDZCQUFvQyxFQUFBO0k3RTQ2SzFDOztNNkV4NktNLCtCQUF3QyxFQUFBO0k3RTI2SzlDOztNNkV2NktNLGdDQUEwQyxFQUFBO0k3RTA2S2hEOztNNkV0NktNLDhCQUFzQyxFQUFBO0k3RXk2SzVDO002RXg3S29DLHVCQUE0QixFQUFBO0k3RTA3S2hFOztNNkV2N0tNLDJCQUFvQyxFQUFBO0k3RTA3SzFDOztNNkV0N0tNLDZCQUF3QyxFQUFBO0k3RXk3SzlDOztNNkVyN0tNLDhCQUEwQyxFQUFBO0k3RXc3S2hEOztNNkVwN0tNLDRCQUFzQyxFQUFBO0k3RXU3SzVDO002RXQ4S29DLHlCQUE0QixFQUFBO0k3RXc4S2hFOztNNkVyOEtNLDZCQUFvQyxFQUFBO0k3RXc4SzFDOztNNkVwOEtNLCtCQUF3QyxFQUFBO0k3RXU4SzlDOztNNkVuOEtNLGdDQUEwQyxFQUFBO0k3RXM4S2hEOztNNkVsOEtNLDhCQUFzQyxFQUFBO0k3RXE4SzVDO002RXA5S29DLHVCQUE0QixFQUFBO0k3RXM5S2hFOztNNkVuOUtNLDJCQUFvQyxFQUFBO0k3RXM5SzFDOztNNkVsOUtNLDZCQUF3QyxFQUFBO0k3RXE5SzlDOztNNkVqOUtNLDhCQUEwQyxFQUFBO0k3RW85S2hEOztNNkVoOUtNLDRCQUFzQyxFQUFBO0k3RW05SzVDO002RWwrS29DLHFCQUE0QixFQUFBO0k3RW8rS2hFOztNNkVqK0tNLHlCQUFvQyxFQUFBO0k3RW8rSzFDOztNNkVoK0tNLDJCQUF3QyxFQUFBO0k3RW0rSzlDOztNNkUvOUtNLDRCQUEwQyxFQUFBO0k3RWsrS2hEOztNNkU5OUtNLDBCQUFzQyxFQUFBO0k3RWkrSzVDO002RWgvS29DLDJCQUE0QixFQUFBO0k3RWsvS2hFOztNNkUvK0tNLCtCQUFvQyxFQUFBO0k3RWsvSzFDOztNNkU5K0tNLGlDQUF3QyxFQUFBO0k3RWkvSzlDOztNNkU3K0tNLGtDQUEwQyxFQUFBO0k3RWcvS2hEOztNNkU1K0tNLGdDQUFzQyxFQUFBO0k3RSsrSzVDO002RTkvS29DLDBCQUE0QixFQUFBO0k3RWdnTGhFOztNNkU3L0tNLDhCQUFvQyxFQUFBO0k3RWdnTDFDOztNNkU1L0tNLGdDQUF3QyxFQUFBO0k3RSsvSzlDOztNNkUzL0tNLGlDQUEwQyxFQUFBO0k3RTgvS2hEOztNNkUxL0tNLCtCQUFzQyxFQUFBO0k3RTYvSzVDO002RTVnTG9DLHdCQUE0QixFQUFBO0k3RThnTGhFOztNNkUzZ0xNLDRCQUFvQyxFQUFBO0k3RThnTDFDOztNNkUxZ0xNLDhCQUF3QyxFQUFBO0k3RTZnTDlDOztNNkV6Z0xNLCtCQUEwQyxFQUFBO0k3RTRnTGhEOztNNkV4Z0xNLDZCQUFzQyxFQUFBO0k3RTJnTDVDO002RTFoTG9DLDBCQUE0QixFQUFBO0k3RTRoTGhFOztNNkV6aExNLDhCQUFvQyxFQUFBO0k3RTRoTDFDOztNNkV4aExNLGdDQUF3QyxFQUFBO0k3RTJoTDlDOztNNkV2aExNLGlDQUEwQyxFQUFBO0k3RTBoTGhEOztNNkV0aExNLCtCQUFzQyxFQUFBO0k3RXloTDVDO002RXhpTG9DLHdCQUE0QixFQUFBO0k3RTBpTGhFOztNNkV2aUxNLDRCQUFvQyxFQUFBO0k3RTBpTDFDOztNNkV0aUxNLDhCQUF3QyxFQUFBO0k3RXlpTDlDOztNNkVyaUxNLCtCQUEwQyxFQUFBO0k3RXdpTGhEOztNNkVwaUxNLDZCQUFzQyxFQUFBO0k3RXVpTDVDO002RS9oTDRCLDJCQUEyQixFQUFBO0k3RWlpTHZEOztNNkU5aExNLCtCQUErQixFQUFBO0k3RWlpTHJDOztNNkU3aExNLGlDQUFpQyxFQUFBO0k3RWdpTHZDOztNNkU1aExNLGtDQUFrQyxFQUFBO0k3RStoTHhDOztNNkUzaExNLGdDQUFnQyxFQUFBO0k3RThoTHRDO002RTdpTDRCLDBCQUEyQixFQUFBO0k3RStpTHZEOztNNkU1aUxNLDhCQUErQixFQUFBO0k3RStpTHJDOztNNkUzaUxNLGdDQUFpQyxFQUFBO0k3RThpTHZDOztNNkUxaUxNLGlDQUFrQyxFQUFBO0k3RTZpTHhDOztNNkV6aUxNLCtCQUFnQyxFQUFBO0k3RTRpTHRDO002RTNqTDRCLHdCQUEyQixFQUFBO0k3RTZqTHZEOztNNkUxakxNLDRCQUErQixFQUFBO0k3RTZqTHJDOztNNkV6akxNLDhCQUFpQyxFQUFBO0k3RTRqTHZDOztNNkV4akxNLCtCQUFrQyxFQUFBO0k3RTJqTHhDOztNNkV2akxNLDZCQUFnQyxFQUFBO0k3RTBqTHRDO002RXprTDRCLDBCQUEyQixFQUFBO0k3RTJrTHZEOztNNkV4a0xNLDhCQUErQixFQUFBO0k3RTJrTHJDOztNNkV2a0xNLGdDQUFpQyxFQUFBO0k3RTBrTHZDOztNNkV0a0xNLGlDQUFrQyxFQUFBO0k3RXlrTHhDOztNNkVya0xNLCtCQUFnQyxFQUFBO0k3RXdrTHRDO002RXZsTDRCLHdCQUEyQixFQUFBO0k3RXlsTHZEOztNNkV0bExNLDRCQUErQixFQUFBO0k3RXlsTHJDOztNNkVybExNLDhCQUFpQyxFQUFBO0k3RXdsTHZDOztNNkVwbExNLCtCQUFrQyxFQUFBO0k3RXVsTHhDOztNNkVubExNLDZCQUFnQyxFQUFBO0k3RXNsTHRDO002RWhsTG1CLHVCQUF1QixFQUFBO0k3RWtsTDFDOztNNkUva0xFLDJCQUEyQixFQUFBO0k3RWtsTDdCOztNNkU5a0xFLDZCQUE2QixFQUFBO0k3RWlsTC9COztNNkU3a0xFLDhCQUE4QixFQUFBO0k3RWdsTGhDOztNNkU1a0xFLDRCQUE0QixFQUFBLEVBQzdCO0U3RFZEO0loQnlsTEE7TTZFM29Mb0Msb0JBQTRCLEVBQUE7STdFNm9MaEU7O002RTFvTE0sd0JBQW9DLEVBQUE7STdFNm9MMUM7O002RXpvTE0sMEJBQXdDLEVBQUE7STdFNG9MOUM7O002RXhvTE0sMkJBQTBDLEVBQUE7STdFMm9MaEQ7O002RXZvTE0seUJBQXNDLEVBQUE7STdFMG9MNUM7TTZFenBMb0MsMEJBQTRCLEVBQUE7STdFMnBMaEU7O002RXhwTE0sOEJBQW9DLEVBQUE7STdFMnBMMUM7O002RXZwTE0sZ0NBQXdDLEVBQUE7STdFMHBMOUM7O002RXRwTE0saUNBQTBDLEVBQUE7STdFeXBMaEQ7O002RXJwTE0sK0JBQXNDLEVBQUE7STdFd3BMNUM7TTZFdnFMb0MseUJBQTRCLEVBQUE7STdFeXFMaEU7O002RXRxTE0sNkJBQW9DLEVBQUE7STdFeXFMMUM7O002RXJxTE0sK0JBQXdDLEVBQUE7STdFd3FMOUM7O002RXBxTE0sZ0NBQTBDLEVBQUE7STdFdXFMaEQ7O002RW5xTE0sOEJBQXNDLEVBQUE7STdFc3FMNUM7TTZFcnJMb0MsdUJBQTRCLEVBQUE7STdFdXJMaEU7O002RXByTE0sMkJBQW9DLEVBQUE7STdFdXJMMUM7O002RW5yTE0sNkJBQXdDLEVBQUE7STdFc3JMOUM7O002RWxyTE0sOEJBQTBDLEVBQUE7STdFcXJMaEQ7O002RWpyTE0sNEJBQXNDLEVBQUE7STdFb3JMNUM7TTZFbnNMb0MseUJBQTRCLEVBQUE7STdFcXNMaEU7O002RWxzTE0sNkJBQW9DLEVBQUE7STdFcXNMMUM7O002RWpzTE0sK0JBQXdDLEVBQUE7STdFb3NMOUM7O002RWhzTE0sZ0NBQTBDLEVBQUE7STdFbXNMaEQ7O002RS9yTE0sOEJBQXNDLEVBQUE7STdFa3NMNUM7TTZFanRMb0MsdUJBQTRCLEVBQUE7STdFbXRMaEU7O002RWh0TE0sMkJBQW9DLEVBQUE7STdFbXRMMUM7O002RS9zTE0sNkJBQXdDLEVBQUE7STdFa3RMOUM7O002RTlzTE0sOEJBQTBDLEVBQUE7STdFaXRMaEQ7O002RTdzTE0sNEJBQXNDLEVBQUE7STdFZ3RMNUM7TTZFL3RMb0MscUJBQTRCLEVBQUE7STdFaXVMaEU7O002RTl0TE0seUJBQW9DLEVBQUE7STdFaXVMMUM7O002RTd0TE0sMkJBQXdDLEVBQUE7STdFZ3VMOUM7O002RTV0TE0sNEJBQTBDLEVBQUE7STdFK3RMaEQ7O002RTN0TE0sMEJBQXNDLEVBQUE7STdFOHRMNUM7TTZFN3VMb0MsMkJBQTRCLEVBQUE7STdFK3VMaEU7O002RTV1TE0sK0JBQW9DLEVBQUE7STdFK3VMMUM7O002RTN1TE0saUNBQXdDLEVBQUE7STdFOHVMOUM7O002RTF1TE0sa0NBQTBDLEVBQUE7STdFNnVMaEQ7O002RXp1TE0sZ0NBQXNDLEVBQUE7STdFNHVMNUM7TTZFM3ZMb0MsMEJBQTRCLEVBQUE7STdFNnZMaEU7O002RTF2TE0sOEJBQW9DLEVBQUE7STdFNnZMMUM7O002RXp2TE0sZ0NBQXdDLEVBQUE7STdFNHZMOUM7O002RXh2TE0saUNBQTBDLEVBQUE7STdFMnZMaEQ7O002RXZ2TE0sK0JBQXNDLEVBQUE7STdFMHZMNUM7TTZFendMb0Msd0JBQTRCLEVBQUE7STdFMndMaEU7O002RXh3TE0sNEJBQW9DLEVBQUE7STdFMndMMUM7O002RXZ3TE0sOEJBQXdDLEVBQUE7STdFMHdMOUM7O002RXR3TE0sK0JBQTBDLEVBQUE7STdFeXdMaEQ7O002RXJ3TE0sNkJBQXNDLEVBQUE7STdFd3dMNUM7TTZFdnhMb0MsMEJBQTRCLEVBQUE7STdFeXhMaEU7O002RXR4TE0sOEJBQW9DLEVBQUE7STdFeXhMMUM7O002RXJ4TE0sZ0NBQXdDLEVBQUE7STdFd3hMOUM7O002RXB4TE0saUNBQTBDLEVBQUE7STdFdXhMaEQ7O002RW54TE0sK0JBQXNDLEVBQUE7STdFc3hMNUM7TTZFcnlMb0Msd0JBQTRCLEVBQUE7STdFdXlMaEU7O002RXB5TE0sNEJBQW9DLEVBQUE7STdFdXlMMUM7O002RW55TE0sOEJBQXdDLEVBQUE7STdFc3lMOUM7O002RWx5TE0sK0JBQTBDLEVBQUE7STdFcXlMaEQ7O002RWp5TE0sNkJBQXNDLEVBQUE7STdFb3lMNUM7TTZFNXhMNEIsMkJBQTJCLEVBQUE7STdFOHhMdkQ7O002RTN4TE0sK0JBQStCLEVBQUE7STdFOHhMckM7O002RTF4TE0saUNBQWlDLEVBQUE7STdFNnhMdkM7O002RXp4TE0sa0NBQWtDLEVBQUE7STdFNHhMeEM7O002RXh4TE0sZ0NBQWdDLEVBQUE7STdFMnhMdEM7TTZFMXlMNEIsMEJBQTJCLEVBQUE7STdFNHlMdkQ7O002RXp5TE0sOEJBQStCLEVBQUE7STdFNHlMckM7O002RXh5TE0sZ0NBQWlDLEVBQUE7STdFMnlMdkM7O002RXZ5TE0saUNBQWtDLEVBQUE7STdFMHlMeEM7O002RXR5TE0sK0JBQWdDLEVBQUE7STdFeXlMdEM7TTZFeHpMNEIsd0JBQTJCLEVBQUE7STdFMHpMdkQ7O002RXZ6TE0sNEJBQStCLEVBQUE7STdFMHpMckM7O002RXR6TE0sOEJBQWlDLEVBQUE7STdFeXpMdkM7O002RXJ6TE0sK0JBQWtDLEVBQUE7STdFd3pMeEM7O002RXB6TE0sNkJBQWdDLEVBQUE7STdFdXpMdEM7TTZFdDBMNEIsMEJBQTJCLEVBQUE7STdFdzBMdkQ7O002RXIwTE0sOEJBQStCLEVBQUE7STdFdzBMckM7O002RXAwTE0sZ0NBQWlDLEVBQUE7STdFdTBMdkM7O002RW4wTE0saUNBQWtDLEVBQUE7STdFczBMeEM7O002RWwwTE0sK0JBQWdDLEVBQUE7STdFcTBMdEM7TTZFcDFMNEIsd0JBQTJCLEVBQUE7STdFczFMdkQ7O002RW4xTE0sNEJBQStCLEVBQUE7STdFczFMckM7O002RWwxTE0sOEJBQWlDLEVBQUE7STdFcTFMdkM7O002RWoxTE0sK0JBQWtDLEVBQUE7STdFbzFMeEM7O002RWgxTE0sNkJBQWdDLEVBQUE7STdFbTFMdEM7TTZFNzBMbUIsdUJBQXVCLEVBQUE7STdFKzBMMUM7O002RTUwTEUsMkJBQTJCLEVBQUE7STdFKzBMN0I7O002RTMwTEUsNkJBQTZCLEVBQUE7STdFODBML0I7O002RTEwTEUsOEJBQThCLEVBQUE7STdFNjBMaEM7O002RXowTEUsNEJBQTRCLEVBQUEsRUFDN0I7RTdEVkQ7SWhCczFMQTtNNkV4NExvQyxvQkFBNEIsRUFBQTtJN0UwNExoRTs7TTZFdjRMTSx3QkFBb0MsRUFBQTtJN0UwNEwxQzs7TTZFdDRMTSwwQkFBd0MsRUFBQTtJN0V5NEw5Qzs7TTZFcjRMTSwyQkFBMEMsRUFBQTtJN0V3NExoRDs7TTZFcDRMTSx5QkFBc0MsRUFBQTtJN0V1NEw1QztNNkV0NUxvQywwQkFBNEIsRUFBQTtJN0V3NUxoRTs7TTZFcjVMTSw4QkFBb0MsRUFBQTtJN0V3NUwxQzs7TTZFcDVMTSxnQ0FBd0MsRUFBQTtJN0V1NUw5Qzs7TTZFbjVMTSxpQ0FBMEMsRUFBQTtJN0VzNUxoRDs7TTZFbDVMTSwrQkFBc0MsRUFBQTtJN0VxNUw1QztNNkVwNkxvQyx5QkFBNEIsRUFBQTtJN0VzNkxoRTs7TTZFbjZMTSw2QkFBb0MsRUFBQTtJN0VzNkwxQzs7TTZFbDZMTSwrQkFBd0MsRUFBQTtJN0VxNkw5Qzs7TTZFajZMTSxnQ0FBMEMsRUFBQTtJN0VvNkxoRDs7TTZFaDZMTSw4QkFBc0MsRUFBQTtJN0VtNkw1QztNNkVsN0xvQyx1QkFBNEIsRUFBQTtJN0VvN0xoRTs7TTZFajdMTSwyQkFBb0MsRUFBQTtJN0VvN0wxQzs7TTZFaDdMTSw2QkFBd0MsRUFBQTtJN0VtN0w5Qzs7TTZFLzZMTSw4QkFBMEMsRUFBQTtJN0VrN0xoRDs7TTZFOTZMTSw0QkFBc0MsRUFBQTtJN0VpN0w1QztNNkVoOExvQyx5QkFBNEIsRUFBQTtJN0VrOExoRTs7TTZFLzdMTSw2QkFBb0MsRUFBQTtJN0VrOEwxQzs7TTZFOTdMTSwrQkFBd0MsRUFBQTtJN0VpOEw5Qzs7TTZFNzdMTSxnQ0FBMEMsRUFBQTtJN0VnOExoRDs7TTZFNTdMTSw4QkFBc0MsRUFBQTtJN0UrN0w1QztNNkU5OExvQyx1QkFBNEIsRUFBQTtJN0VnOUxoRTs7TTZFNzhMTSwyQkFBb0MsRUFBQTtJN0VnOUwxQzs7TTZFNThMTSw2QkFBd0MsRUFBQTtJN0UrOEw5Qzs7TTZFMzhMTSw4QkFBMEMsRUFBQTtJN0U4OExoRDs7TTZFMThMTSw0QkFBc0MsRUFBQTtJN0U2OEw1QztNNkU1OUxvQyxxQkFBNEIsRUFBQTtJN0U4OUxoRTs7TTZFMzlMTSx5QkFBb0MsRUFBQTtJN0U4OUwxQzs7TTZFMTlMTSwyQkFBd0MsRUFBQTtJN0U2OUw5Qzs7TTZFejlMTSw0QkFBMEMsRUFBQTtJN0U0OUxoRDs7TTZFeDlMTSwwQkFBc0MsRUFBQTtJN0UyOUw1QztNNkUxK0xvQywyQkFBNEIsRUFBQTtJN0U0K0xoRTs7TTZFeitMTSwrQkFBb0MsRUFBQTtJN0U0K0wxQzs7TTZFeCtMTSxpQ0FBd0MsRUFBQTtJN0UyK0w5Qzs7TTZFditMTSxrQ0FBMEMsRUFBQTtJN0UwK0xoRDs7TTZFdCtMTSxnQ0FBc0MsRUFBQTtJN0V5K0w1QztNNkV4L0xvQywwQkFBNEIsRUFBQTtJN0UwL0xoRTs7TTZFdi9MTSw4QkFBb0MsRUFBQTtJN0UwL0wxQzs7TTZFdC9MTSxnQ0FBd0MsRUFBQTtJN0V5L0w5Qzs7TTZFci9MTSxpQ0FBMEMsRUFBQTtJN0V3L0xoRDs7TTZFcC9MTSwrQkFBc0MsRUFBQTtJN0V1L0w1QztNNkV0Z01vQyx3QkFBNEIsRUFBQTtJN0V3Z01oRTs7TTZFcmdNTSw0QkFBb0MsRUFBQTtJN0V3Z00xQzs7TTZFcGdNTSw4QkFBd0MsRUFBQTtJN0V1Z005Qzs7TTZFbmdNTSwrQkFBMEMsRUFBQTtJN0VzZ01oRDs7TTZFbGdNTSw2QkFBc0MsRUFBQTtJN0VxZ001QztNNkVwaE1vQywwQkFBNEIsRUFBQTtJN0VzaE1oRTs7TTZFbmhNTSw4QkFBb0MsRUFBQTtJN0VzaE0xQzs7TTZFbGhNTSxnQ0FBd0MsRUFBQTtJN0VxaE05Qzs7TTZFamhNTSxpQ0FBMEMsRUFBQTtJN0VvaE1oRDs7TTZFaGhNTSwrQkFBc0MsRUFBQTtJN0VtaE01QztNNkVsaU1vQyx3QkFBNEIsRUFBQTtJN0VvaU1oRTs7TTZFamlNTSw0QkFBb0MsRUFBQTtJN0VvaU0xQzs7TTZFaGlNTSw4QkFBd0MsRUFBQTtJN0VtaU05Qzs7TTZFL2hNTSwrQkFBMEMsRUFBQTtJN0VraU1oRDs7TTZFOWhNTSw2QkFBc0MsRUFBQTtJN0VpaU01QztNNkV6aE00QiwyQkFBMkIsRUFBQTtJN0UyaE12RDs7TTZFeGhNTSwrQkFBK0IsRUFBQTtJN0UyaE1yQzs7TTZFdmhNTSxpQ0FBaUMsRUFBQTtJN0UwaE12Qzs7TTZFdGhNTSxrQ0FBa0MsRUFBQTtJN0V5aE14Qzs7TTZFcmhNTSxnQ0FBZ0MsRUFBQTtJN0V3aE10QztNNkV2aU00QiwwQkFBMkIsRUFBQTtJN0V5aU12RDs7TTZFdGlNTSw4QkFBK0IsRUFBQTtJN0V5aU1yQzs7TTZFcmlNTSxnQ0FBaUMsRUFBQTtJN0V3aU12Qzs7TTZFcGlNTSxpQ0FBa0MsRUFBQTtJN0V1aU14Qzs7TTZFbmlNTSwrQkFBZ0MsRUFBQTtJN0VzaU10QztNNkVyak00Qix3QkFBMkIsRUFBQTtJN0V1ak12RDs7TTZFcGpNTSw0QkFBK0IsRUFBQTtJN0V1ak1yQzs7TTZFbmpNTSw4QkFBaUMsRUFBQTtJN0Vzak12Qzs7TTZFbGpNTSwrQkFBa0MsRUFBQTtJN0Vxak14Qzs7TTZFampNTSw2QkFBZ0MsRUFBQTtJN0Vvak10QztNNkVua000QiwwQkFBMkIsRUFBQTtJN0Vxa012RDs7TTZFbGtNTSw4QkFBK0IsRUFBQTtJN0Vxa01yQzs7TTZFamtNTSxnQ0FBaUMsRUFBQTtJN0Vva012Qzs7TTZFaGtNTSxpQ0FBa0MsRUFBQTtJN0Vta014Qzs7TTZFL2pNTSwrQkFBZ0MsRUFBQTtJN0Vra010QztNNkVqbE00Qix3QkFBMkIsRUFBQTtJN0VtbE12RDs7TTZFaGxNTSw0QkFBK0IsRUFBQTtJN0VtbE1yQzs7TTZFL2tNTSw4QkFBaUMsRUFBQTtJN0VrbE12Qzs7TTZFOWtNTSwrQkFBa0MsRUFBQTtJN0VpbE14Qzs7TTZFN2tNTSw2QkFBZ0MsRUFBQTtJN0VnbE10QztNNkUxa01tQix1QkFBdUIsRUFBQTtJN0U0a00xQzs7TTZFemtNRSwyQkFBMkIsRUFBQTtJN0U0a003Qjs7TTZFeGtNRSw2QkFBNkIsRUFBQTtJN0Uya00vQjs7TTZFdmtNRSw4QkFBOEIsRUFBQTtJN0Uwa01oQzs7TTZFdGtNRSw0QkFBNEIsRUFBQSxFQUM3QjtFN0V3a01IO0k4RXhvTUUsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxVQUFVO0lBRVYsb0JBQW9CO0lBQ3BCLFdBQVc7SUFFWCxrQ0FBa0MsRUFBQTtFOUV3b01wQztJK0VscE1nQiw0R0FBOEMsRUFBQTtFL0VvcE05RDtJK0VocE1lLDhCQUE4QixFQUFBO0UvRWtwTTdDO0krRWpwTWUsOEJBQThCLEVBQUE7RS9FbXBNN0M7SStFbHBNZSw4QkFBOEIsRUFBQTtFL0VvcE03QztJZ0Y1cE1BLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RWhGOHBNbkI7SStFL29NMEIsMkJBQTJCLEVBQUE7RS9FaXBNckQ7SStFaHBNMEIsNEJBQTRCLEVBQUE7RS9Fa3BNdEQ7SStFanBNMEIsNkJBQTZCLEVBQUE7RS9EcUNyRDtJaEIrbU1BO00rRXRwTXdCLDJCQUEyQixFQUFBO0kvRXdwTW5EO00rRXZwTXdCLDRCQUE0QixFQUFBO0kvRXlwTXBEO00rRXhwTXdCLDZCQUE2QixFQUFBLEVBQUk7RS9EcUN6RDtJaEJzbk1BO00rRTdwTXdCLDJCQUEyQixFQUFBO0kvRStwTW5EO00rRTlwTXdCLDRCQUE0QixFQUFBO0kvRWdxTXBEO00rRS9wTXdCLDZCQUE2QixFQUFBLEVBQUk7RS9EcUN6RDtJaEI2bk1BO00rRXBxTXdCLDJCQUEyQixFQUFBO0kvRXNxTW5EO00rRXJxTXdCLDRCQUE0QixFQUFBO0kvRXVxTXBEO00rRXRxTXdCLDZCQUE2QixFQUFBLEVBQUk7RS9EcUN6RDtJaEJvb01BO00rRTNxTXdCLDJCQUEyQixFQUFBO0kvRTZxTW5EO00rRTVxTXdCLDRCQUE0QixFQUFBO0kvRThxTXBEO00rRTdxTXdCLDZCQUE2QixFQUFBLEVBQUk7RS9FK3FNM0Q7SStFenFNaUIsb0NBQW9DLEVBQUE7RS9FMnFNckQ7SStFMXFNaUIsb0NBQW9DLEVBQUE7RS9FNHFNckQ7SStFM3FNaUIscUNBQXFDLEVBQUE7RS9FNnFNdEQ7SStFenFNcUIsMkJBQTBDLEVBQUE7RS9FMnFNL0Q7SStFMXFNcUIsK0JBQTRDLEVBQUE7RS9FNHFNakU7SStFM3FNcUIsMkJBQTJDLEVBQUE7RS9FNnFNaEU7SStFNXFNcUIsMkJBQXlDLEVBQUE7RS9FOHFNOUQ7SStFN3FNcUIsOEJBQTJDLEVBQUE7RS9FK3FNaEU7SStFOXFNcUIsNkJBQTZCLEVBQUE7RS9FZ3JNbEQ7SStFNXFNWSxzQkFBd0IsRUFBQTtFL0U4cU1wQztJaUZwdE1FLHlCQUF3QixFQUFBO0VqRnN0TTFCO0lpRmp0TU0seUJBQTBFLEVBQUE7RWpGbXRNaEY7SWlGeHRNRSx5QkFBd0IsRUFBQTtFakYwdE0xQjtJaUZydE1NLHlCQUEwRSxFQUFBO0VqRnV0TWhGO0lpRjV0TUUseUJBQXdCLEVBQUE7RWpGOHRNMUI7SWlGenRNTSx5QkFBMEUsRUFBQTtFakYydE1oRjtJaUZodU1FLHlCQUF3QixFQUFBO0VqRmt1TTFCO0lpRjd0TU0seUJBQTBFLEVBQUE7RWpGK3RNaEY7SWlGcHVNRSx5QkFBd0IsRUFBQTtFakZzdU0xQjtJaUZqdU1NLHlCQUEwRSxFQUFBO0VqRm11TWhGO0lpRnh1TUUseUJBQXdCLEVBQUE7RWpGMHVNMUI7SWlGcnVNTSx5QkFBMEUsRUFBQTtFakZ1dU1oRjtJaUY1dU1FLHlCQUF3QixFQUFBO0VqRjh1TTFCO0lpRnp1TU0seUJBQTBFLEVBQUE7RWpGMnVNaEY7SWlGaHZNRSx5QkFBd0IsRUFBQTtFakZrdk0xQjtJaUY3dU1NLHlCQUEwRSxFQUFBO0VqRit1TWhGO0krRXhzTVcseUJBQTZCLEVBQUE7RS9FMHNNeEM7SStFenNNWSx5QkFBNkIsRUFBQTtFL0Uyc016QztJK0V6c01lLG9DQUFrQyxFQUFBO0UvRTJzTWpEO0krRTFzTWUsMENBQWtDLEVBQUE7RS9FNHNNakQ7SWtGL3ZNQSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQiw2QkFBNkI7SUFDN0IsU0FBUyxFQUFBO0VsRml3TVQ7SStFMXNNc0IsZ0NBQWdDLEVBQUE7RS9FNHNNdEQ7SStFenNNQSxpQ0FBaUM7SUFDakMsb0NBQW9DLEVBQUE7RS9FMnNNcEM7SStFdHNNWSx5QkFBeUIsRUFBQTtFL0V3c01yQztJbUZ4d01BLDhCQUE4QixFQUFBO0VuRjB3TTlCO0ltRnR3TUEsNkJBQTZCLEVBQUE7RUNBN0I7SXBGeXdNRTs7O01vRm53TUUsNEJBQTRCO01BRTVCLDJCQUEyQixFQUFBO0lwRnN3TTdCO01vRmp3TUksMEJBQTBCLEVBQUE7SXBGbXdNOUI7TW9GenZNRSw2QkFBNkIsRUFBQTtJcEYydk0vQjtNb0Y1dU1FLGdDQUFnQyxFQUFBO0lwRjh1TWxDOztNb0YxdU1FLHlCbEY3Q1k7TWtGOENaLHdCQUF3QixFQUFBO0lwRjZ1TTFCO01vRnB1TUUsMkJBQTJCLEVBQUE7SXBGc3VNN0I7O01vRmp1TUUsd0JBQXdCLEVBQUE7SXBGb3VNMUI7OztNb0Y5dE1FLFVBQVU7TUFDVixTQUFTLEVBQUE7SXBGa3VNWDs7TW9GN3RNRSx1QkFBdUIsRUFBQTtJQVF6QjtNcEZ5dE1FO1FvRnh0TUEsUTdFeWhDZ0MsRUFBQSxFTmpnQ3JDO0lEa3NNRztNb0Z2dE1FLDJCQUEyQyxFQUFBO0lwRnl0TTdDO01vRnR0TUUsMkJBQTJDLEVBQUE7SXBGd3RNN0M7TW9GbnRNRSxhQUFhLEVBQUE7SXBGcXRNZjtNb0ZsdE1FLHNCbEYxRlMsRUFBQTtJRjh5TVg7TW9GaHRNRSxvQ0FBb0MsRUFBQTtNcEZrdE1wQzs7UW9GOXNNRSxpQ0FBbUMsRUFBQTtJcEZpdE12Qzs7TW9GMXNNSSxvQ0FBc0MsRUFBQTtJcEY2c00xQztNb0Z4c01FLGNBQWMsRUFBQTtNcEYwc01kOzs7O1FvRnBzTUUscUJsRnRIVSxFQUFBO0lGK3pNZDtNb0Zwc01FLGNBQWM7TUFDZCxxQmxGNUhZLEVBQUEsRWtGNkhiO0VwRnFzTUg7SUMvek1NLG9DQUFvQyxFQUFBO0VEaTBNMUM7SUM5ek1NLCtCQUErQjtJQUMvQixjQ2RVO0lEZVYsbUJBUGUsRUFBQTtFRHUwTXJCO0lDN3pNTSx5QkFWZTtJQVdmLGNDbkJVLEVBQUE7RUZrMU1oQjtJQzV6TU0sb0NBQXVDO0lBQ3ZDLHlCQUEyQjtJQUMzQixxQkFoQmUsRUFBQTtFRDgwTXJCO0lDM3pNTSwyQkFuQmUsRUFBQTtFRGcxTXJCO0lDMXpNTSwwQkF0QmUsRUFBQTtFRGsxTXJCO0lDenpNTSx5QkF6QmUsRUFBQTtFRG8xTXJCO0lDeHpNTSw0QkE1QmUsRUFBQTtFRHMxTXJCO0lDdnpNTSxjQ3ZCOEMsRUFBQTtFRmcxTXBEO0lDdHpNTSxZQUFZLEVBQUE7RUR3ek1sQjtJQ3J6TU0sY0M3Q1UsRUFBQTtFRm8yTWhCO0lDcHpNTSxxQkF4Q2UsRUFBQTtFRDgxTXJCO0lDbnpNTSxZQUFZLEVBQUE7RURxek1sQjtJQ2x6TU0sWUFBWSxFQUFBO0VEb3pNbEI7SUNqek1NLFlBQVk7SUFDWixvQ0FBc0M7SUFDdEMsb0JBQW9CLEVBQUE7RURtek0xQjtJQ2h6TU0sd0NBQXdDO0lBQ3hDLHNDQUFvQyxFQUFBO0VEa3pNMUM7SUMveU1NLHVCQUF1QixFQUFBO0VEaXpNN0I7SUM5eU1NLG9DQUFvQztJQUNwQyxpQkFBaUIsRUFBQTtFRGd6TXZCO0lDN3lNSSwwQkFBMEIsRUFBQTtFRCt5TTlCO0lDNXlNSSx5QkFBeUIsRUFBQTtFRDh5TTdCO0lDM3lNTSwwQkFBMEIsRUFBQTtFRDZ5TWhDO0lDeHlNYyxzQ0FBNEQsRUFBQTtFRDB5TTFFO0lDdnlNYyx1QkFBdUI7SUFDdkIsaUNBQWlDLEVBQUE7RUR5eU0vQztJQzd5TWMsc0NBQTRELEVBQUE7RUQreU0xRTtJQzV5TWMsdUJBQXVCO0lBQ3ZCLGlDQUFpQyxFQUFBO0VEOHlNL0M7SUNsek1jLHNDQUE0RCxFQUFBO0VEb3pNMUU7SUNqek1jLHVCQUF1QjtJQUN2QixpQ0FBaUMsRUFBQTtFRG16TS9DO0lDdnpNYyxzQ0FBNEQsRUFBQTtFRHl6TTFFO0lDdHpNYyx1QkFBdUI7SUFDdkIsaUNBQWlDLEVBQUE7RUR3ek0vQztJQzV6TWMsc0NBQTRELEVBQUE7RUQ4ek0xRTtJQzN6TWMsdUJBQXVCO0lBQ3ZCLGlDQUFpQyxFQUFBO0VENnpNL0M7SUNqME1jLHNDQUE0RCxFQUFBO0VEbTBNMUU7SUNoME1jLHVCQUF1QjtJQUN2QixpQ0FBaUMsRUFBQTtFRGswTS9DO0lDdDBNYyxzQ0FBNEQsRUFBQTtFRHcwTTFFO0lDcjBNYyx1QkFBdUI7SUFDdkIsaUNBQWlDLEVBQUE7RUR1ME0vQztJQzMwTWMsc0NBQTRELEVBQUE7RUQ2ME0xRTtJQzEwTWMsdUJBQXVCO0lBQ3ZCLGlDQUFpQyxFQUFBO0VENDBNL0M7SUN2ME1JLFlBQVk7SUFDWix5QkMxRStDO0lEMkUvQyxrQkFBa0IsRUFBQTtFRHkwTXRCO0lDdDBNSSxZQUFZO0lBQ1oseUJDNUUrQztJRDZFL0Msa0JBQWtCLEVBQUE7RUR3ME10QjtJQ3IwTU0sbUJDbEdVO0lEbUdWLFlBQVksRUFBQTtFRHUwTWxCO0lDcDBNTSwyREFBbUUsRUFBQSIsImZpbGUiOiJkYXJrX3NjcmVlbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJbZGF0YS10aGVtZT0nZGFyayddIHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgY29sb3I6ICNmOGY5ZmE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSA6cm9vdCB7XG4gICAgLS1ibHVlOiAjMDA3YmZmO1xuICAgIC0taW5kaWdvOiAjNjYxMGYyO1xuICAgIC0tcHVycGxlOiAjNmY0MmMxO1xuICAgIC0tcGluazogI2U4M2U4YztcbiAgICAtLXJlZDogI2RjMzU0NTtcbiAgICAtLW9yYW5nZTogI2ZkN2UxNDtcbiAgICAtLXllbGxvdzogI2ZmYzEwNztcbiAgICAtLWdyZWVuOiAjMjhhNzQ1O1xuICAgIC0tdGVhbDogIzIwYzk5NztcbiAgICAtLWN5YW46ICMxN2EyYjg7XG4gICAgLS13aGl0ZTogI2ZmZjtcbiAgICAtLWdyYXk6ICM2Yzc1N2Q7XG4gICAgLS1ncmF5LWRhcms6ICMzNDNhNDA7XG4gICAgLS1wcmltYXJ5OiAjM0E1MkEyO1xuICAgIC0tc2Vjb25kYXJ5OiAjNmM3NTdkO1xuICAgIC0tc3VjY2VzczogIzNBQjU0QTtcbiAgICAtLWluZm86ICMyNUFBRTI7XG4gICAgLS13YXJuaW5nOiAjRkZFODlCO1xuICAgIC0tZGFuZ2VyOiAjQkYxRTJFO1xuICAgIC0tbGlnaHQ6ICNmOGY5ZmE7XG4gICAgLS1kYXJrOiAjMzQzYTQwO1xuICAgIC0tYnJlYWtwb2ludC14czogMDtcbiAgICAtLWJyZWFrcG9pbnQtc206IDU3NnB4O1xuICAgIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7XG4gICAgLS1icmVha3BvaW50LWxnOiA5OTJweDtcbiAgICAtLWJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiAgICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAqLFxuICBbZGF0YS10aGVtZT0nZGFyayddICo6OmJlZm9yZSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhcnRpY2xlLCBbZGF0YS10aGVtZT0nZGFyayddIGFzaWRlLCBbZGF0YS10aGVtZT0nZGFyayddIGZpZ2NhcHRpb24sIFtkYXRhLXRoZW1lPSdkYXJrJ10gZmlndXJlLCBbZGF0YS10aGVtZT0nZGFyayddIGZvb3RlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSBoZWFkZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gaGdyb3VwLCBbZGF0YS10aGVtZT0nZGFyayddIG1haW4sIFtkYXRhLXRoZW1lPSdkYXJrJ10gbmF2LCBbZGF0YS10aGVtZT0nZGFyayddIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICNkM2QzZDM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxZDIxOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGgxLCBbZGF0YS10aGVtZT0nZGFyayddIGgyLCBbZGF0YS10aGVtZT0nZGFyayddIGgzLCBbZGF0YS10aGVtZT0nZGFyayddIGg0LCBbZGF0YS10aGVtZT0nZGFyayddIGg1LCBbZGF0YS10aGVtZT0nZGFyayddIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGFiYnJbdGl0bGVdLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIG9sLFxuICBbZGF0YS10aGVtZT0nZGFyayddIHVsLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGRsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBvbCBvbCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB1bCB1bCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBvbCB1bCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB1bCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gZGQge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gc3ViLFxuICBbZGF0YS10aGVtZT0nZGFyayddIHN1cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIHN1YiB7XG4gICAgYm90dG9tOiAtLjI1ZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBzdXAge1xuICAgIHRvcDogLS41ZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhIHtcbiAgICBjb2xvcjogI2FkYWRhZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM4Nzg3ODc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gcHJlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGNvZGUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10ga2JkLFxuICBbZGF0YS10aGVtZT0nZGFyayddIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gcHJlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBmaWd1cmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gc3ZnIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGNhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0aCB7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGlucHV0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBzZWxlY3QsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gb3B0Z3JvdXAsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gdGV4dGFyZWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaW5wdXQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLFxuICBbZGF0YS10aGVtZT0nZGFyayddIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gc2VsZWN0IHtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cInJlc2V0XCJdLFxuICBbZGF0YS10aGVtZT0nZGFyayddIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbjpub3QoOmRpc2FibGVkKSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cImJ1dHRvblwiXTpub3QoOmRpc2FibGVkKSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cInJlc2V0XCJdOm5vdCg6ZGlzYWJsZWQpLFxuICBbZGF0YS10aGVtZT0nZGFyayddIFt0eXBlPVwic3VibWl0XCJdOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbZGF0YS10aGVtZT0nZGFyayddIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBvdXRwdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBoMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSBoMiwgW2RhdGEtdGhlbWU9J2RhcmsnXSBoMywgW2RhdGEtdGhlbWU9J2RhcmsnXSBoNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSBoNSwgW2RhdGEtdGhlbWU9J2RhcmsnXSBoNixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaDEsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmgyLCBbZGF0YS10aGVtZT0nZGFyayddIC5oMywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaDQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmg1LCBbZGF0YS10aGVtZT0nZGFyayddIC5oNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGgxLCBbZGF0YS10aGVtZT0nZGFyayddIC5oMSB7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGgyLCBbZGF0YS10aGVtZT0nZGFyayddIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBoMywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS40ODc1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaDQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmg0IHtcbiAgICBmb250LXNpemU6IDEuMjc1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaDUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmg1IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGg2LCBbZGF0YS10aGVtZT0nZGFyayddIC5oNiB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZGlzcGxheS0xIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRpc3BsYXktMiB7XG4gICAgZm9udC1zaXplOiA1LjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRpc3BsYXktMyB7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRpc3BsYXktNCB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaHIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIHNtYWxsLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIG1hcmssXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1hcmsge1xuICAgIHBhZGRpbmc6IDAuMmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC11bnN0eWxlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1pbmxpbmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtaW5saW5lLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbml0aWFsaXNtIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGNvbG9yOiAjNmM3NTdkOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmltZy1mbHVpZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbWctdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZpZ3VyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZpZ3VyZS1pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5maWd1cmUtY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgY29sb3I6ICM2Yzc1N2Q7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBjb2RlIHtcbiAgICBmb250LXNpemU6IDg3LjUlO1xuICAgIGNvbG9yOiAjZTgzZThjO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIGEgPiBbZGF0YS10aGVtZT0nZGFyayddIGNvZGUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBrYmQge1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gICAgZm9udC1zaXplOiA4Ny41JTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSBrYmQga2JkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIHByZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4Ny41JTtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gcHJlIGNvZGUge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHJlLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDM0MHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lci1mbHVpZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXNtLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXItbWQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lci1sZyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXhsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXItc20ge1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXNtLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXItbWQge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXNtLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXItbWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lci1sZyB7XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXNtLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXItbWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29udGFpbmVyLXhsIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uby1ndXR0ZXJzID4gLmNvbCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uby1ndXR0ZXJzID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLTIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC0zLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLTUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC02LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLTgsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC05LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtMTAsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC0xMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLTEyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1hdXRvLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLTIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS0zLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLTUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS02LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLTgsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS05LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tMTAsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS0xMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLTEyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS1hdXRvLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC0zLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC02LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtNywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTgsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC05LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtMTAsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC0xMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTEyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC1hdXRvLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy0zLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy02LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctNywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTgsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy05LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctMTAsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy0xMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTEyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGcsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy1hdXRvLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC0zLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtNCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC02LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtNywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTgsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC05LCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtMTAsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC0xMSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTEyLCBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC1hdXRvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGFzdCB7XG4gICAgb3JkZXI6IDEzOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTAge1xuICAgIG9yZGVyOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTcge1xuICAgIG9yZGVyOiA3OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTgge1xuICAgIG9yZGVyOiA4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTkge1xuICAgIG9yZGVyOiA5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLTEwIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItMTEge1xuICAgIG9yZGVyOiAxMTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci0xMiB7XG4gICAgb3JkZXI6IDEyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20ge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXNtLTEgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtc20tMiA+ICoge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtc20tMyA+ICoge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtc20tNCA+ICoge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtc20tNSA+ICoge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtc20tNiA+ICoge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLWF1dG8ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS0xIHtcbiAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tMiB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tMyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNCB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNSB7XG4gICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNiB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tNyB7XG4gICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tOCB7XG4gICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tOSB7XG4gICAgICBmbGV4OiAwIDAgNzUlO1xuICAgICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtc20tMTAge1xuICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXNtLTExIHtcbiAgICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1zbS0xMiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLWZpcnN0IHtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLWxhc3Qge1xuICAgICAgb3JkZXI6IDEzOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItc20tMCB7XG4gICAgICBvcmRlcjogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTEge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1zbS0yIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItc20tMyB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTQge1xuICAgICAgb3JkZXI6IDQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1zbS01IHtcbiAgICAgIG9yZGVyOiA1OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItc20tNiB7XG4gICAgICBvcmRlcjogNjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTcge1xuICAgICAgb3JkZXI6IDc7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1zbS04IHtcbiAgICAgIG9yZGVyOiA4OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItc20tOSB7XG4gICAgICBvcmRlcjogOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTEwIHtcbiAgICAgIG9yZGVyOiAxMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTExIHtcbiAgICAgIG9yZGVyOiAxMTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXNtLTEyIHtcbiAgICAgIG9yZGVyOiAxMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1zbS0wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXNtLTEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXNtLTIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1zbS0zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtc20tNCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXNtLTUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1zbS02IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtc20tNyB7XG4gICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXNtLTgge1xuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1zbS05IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtc20tMTAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1zbS0xMSB7XG4gICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kIHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1tZC0xID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLW1kLTIgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLW1kLTMgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLW1kLTQgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLW1kLTUgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLW1kLTYgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC1hdXRvIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtMSB7XG4gICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTIge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTQge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTUge1xuICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTYge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTcge1xuICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTgge1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTkge1xuICAgICAgZmxleDogMCAwIDc1JTtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLW1kLTEwIHtcbiAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1tZC0xMSB7XG4gICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbWQtMTIge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC1maXJzdCB7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC1sYXN0IHtcbiAgICAgIG9yZGVyOiAxMzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLW1kLTAge1xuICAgICAgb3JkZXI6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC0xIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbWQtMiB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLW1kLTMge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC00IHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbWQtNSB7XG4gICAgICBvcmRlcjogNTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLW1kLTYge1xuICAgICAgb3JkZXI6IDY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC03IHtcbiAgICAgIG9yZGVyOiA3OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbWQtOCB7XG4gICAgICBvcmRlcjogODsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLW1kLTkge1xuICAgICAgb3JkZXI6IDk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC0xMCB7XG4gICAgICBvcmRlcjogMTA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC0xMSB7XG4gICAgICBvcmRlcjogMTE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1tZC0xMiB7XG4gICAgICBvcmRlcjogMTI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbWQtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1tZC0xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1tZC0yIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbWQtMyB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LW1kLTQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1tZC01IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbWQtNiB7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LW1kLTcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1tZC04IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbWQtOSB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LW1kLTEwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbWQtMTEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZyB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm93LWNvbHMtbGctMSA+ICoge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1sZy0yID4gKiB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1sZy0zID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1sZy00ID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1sZy01ID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy1sZy02ID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctYXV0byB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTEge1xuICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy0yIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy0zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy00IHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy01IHtcbiAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy02IHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy03IHtcbiAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy04IHtcbiAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy05IHtcbiAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC1sZy0xMCB7XG4gICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtbGctMTEge1xuICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWxnLTEyIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctZmlyc3Qge1xuICAgICAgb3JkZXI6IC0xOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctbGFzdCB7XG4gICAgICBvcmRlcjogMTM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1sZy0wIHtcbiAgICAgIG9yZGVyOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctMSB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLWxnLTIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1sZy0zIHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctNCB7XG4gICAgICBvcmRlcjogNDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLWxnLTUge1xuICAgICAgb3JkZXI6IDU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1sZy02IHtcbiAgICAgIG9yZGVyOiA2OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctNyB7XG4gICAgICBvcmRlcjogNzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLWxnLTgge1xuICAgICAgb3JkZXI6IDg7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci1sZy05IHtcbiAgICAgIG9yZGVyOiA5OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctMTAge1xuICAgICAgb3JkZXI6IDEwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctMTEge1xuICAgICAgb3JkZXI6IDExOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXItbGctMTIge1xuICAgICAgb3JkZXI6IDEyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LWxnLTAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbGctMSB7XG4gICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbGctMiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LWxnLTMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1sZy00IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbGctNSB7XG4gICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LWxnLTYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1sZy03IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQtbGctOCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LWxnLTkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC1sZy0xMCB7XG4gICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LWxnLTExIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsIHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3ctY29scy14bC0xID4gKiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXhsLTIgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXhsLTMgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXhsLTQgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXhsLTUgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdy1jb2xzLXhsLTYgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC1hdXRvIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtMSB7XG4gICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTIge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTQge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTUge1xuICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTYge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTcge1xuICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTgge1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTkge1xuICAgICAgZmxleDogMCAwIDc1JTtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLXhsLTEwIHtcbiAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNvbC14bC0xMSB7XG4gICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wteGwtMTIge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC1maXJzdCB7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC1sYXN0IHtcbiAgICAgIG9yZGVyOiAxMzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXhsLTAge1xuICAgICAgb3JkZXI6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC0xIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXIteGwtMiB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXhsLTMge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC00IHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXIteGwtNSB7XG4gICAgICBvcmRlcjogNTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXhsLTYge1xuICAgICAgb3JkZXI6IDY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC03IHtcbiAgICAgIG9yZGVyOiA3OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3JkZXIteGwtOCB7XG4gICAgICBvcmRlcjogODsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9yZGVyLXhsLTkge1xuICAgICAgb3JkZXI6IDk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC0xMCB7XG4gICAgICBvcmRlcjogMTA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC0xMSB7XG4gICAgICBvcmRlcjogMTE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vcmRlci14bC0xMiB7XG4gICAgICBvcmRlcjogMTI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQteGwtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC14bC0xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC14bC0yIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQteGwtMyB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXhsLTQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC14bC01IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQteGwtNiB7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXhsLTcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm9mZnNldC14bC04IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQteGwtOSB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub2Zmc2V0LXhsLTEwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5vZmZzZXQteGwtMTEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAjZDNkM2QzOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUgdGgsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzM0M2E0MDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHRoZWFkIHRoIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzM0M2E0MDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzNDNhNDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc20gdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXNtIHRkIHtcbiAgICBwYWRkaW5nOiAwLjNyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNDNhNDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ib3JkZXJlZCB0aCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzQzYTQwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWJvcmRlcmxlc3MgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWJvcmRlcmxlc3MgdGQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgY29sb3I6ICNkM2QzZDM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSA+IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1wcmltYXJ5ID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNmZTU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSB0ZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSB0aGVhZCB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItY29sb3I6ICM5OWE1Y2Y7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2MwZGQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YzBkZDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXNlY29uZGFyeSA+IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnkgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXNlY29uZGFyeSB0ZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc2Vjb25kYXJ5IHRoZWFkIHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnkgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjNiN2JiOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyA+IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zdWNjZXNzID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGVhY2M7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyB0ZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyB0aGVhZCB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItY29sb3I6ICM5OWQ5YTE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNmUzYmI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I2ZTNiYjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvID4gdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWluZm8gPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MyZTdmNzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvIHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvIHRkLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvIHRoZWFkIHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci1jb2xvcjogIzhlZDNmMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGVmNDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZWY0OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtd2FybmluZyA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWUzOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgdGQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgdGhlYWQgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmM2NiOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNGNhOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0Y2E7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYW5nZXIgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGMwYzQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyIHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYW5nZXIgdGQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhbmdlciB0aGVhZCB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci1jb2xvcjogI2RlOGE5MjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdhY2IxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdhY2IxOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWxpZ2h0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1saWdodCA+IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1saWdodCA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWxpZ2h0IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1saWdodCB0ZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtbGlnaHQgdGhlYWQgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWxpZ2h0IHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci1jb2xvcjogI2ZiZmNmYzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmssXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGhlYWQgdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTU5OTljOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYWN0aXZlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1hY3RpdmUgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYWN0aXZlID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgY29sb3I6ICNkZWUyZTY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItY29sb3I6ICM0NTRkNTU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUgLnRoZWFkLWxpZ2h0IHRoIHtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrIHtcbiAgICBjb2xvcjogI2RlZTJlNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayB0aCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrIHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGhlYWQgdGgge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXJlc3BvbnNpdmUtc20ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXJlc3BvbnNpdmUtc20gPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcmVzcG9uc2l2ZS1sZyA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1yZXNwb25zaXZlLXhsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1yZXNwb25zaXZlLXhsID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1wcmltYXJ5LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1wcmltYXJ5ID4gdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXByaW1hcnkgPiB0ZCB7XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXNlY29uZGFyeSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc2Vjb25kYXJ5ID4gdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXNlY29uZGFyeSA+IHRkIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGgge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyA+IHRoLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zdWNjZXNzID4gdGQge1xuICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gICAgICBjb2xvcjogIzIxMjUyOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1pbmZvID4gdGgsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWluZm8gPiB0ZCB7XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0ZCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRoIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtd2FybmluZyA+IHRkIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciB7XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGgge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYW5nZXIgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyID4gdGQge1xuICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gICAgICBjb2xvcjogIzIxMjUyOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1saWdodCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtbGlnaHQgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtbGlnaHQgPiB0ZCB7XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRoIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmssXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayA+IHRkIHtcbiAgICBjb2xvcjogIzIxMjUyOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciB7XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGgge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYWN0aXZlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1hY3RpdmUgPiB0aCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYWN0aXZlID4gdGQge1xuICAgIGNvbG9yOiAjY2VkNGRhOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjY2VkNGRhOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gICAgICBjb2xvcjogI2NlZDRkYTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrIHtcbiAgICBjb2xvcjogI2RlZTJlNjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogI2RlZTJlNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZjNzU3ZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjZGVlMmU2OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZGVlMmU2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MWQyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IzZDdmZjtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDU4LCA4MiwgMTYyLCAwLjI1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOmRpc2FibGVkLCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gaW5wdXRbdHlwZT1cImRhdGVcIl0uZm9ybS1jb250cm9sLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmZvcm0tY29udHJvbCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uZm9ybS1jb250cm9sLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGlucHV0W3R5cGU9XCJtb250aFwiXS5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBzZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiAjZGVlMmU2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sLWZpbGUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAuMzc1cmVtICsgMXB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIDFweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gKyAxcHgpO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sLWZvcm0tbGFiZWwtc20ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2wtc20ge1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc0Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY29udHJvbC1sZyB7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBzZWxlY3QuZm9ybS1jb250cm9sW3NpemVdLCBbZGF0YS10aGVtZT0nZGFyayddIHNlbGVjdC5mb3JtLWNvbnRyb2xbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1yb3cgPiAuY29sLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNmM3NTdkOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC52YWxpZC1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGNvbG9yOiAjM0FCNTRBOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnZhbGlkLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDE4MSwgNzQsIDAuOSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIFtkYXRhLXRoZW1lPSdkYXJrJ10uaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10uaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOnZhbGlkLCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogIzNBQjU0QTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMzQUI1NEEnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOyB9XG4gICAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDE4MSwgNzQsIDAuMjUpOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCBbZGF0YS10aGVtZT0nZGFyayddIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdDp2YWxpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC43NWVtICsgMi4zMTI1cmVtKTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzM0FCNTRBJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpICMwMDAgbm8tcmVwZWF0IGNlbnRlciByaWdodCAxLjc1cmVtL2NhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOyB9XG4gICAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMzQUI1NEE7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTgxLCA3NCwgMC4yNSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAjM0FCNTRBOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjM0FCNTRBOyB9XG4gICAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICMzQUI1NEE7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzU4Y2E2NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNThjYTY3OyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU4LCAxODEsIDc0LCAwLjI1KTsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU4LCAxODEsIDc0LCAwLjI1KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgY29sb3I6ICNCRjFFMkU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW52YWxpZC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBmb250LXNpemU6IDAuNzQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogI2NlZDRkYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5MSwgMzAsIDQ2LCAwLjkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXTppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ106aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIFtkYXRhLXRoZW1lPSdkYXJrJ10uaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICBbZGF0YS10aGVtZT0nZGFyayddLmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNCRjFFMkUnIHZpZXdCb3g9JzAgMCAxMiAxMiclM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLyUzZSUzY3BhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8lM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPSclMjNCRjFFMkUnIHN0cm9rZT0nbm9uZScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7IH1cbiAgICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQkYxRTJFO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTkxLCAzMCwgNDYsIDAuMjUpOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gdGV4dGFyZWEuZm9ybS1jb250cm9sOmludmFsaWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNCRjFFMkU7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygwLjc1ZW0gKyAyLjMxMjVyZW0pO1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweCwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNCRjFFMkUnIHZpZXdCb3g9JzAgMCAxMiAxMiclM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLyUzZSUzY3BhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8lM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPSclMjNCRjFFMkUnIHN0cm9rZT0nbm9uZScvJTNlJTNjL3N2ZyUzZVwiKSAjMDAwIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTsgfVxuICAgIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zZWxlY3Q6aW52YWxpZDpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDE5MSwgMzAsIDQ2LCAwLjI1KTsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAjQkYxRTJFOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgY29sb3I6ICNCRjFFMkU7IH1cbiAgICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNCRjFFMkU7IH1cbiAgLndhcy12YWxpZGF0ZWQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZjMxNDM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmMzE0MzsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTkxLCAzMCwgNDYsIDAuMjUpOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQkYxRTJFOyB9XG4gIC53YXMtdmFsaWRhdGVkIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRTsgfVxuICAud2FzLXZhbGlkYXRlZCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICNCRjFFMkU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTkxLCAzMCwgNDYsIDAuMjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWlubGluZSBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjZDNkM2QzO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0biB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpob3ZlciB7XG4gICAgICBjb2xvcjogI2QzZDNkMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgODIsIDE2MiwgMC4yNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4uZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cbiAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDgyLCAxNjIsIDAuMjUpLCBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLmJ0bi5kaXNhYmxlZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBmaWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnkge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzQTUyQTI7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0E1MkEyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NDg2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmQzZjdjOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnk6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDQ4NjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJkM2Y3YztcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgMCAwLjJyZW0gcmdiYSg4MCwgMTAyLCAxNzAsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tcHJpbWFyeS5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0E1MkEyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0E1MkEyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZjdjO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjkzYTczOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSg4MCwgMTAyLCAxNzAsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcbiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzU0NWI2MjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zZWNvbmRhcnkuZm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWE2MjY4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDEyMywgMTMxLCAxMzksIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRlNTU1YjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMTIzLCAxMzEsIDEzOSwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc3VjY2VzcyB7XG4gICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNBQjU0QTtcbiAgICBib3JkZXItY29sb3I6ICMzQUI1NEE7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc3VjY2Vzczpob3ZlciB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTk4M2U7XG4gICAgICBib3JkZXItY29sb3I6ICMyZThlM2E7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc3VjY2Vzczpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE5ODNlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmU4ZTNhO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDgwLCAxODYsIDk2LCAwLjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBQjU0QTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNBQjU0QTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlOGUzYTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJiODUzNjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoODAsIDE4NiwgOTYsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm8ge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUFBRTI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjVBQUUyO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm86aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE5M2M2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTk4YmJiOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm86Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1pbmZvLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhOTNjNjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE5OGJiYjtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgMCAwLjJyZW0gcmdiYSg2MiwgMTc2LCAyMjUsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4taW5mby5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm86ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVBQUUyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjVBQUUyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4YmJiO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTc4M2IwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSg2MiwgMTc2LCAyMjUsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmcge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkU4OUI7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZFODlCO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZjc1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZkYzY4OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmc6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGY3NTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZGM2ODtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgMCAwLjJyZW0gcmdiYSgyMjIsIDIwMywgMTM4LCAwLjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmcuZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi13YXJuaW5nOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTg5QjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRTg5QjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGM2ODtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZDk1YjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMjIyLCAyMDMsIDEzOCwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFuZ2VyIHtcbiAgICBjb2xvcjogI2NlZDRkYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYxRTJFO1xuICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1kYW5nZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUxOTI2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTMxNzIzOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhbmdlcjpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhbmdlci5mb2N1cyB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTE5MjY7XG4gICAgICBib3JkZXItY29sb3I6ICM5MzE3MjM7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMTkzLCA1NywgNzIsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFuZ2VyLmRpc2FibGVkLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JGMUUyRTtcbiAgICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkzMTcyMztcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4MTUyMTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMTkzLCA1NywgNzIsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpZ2h0IHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saWdodDpob3ZlciB7XG4gICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmU2ZWE7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWUwZTU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tbGlnaHQ6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saWdodC5mb2N1cyB7XG4gICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmU2ZWE7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWUwZTU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMjE2LCAyMTcsIDIxOSwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saWdodC5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QzZDlkZjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMjE2LCAyMTcsIDIxOSwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyayB7XG4gICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyazpob3ZlciB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7XG4gICAgICBib3JkZXItY29sb3I6ICMxZDIxMjQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyazpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhcmsuZm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyNzJiO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDc1LCA4MSwgODcsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyay5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhcms6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyay5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTcxYTFkOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSg3NSwgODEsIDg3LCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIGNvbG9yOiAjM0E1MkEyO1xuICAgIGJvcmRlci1jb2xvcjogIzNBNTJBMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0E1MkEyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0E1MkEyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgODIsIDE2MiwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICMzQTUyQTI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNBNTJBMjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDgyLCAxNjIsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gICAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSksIDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gICAgY29sb3I6ICMzQUI1NEE7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzQUI1NEE7XG4gICAgICBib3JkZXItY29sb3I6ICMzQUI1NEE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU4LCAxODEsIDc0LCAwLjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogIzNBQjU0QTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0FCNTRBO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0FCNTRBOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTgxLCA3NCwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1pbmZvIHtcbiAgICBjb2xvcjogIzI1QUFFMjtcbiAgICBib3JkZXItY29sb3I6ICMyNUFBRTI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1QUFFMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1QUFFMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMzcsIDE3MCwgMjI2LCAwLjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogIzI1QUFFMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVBQUUyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjVBQUUyOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSgzNywgMTcwLCAyMjYsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtd2FybmluZyB7XG4gICAgY29sb3I6ICNGRkU4OUI7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZFODlCOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XG4gICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkU4OUI7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkU4OUI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMjMyLCAxNTUsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjRkZFODlCO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkU4OUI7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkU4OUI7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSksIDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMjMyLCAxNTUsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgICBjb2xvcjogI0JGMUUyRTtcbiAgICBib3JkZXItY29sb3I6ICNCRjFFMkU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYxRTJFO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQkYxRTJFOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTkxLCAzMCwgNDYsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI0JGMUUyRTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYxRTJFO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQkYxRTJFOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAgMCAwLjJyZW0gcmdiYSgxOTEsIDMwLCA0NiwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1saWdodCB7XG4gICAgY29sb3I6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNmOGY5ZmE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgIC5zaG93ID4gW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYXJrIHtcbiAgICBjb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYXJrOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcmsuZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICMzNDNhNDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAuc2hvdyA+IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgICAgLnNob3cgPiBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI2FkYWRhZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpbms6Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saW5rLmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxpbms6ZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1saW5rLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWxnLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ0bi1ibG9jayxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBpbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mYWRlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mYWRlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmFkZTpub3QoLnNob3cpIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sbGFwc2U6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jb2xsYXBzaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY29sbGFwc2luZyB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wdXAsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3ByaWdodCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3BsZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICBtYXJnaW46IDAuMTI1cmVtIDAgMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6ICNkM2QzZDM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTc1KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51LXNtLWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51LW1kLWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudS1tZC1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51LWxnLWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudS14bC1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gICAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7XG4gICAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gICAgdmVydGljYWwtYWxpZ246IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49XCJ0b3BcIl0sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLCBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzQzYTQwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNmOGY5ZmE7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWl0ZW06aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzk1ZmY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1pdGVtOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51LnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbiAgICBjb2xvcjogI2NlZDRkYTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gICAgY29sb3I6ICNmOGY5ZmE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwID4gLmJ0bixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpob3ZlciB7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4uYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLFxuICAgIC5kcm9wdXAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcixcbiAgICAuZHJvcHJpZ2h0IFtkYXRhLXRoZW1lPSdkYXJrJ10gLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuZHJvcGxlZnQgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1saW5rIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tZmlsZSxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuZm9ybS1jb250cm9sLFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tc2VsZWN0LFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tZmlsZSxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuZm9ybS1jb250cm9sLFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tZmlsZSxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmZvcm0tY29udHJvbCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5jdXN0b20tZmlsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgICAgei1pbmRleDogNDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bjpmb2N1cyxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5idG4sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuICsgLmJ0bixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjZGVlMmU2O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZjNzU3ZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc0Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDEuMjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDEuMTM3NXJlbTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0E1MkEyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICAgIGJveC1zaGFkb3c6OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDU4LCA4MiwgMTYyLCAwLjI1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICM4Nzk5ZDQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI5ZTI7XG4gICAgICBib3JkZXItY29sb3I6ICNhZGI5ZTI7XG4gICAgICBib3gtc2hhZG93OjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0W2Rpc2FibGVkXSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM2Yzc1N2Q7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWlucHV0W2Rpc2FibGVkXSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjEzNzVyZW07XG4gICAgICBsZWZ0OiAtMS41cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6ICNhZGI1YmQgc29saWQgMXB4O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4xMzc1cmVtO1xuICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDUwJSA1MCU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0E1MkEyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzQTUyQTI7XG4gICAgYm94LXNoYWRvdzo7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA4MiwgMTYyLCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA4MiwgMTYyLCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA4MiwgMTYyLCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zd2l0Y2gge1xuICAgIHBhZGRpbmctbGVmdDogMi4yNXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTIuMjVyZW07XG4gICAgICB3aWR0aDogMS43NXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKDAuMTM3NXJlbSArIDJweCk7XG4gICAgICBsZWZ0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDFyZW0gLSA0cHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDFyZW0gLSA0cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC43NXJlbSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgODIsIDE2MiwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMS43NXJlbSAwLjM3NXJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICNkZWUyZTY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmM3NTdkO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg3OTlkNDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSksIDAgMCAwIDAuMnJlbSByZ2JhKDU4LCA4MiwgMTYyLCAwLjI1KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAgICAgY29sb3I6ICNkZWUyZTY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdDotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgI2RlZTJlNjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc2VsZWN0LXNtIHtcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tc2VsZWN0LWxnIHtcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODc5OWQ0O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDgyLCAxNjIsIDAuMjUpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWZpbGUtaW5wdXRbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJCcm93c2VcIjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWlucHV0IH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICAgICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDgyLCAxNjIsIDAuMjUpOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDgyLCAxNjIsIDAuMjUpOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tcy10aHVtYiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgODIsIDE2MiwgMC4yNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAuMXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiOWUyOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwLjI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAuMXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjllMjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwLjI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAuMXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI5ZTI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAuMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY3VzdG9tLXNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi1saW5rOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtbGluazpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi10YWJzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtdGFicyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi10YWJzIC5uYXYtbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0OTUwNTcgIzQ5NTA1NyByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTI1KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICNmOGY5ZmE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxZDIxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDk1MDU3ICM0OTUwNTcgIzE5MWQyMTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2LXBpbGxzIC5uYXYtbGluayB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0E1MkEyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdi1maWxsID4gLm5hdi1saW5rLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtanVzdGlmaWVkID4gLm5hdi1saW5rLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXIgLmNvbnRhaW5lcixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXIgLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyIC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhciAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXIgLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyIC5jb250YWluZXIteGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWJyYW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuMzQwNjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMzQwNjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItYnJhbmQ6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci10b2dnbGVyIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci10b2dnbGVyOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lcixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtc20ge1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteGwge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lcixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIteGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbWQge1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIteGwge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lcixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIteGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbGcge1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIteGwge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLXNtLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1tZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbGcsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLXhsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC14bCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1zbSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWxnLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci14bCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lcixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItc20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLW1kLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1sZywgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXIteGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXNtLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1tZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItbGcsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXhsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWV4cGFuZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmElMjgwLCAwLCAwLCAwLjUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41JTI5JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkID4gaHIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZCA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtYm9keSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgY29sb3I6ICNlOWVjZWY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4zNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyNSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1oZWFkZXItdGFicyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtaW1nLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWltZy10b3AsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1pbWcsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtaW1nLXRvcCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWltZyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1pbWctYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZGVjayAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWRlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWdyb3VwID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZ3JvdXAgPiAuY2FyZCArIC5jYXJkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcmQtY29sdW1ucyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICAgICAgb3JwaGFuczogMTtcbiAgICAgIHdpZG93czogMTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFjY29yZGlvbiB7XG4gICAgb3ZlcmZsb3ctYW5jaG9yOiBub25lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWNjb3JkaW9uID4gLmNhcmQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWNjb3JkaW9uID4gLmNhcmQgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgICAgY29udGVudDogXCIvXCI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2NlZDRkYTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnZS1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgY29sb3I6ICNhZGFkYWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk1MDU3OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnZS1saW5rOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gICAgICBib3JkZXItY29sb3I6ICM0OTUwNTc7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdlLWxpbms6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgODIsIDE2MiwgMC4yNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzOTVmZjtcbiAgICBib3JkZXItY29sb3I6ICMzMzk1ZmY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1jb2xvcjogIzQ5NTA1NzsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBhZ2luYXRpb24tc20gLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc0Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMnJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjJyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4ycmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4yNWVtIDAuNGVtO1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZTpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1waWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLXByaW1hcnkge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzQTUyQTI7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtcHJpbWFyeTpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLXByaW1hcnk6Zm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzZjdjOyB9XG4gICAgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLXByaW1hcnk6Zm9jdXMsIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1wcmltYXJ5LmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgODIsIDE2MiwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utc2Vjb25kYXJ5OmhvdmVyLCBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjsgfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1zZWNvbmRhcnk6Zm9jdXMsIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1zZWNvbmRhcnkuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utc3VjY2VzcyB7XG4gICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNBQjU0QTsgfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1zdWNjZXNzOmhvdmVyLCBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZThlM2E7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utc3VjY2Vzczpmb2N1cywgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLXN1Y2Nlc3MuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU4LCAxODEsIDc0LCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWluZm8ge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUFBRTI7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtaW5mbzpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWluZm86Zm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4YmJiOyB9XG4gICAgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWluZm86Zm9jdXMsIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1pbmZvLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgzNywgMTcwLCAyMjYsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utd2FybmluZyB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTg5QjsgfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS13YXJuaW5nOmhvdmVyLCBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utd2FybmluZzpmb2N1cyB7XG4gICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRjNjg7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2Utd2FybmluZzpmb2N1cywgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLXdhcm5pbmcuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMjMyLCAxNTUsIDAuNSk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtZGFuZ2VyIHtcbiAgICBjb2xvcjogI2NlZDRkYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkYxRTJFOyB9XG4gICAgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWRhbmdlcjpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWRhbmdlcjpmb2N1cyB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MzE3MjM7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtZGFuZ2VyOmZvY3VzLCBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtZGFuZ2VyLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxOTEsIDMwLCA0NiwgMC41KTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1saWdodCB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1saWdodDpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWxpZ2h0OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTsgfVxuICAgIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1saWdodDpmb2N1cywgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWxpZ2h0LmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWRhcmsge1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7IH1cbiAgICBhW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmFkZ2UtZGFyazpob3ZlciwgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWRhcms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNjZWQ0ZGE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0OyB9XG4gICAgYVtkYXRhLXRoZW1lPSdkYXJrJ10gLmJhZGdlLWRhcms6Zm9jdXMsIGFbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1kYXJrLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1bWJvdHJvbiB7XG4gICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1bWJvdHJvbiB7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1bWJvdHJvbi1mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtaGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1kaXNtaXNzaWJsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMy43NzVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1wcmltYXJ5IHtcbiAgICBjb2xvcjogIzFlMmI1NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkY2VjO1xuICAgIGJvcmRlci1jb2xvcjogI2M4Y2ZlNTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LXByaW1hcnkgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2I3YzBkZDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICMxMTE4MmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzM4M2Q0MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1O1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZDhkYjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LXNlY29uZGFyeSBociB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjYzhjYmNmOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAjMjAyMzI2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjMWU1ZTI2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGYwZGI7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhlYWNjOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtc3VjY2VzcyBociB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjYjZlM2JiOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XG4gICAgICBjb2xvcjogIzEyMzcxNjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1pbmZvIHtcbiAgICBjb2xvcjogIzEzNTg3NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNlZWY5O1xuICAgIGJvcmRlci1jb2xvcjogI2MyZTdmNzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LWluZm8gaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2FiZGVmNDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICMwYzM3NGE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtd2FybmluZyB7XG4gICAgY29sb3I6ICM4NTc5NTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmFlYjtcbiAgICBib3JkZXItY29sb3I6ICNmZmY5ZTM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC13YXJuaW5nIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY0Y2E7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAjNjU1YzNlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LWRhbmdlciB7XG4gICAgY29sb3I6ICM2MzEwMTg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZDJkNTtcbiAgICBib3JkZXItY29sb3I6ICNlZGMwYzQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1kYW5nZXIgaHIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2U3YWNiMTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XG4gICAgICBjb2xvcjogIzM3MDkwZDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1saWdodCB7XG4gICAgY29sb3I6ICM4MTgxODI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItY29sb3I6ICNmZGZkZmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1saWdodCBociB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWNlY2Y2OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICM2ODY4Njg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxlcnQtZGFyayB7XG4gICAgY29sb3I6ICMxYjFlMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTtcbiAgICBib3JkZXItY29sb3I6ICNjNmM4Y2E7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1kYXJrIGhyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNiOWJiYmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGVydC1kYXJrIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDQwNTA1OyB9XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcmVtIDA7IH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC42Mzc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByb2dyZXNzLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNBNTJBMjtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOyB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1lZGlhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1lZGlhLWJvZHkge1xuICAgIGZsZXg6IDE7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICNkZWUyZTY7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbG9yOiAjZGVlMmU2O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZDNkM2QzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNSwgMjksIDMzLCAwLjA1KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTI1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2NlZDRkYTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNSwgMjksIDMzLCAwLjA1KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzOTVmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzOTVmZjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbSArIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0gKyBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gICAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWZsdXNoIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1mbHVzaCA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWZsdXNoID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XG4gICAgY29sb3I6ICMxZTJiNTQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2ZlNTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgICAgY29sb3I6ICMxZTJiNTQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdjMGRkOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyYjU0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMWUyYjU0OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjMzgzZDQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzM4M2Q0MTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0MTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM4M2Q0MTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxZTVlMjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZWFjYzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgICAgY29sb3I6ICMxZTVlMjY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZlM2JiOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU1ZTI2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMWU1ZTI2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgICBjb2xvcjogIzEzNTg3NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJlN2Y3OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzEzNTg3NjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmRlZjQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzU4NzY7XG4gICAgICBib3JkZXItY29sb3I6ICMxMzU4NzY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICAgIGNvbG9yOiAjODU3OTUxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5ZTM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjODU3OTUxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjRjYTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1Nzk1MTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg1Nzk1MTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgICBjb2xvcjogIzYzMTAxODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRjMGM0OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgICAgY29sb3I6ICM2MzEwMTg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdhY2IxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MzEwMTg7XG4gICAgICBib3JkZXItY29sb3I6ICM2MzEwMTg7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcbiAgICBjb2xvcjogIzgxODE4MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjODE4MTgyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7XG4gICAgICBib3JkZXItY29sb3I6ICM4MTgxODI7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubGlzdC1ncm91cC1pdGVtLWRhcmsge1xuICAgIGNvbG9yOiAjMWIxZTIxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMWIxZTIxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWUyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzFiMWUyMTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jbG9zZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMS4yNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjMDAwO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2xvc2U6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogLjc1OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEuY2xvc2UuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRvYXN0IHtcbiAgICBmbGV4LWJhc2lzOiAzNTBweDtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC43NXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9hc3Quc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9hc3Quc2hvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50b2FzdC5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9hc3QtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICAgIGNvbG9yOiAjY2VkNGRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRvYXN0LWJvZHkge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3V0bGluZTogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5tb2RhbC5mYWRlIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MHB4KTsgfVxuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLm1vZGFsLmZhZGUgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICAubW9kYWwuc2hvdyBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2cge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm1vZGFsLm1vZGFsLXN0YXRpYyBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2cge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxcmVtKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtaGVhZGVyLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1mb290ZXIge1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtYm9keSB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxcmVtKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MWQyMTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gICAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgb3V0bGluZTogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwNDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWJhY2tkcm9wLnNob3cge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzQzYTQwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzQzYTQwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZm9vdGVyID4gKiB7XG4gICAgICBtYXJnaW46IDAuMjVyZW07IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC05OTk5cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBtYXJnaW46IDEuNzVyZW0gYXV0bzsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNXJlbSk7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pO1xuICAgICAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubW9kYWwtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLXNtIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC1sZyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tb2RhbC14bCB7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1vZGFsLXhsIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwNzA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBsaW5lLWJyZWFrOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRvb2x0aXAuc2hvdyB7XG4gICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50b29sdGlwIC5hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICBoZWlnaHQ6IDAuNHJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9vbHRpcCAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLXRvcCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgcGFkZGluZzogMC40cmVtIDA7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLXRvcCAuYXJyb3csIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93IHtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtcmlnaHQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgcGFkZGluZzogMCAwLjRyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLXJpZ2h0IC5hcnJvdywgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDAuNHJlbTtcbiAgICAgIGhlaWdodDogMC44cmVtOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93OjpiZWZvcmUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDAuNHJlbSAwO1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC1ib3R0b20sIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93LCBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdyB7XG4gICAgICB0b3A6IDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLWxlZnQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3csIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdyB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICBoZWlnaHQ6IDAuOHJlbTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdzo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAgMC40cmVtIDAuNHJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudG9vbHRpcC1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDYwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMjc2cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtYnJlYWs6IGF1dG87XG4gICAgZm9udC1zaXplOiAwLjc0Mzc1cmVtO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXIgLmFycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwLjNyZW07IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXIgLmFycm93OjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXIgLmFycm93OjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci10b3AsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItdG9wID4gLmFycm93LCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdID4gLmFycm93IHtcbiAgICAgIGJvdHRvbTogY2FsYygtMC41cmVtIC0gMXB4KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmJlZm9yZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmFmdGVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdID4gLmFycm93OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLXJpZ2h0LCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93LCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3cge1xuICAgICAgbGVmdDogY2FsYygtMC41cmVtIC0gMXB4KTtcbiAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW46IDAuM3JlbSAwOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjpiZWZvcmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwO1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmFmdGVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWJvdHRvbSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3csIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gPiAuYXJyb3cge1xuICAgICAgdG9wOiBjYWxjKC0wLjVyZW0gLSAxcHgpOyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmFmdGVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1sZWZ0LCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3csIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93IHtcbiAgICAgIHJpZ2h0OiBjYWxjKC0wLjVyZW0gLSAxcHgpO1xuICAgICAgd2lkdGg6IDAuNXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbjogMC4zcmVtIDA7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YWZ0ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucG9wb3Zlci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXItYm9keSB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgY29sb3I6ICMyMTI1Mjk7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWlubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pdGVtLW5leHQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjZzOyB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDE1JTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWNvbnRyb2wtcHJldjpmb2N1cyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIG9wYWNpdHk6IDAuOTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICAgIGxlZnQ6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgICBtYXJnaW4tbGVmdDogMTUlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlOyB9XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1JTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMTUlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5zcGlubmVyLWJvcmRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgYm9yZGVyOiAwLjI1ZW0gc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuc3Bpbm5lci1ib3JkZXItc20ge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDAuMmVtOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnNwaW5uZXItZ3JvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnNwaW5uZXItZ3Jvdy1zbSB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWJhc2VsaW5lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi10b3Age1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi10ZXh0LWJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tdGV4dC10b3Age1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJnLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzQTUyQTIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctcHJpbWFyeTpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLmJnLXByaW1hcnk6Zm9jdXMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLXByaW1hcnk6aG92ZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDNmN2MgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iZy1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctc2Vjb25kYXJ5OmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctc2Vjb25kYXJ5OmZvY3VzLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbi5iZy1zZWNvbmRhcnk6aG92ZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJnLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzQUI1NEEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctc3VjY2Vzczpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLmJnLXN1Y2Nlc3M6Zm9jdXMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZThlM2EgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iZy1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVBQUUyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLmJnLWluZm86aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy1pbmZvOmZvY3VzLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbi5iZy1pbmZvOmhvdmVyLFxuICBbZGF0YS10aGVtZT0nZGFyayddIGJ1dHRvbi5iZy1pbmZvOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4YmJiICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmctd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTg5QiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy13YXJuaW5nOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctd2FybmluZzpmb2N1cyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctd2FybmluZzpob3ZlcixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctd2FybmluZzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGM2OCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJnLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JGMUUyRSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy1kYW5nZXI6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy1kYW5nZXI6Zm9jdXMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLWRhbmdlcjpob3ZlcixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTMxNzIzICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmctbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctbGlnaHQ6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy1saWdodDpmb2N1cyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctbGlnaHQ6aG92ZXIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYnV0dG9uLmJnLWxpZ2h0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmctZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS5iZy1kYXJrOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIGEuYmctZGFyazpmb2N1cyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctZGFyazpob3ZlcixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBidXR0b24uYmctZGFyazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJnLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYmctdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzQzYTQwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzNDNhNDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5ib3JkZXItcmlnaHQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzNDNhNDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM0M2E0MCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1sZWZ0IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMzNDNhNDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5ib3JkZXItMCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLXRvcC0wIHtcbiAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLXJpZ2h0LTAge1xuICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1ib3R0b20tMCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1sZWZ0LTAge1xuICAgIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLXByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzNBNTJBMiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICMzQUI1NEEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5ib3JkZXItaW5mbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjVBQUUyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRTg5QiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1kYW5nZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0JGMUUyRSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci1saWdodCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYm9yZGVyLWRhcmsge1xuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJvcmRlci13aGl0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm91bmRlZC1zbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdW5kZWQtdG9wIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3VuZGVkLXJpZ2h0IHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm91bmRlZC1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdW5kZWQtbGVmdCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3VuZGVkLWxnIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5yb3VuZGVkLWNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucm91bmRlZC1waWxsIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MHJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnJvdW5kZWQtMCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmNsZWFyZml4OjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXNtLW5vbmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1zbS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXNtLWlubGluZS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtc20tYmxvY2sge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtc20tdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtc20tdGFibGUtcm93IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1zbS10YWJsZS1jZWxsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtc20tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXNtLWlubGluZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLW1kLW5vbmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1tZC1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLW1kLWlubGluZS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbWQtYmxvY2sge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbWQtdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbWQtdGFibGUtcm93IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1tZC10YWJsZS1jZWxsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbWQtZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLW1kLWlubGluZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLWxnLW5vbmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1sZy1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLWxnLWlubGluZS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbGctYmxvY2sge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbGctdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbGctdGFibGUtcm93IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1sZy10YWJsZS1jZWxsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtbGctZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLWxnLWlubGluZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC14bC1ub25lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQteGwtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC14bC1pbmxpbmUtYmxvY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXhsLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXhsLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXhsLXRhYmxlLXJvdyB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQteGwtdGFibGUtY2VsbCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXhsLWZsZXgge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC14bC1pbmxpbmUtZmxleCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXByaW50LW5vbmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1wcmludC1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtcHJpbnQtYmxvY2sge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtcHJpbnQtdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtcHJpbnQtdGFibGUtcm93IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZC1wcmludC10YWJsZS1jZWxsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmQtcHJpbnQtZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5kLXByaW50LWlubGluZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5lbWJlZC1yZXNwb25zaXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IDQyLjg1NzE0JTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiA3NSU7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc20tcm93IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc20tY29sdW1uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc20tcm93LXJldmVyc2Uge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1zbS13cmFwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1zbS1ub3dyYXAge1xuICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc20td3JhcC1yZXZlcnNlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXNtLWZpbGwge1xuICAgICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtc20tZ3Jvdy0wIHtcbiAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1zbS1ncm93LTEge1xuICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXNtLXNocmluay0wIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXNtLXNocmluay0xIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtc20tc3RhcnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXNtLWVuZCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXNtLWNlbnRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXNtLXN0cmV0Y2gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtc20tc3RhcnQge1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1zbS1lbmQge1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1zbS1zdHJldGNoIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtc20tYXV0byB7XG4gICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXNtLXN0YXJ0IHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtc20tZW5kIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtc20tYmFzZWxpbmUge1xuICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LW1kLXJvdyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LW1kLWNvbHVtbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbWQtd3JhcCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbWQtbm93cmFwIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LW1kLXdyYXAtcmV2ZXJzZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1tZC1maWxsIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LW1kLWdyb3ctMCB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbWQtZ3Jvdy0xIHtcbiAgICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1tZC1zaHJpbmstMCB7XG4gICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1tZC1zaHJpbmstMSB7XG4gICAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LW1kLWVuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1tZC1hcm91bmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLW1kLXN0YXJ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy1tZC1lbmQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy1tZC1zdHJldGNoIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LW1kLXN0YXJ0IHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtbWQtZW5kIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LW1kLWNlbnRlciB7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbiB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLW1kLWF1dG8ge1xuICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1tZC1zdGFydCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLW1kLWVuZCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1tZC1jZW50ZXIge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLW1kLWJhc2VsaW5lIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2gge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1sZy1yb3cge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1sZy1jb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbGctY29sdW1uLXJldmVyc2Uge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LWxnLXdyYXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LWxnLW5vd3JhcCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1sZy13cmFwLXJldmVyc2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbGctZmlsbCB7XG4gICAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC1sZy1ncm93LTAge1xuICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LWxnLWdyb3ctMSB7XG4gICAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbGctc2hyaW5rLTAge1xuICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgtbGctc2hyaW5rLTEge1xuICAgICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1sZy1zdGFydCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC1sZy1lbmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy1sZy1zdGFydCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtbGctZW5kIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtbGctY2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5lIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1sZy1zdGFydCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LWxnLWVuZCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1sZy1jZW50ZXIge1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tY29udGVudC1sZy1hcm91bmQge1xuICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2gge1xuICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1sZy1hdXRvIHtcbiAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtbGctc3RhcnQge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1sZy1lbmQge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLXNlbGYtbGctY2VudGVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1sZy1iYXNlbGluZSB7XG4gICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi1sZy1zdHJldGNoIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXhsLXJvdyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgteGwtd3JhcCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgteGwtbm93cmFwIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXhsLXdyYXAtcmV2ZXJzZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC14bC1maWxsIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbGV4LXhsLWdyb3ctMCB7XG4gICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsZXgteGwtZ3Jvdy0xIHtcbiAgICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC14bC1zaHJpbmstMCB7XG4gICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxleC14bC1zaHJpbmstMSB7XG4gICAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmp1c3RpZnktY29udGVudC14bC1hcm91bmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWl0ZW1zLXhsLXN0YXJ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy14bC1lbmQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy14bC1jZW50ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24taXRlbXMteGwtYmFzZWxpbmUge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1pdGVtcy14bC1zdHJldGNoIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQteGwtZW5kIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xuICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi14bC1zdGFydCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXhsLWVuZCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXhsLWJhc2VsaW5lIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2gge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbG9hdC1zbS1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbG9hdC1zbS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsb2F0LXNtLW5vbmUge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsb2F0LW1kLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZsb2F0LW1kLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQtbWQtbm9uZSB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQtbGctbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQtbGctcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbG9hdC1sZy1ub25lIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQteGwtbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmxvYXQteGwtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5mbG9hdC14bC1ub25lIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC51c2VyLXNlbGVjdC1hbGwge1xuICAgIHVzZXItc2VsZWN0OiBhbGwgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC51c2VyLXNlbGVjdC1hdXRvIHtcbiAgICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnVzZXItc2VsZWN0LW5vbmUge1xuICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAub3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5vdmVyZmxvdy1oaWRkZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wb3NpdGlvbi1zdGF0aWMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucG9zaXRpb24tYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvc2l0aW9uLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wb3NpdGlvbi1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5maXhlZC10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDMwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZpeGVkLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMzA7IH1cbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuc3RpY2t5LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTAyMDsgfSB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnNyLW9ubHkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuc2hhZG93LXNtIHtcbiAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnNoYWRvdy1sZyB7XG4gICAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSkgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5zaGFkb3ctbm9uZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnctMjUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC53LTUwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudy03NSB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnctMTAwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnctYXV0byB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5oLTI1IHtcbiAgICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmgtNTAge1xuICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaC03NSB7XG4gICAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5oLTEwMCB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaC1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdy0xMDAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1oLTEwMCB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1pbi12dy0xMDAge1xuICAgIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5taW4tdmgtMTAwIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnZ3LTEwMCB7XG4gICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudmgtMTAwIHtcbiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC0wLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItMCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItMCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLTAsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC0xLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItMSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItMSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLTEsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LTIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLTIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtMyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLTMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLTMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC0zLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC00LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tci00LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLTQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLTQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LTUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tci01LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi01LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtNSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC0wLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLTAsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi0wLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLTAsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LTEsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItMSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLTEsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtMSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC0yLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLTIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtMyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wci0zLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItMyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC0zLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LTQsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wci00LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi00LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtNCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC01LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLTUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi01LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5weS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLTUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1uMSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbjEsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbjEsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW4xLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbjIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbjIsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1uMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1uMixcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LW4zLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1uMyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1uMyxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbjMsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1uNCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1uNCxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW40LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW40LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbjUsXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW41LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW41LFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1uNSxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtYXV0byxcbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWF1dG8sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLWF1dG8sXG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1hdXRvLFxuICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tc20tMCB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXNtLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tMCB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1zbS0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLTAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1zbS0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtc20tMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS0wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXNtLTEge1xuICAgICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTEge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItc20tMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS0xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItc20tMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tMSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1zbS0yIHtcbiAgICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTIge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1zbS0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLTIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXNtLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tMiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXNtLTMge1xuICAgICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTMge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItc20tMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS0zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItc20tMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS0zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tMyB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1zbS00IHtcbiAgICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTQge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1zbS00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLTQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXNtLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tNCB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXNtLTUge1xuICAgICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLTUge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItc20tNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS01IHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItc20tNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS01IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tNSB7XG4gICAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1zbS0wIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LXNtLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tMCB7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItc20tMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1zbS0wIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLXNtLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tMCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtc20tMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1zbS0wIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1zbS0xIHtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LXNtLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tMSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItc20tMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1zbS0xIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLXNtLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tMSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtc20tMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1zbS0xIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1zbS0yIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtc20tMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1zbS0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLXNtLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtc20tMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLXNtLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tMiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1zbS0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXNtLTIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtc20tMyB7XG4gICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1zbS0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXNtLTMge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLXNtLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtc20tMyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1zbS0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXNtLTMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLXNtLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtc20tMyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtc20tNCB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LXNtLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktc20tNCB7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1zbS00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXNtLTQge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1zbS00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXNtLTQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtc20tNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1zbS00IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLXNtLTUge1xuICAgICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtc20tNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1zbS01IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1zbS01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXNtLTUge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItc20tNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1zbS01IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1zbS01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXNtLTUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXNtLW4xIHtcbiAgICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXNtLW4xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLW4xIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1zbS1uMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS1uMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1zbS1uMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS1uMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtc20tbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tbjEge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXNtLW4yIHtcbiAgICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtc20tbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tbjIge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItc20tbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tbjIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1zbS1uMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS1uMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1zbS1uMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS1uMiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1zbS1uMyB7XG4gICAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1zbS1uMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1zbS1uMyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItc20tbjMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tbjMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItc20tbjMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tbjMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXNtLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLW4zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1zbS1uNCB7XG4gICAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXNtLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLW40IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXNtLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLW40IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItc20tbjQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tbjQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtc20tbjQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtc20tbjQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tc20tbjUge1xuICAgICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtc20tbjUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tbjUge1xuICAgICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXNtLW41LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLW41IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXNtLW41LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLW41IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1zbS1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS1uNSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tc20tYXV0byB7XG4gICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXNtLWF1dG8sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktc20tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1zbS1hdXRvLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXNtLWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1zbS1hdXRvLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXNtLWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtc20tYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1zbS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLW1kLTAge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1tZC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLTAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbWQtMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC0wIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbWQtMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC0wIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW1kLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1tZC0xIHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW1kLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW1kLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLTEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbWQtMiB7XG4gICAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC0yIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbWQtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC0yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1tZC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLTIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1tZC0zIHtcbiAgICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC0zIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW1kLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtMyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW1kLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLTMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbWQtNCB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC00IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbWQtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC00IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1tZC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLTQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLTQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1tZC01IHtcbiAgICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC01IHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW1kLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtNSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW1kLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLTUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtbWQtMCB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1tZC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTAge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLW1kLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbWQtMCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1tZC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLW1kLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbWQtMCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtbWQtMSB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1tZC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTEge1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLW1kLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbWQtMSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1tZC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLW1kLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbWQtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtbWQtMiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LW1kLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbWQtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1tZC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LW1kLTIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1tZC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtbWQtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1tZC0yIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLW1kLTMge1xuICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtbWQtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1tZC0zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1tZC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LW1kLTMge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItbWQtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1tZC0zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1tZC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LW1kLTMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLW1kLTQge1xuICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1tZC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LW1kLTQge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItbWQtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1tZC00IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItbWQtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1tZC00IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLW1kLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbWQtNCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1tZC01IHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LW1kLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbWQtNSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItbWQtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1tZC01IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLW1kLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbWQtNSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtbWQtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1tZC01IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1tZC1uMSB7XG4gICAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1tZC1uMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC1uMSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbWQtbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtbjEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbWQtbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtbjEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW1kLW4xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLW4xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1tZC1uMiB7XG4gICAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LW1kLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLW4yIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW1kLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLW4yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbWQtbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtbjIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbWQtbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtbjIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbWQtbjMge1xuICAgICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbWQtbjMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbWQtbjMge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLW1kLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLW4zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW1kLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLW4zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1tZC1uMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC1uMyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbWQtbjQge1xuICAgICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1tZC1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC1uNCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1tZC1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC1uNCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLW1kLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLW40IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW1kLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LW1kLW40IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLW1kLW41IHtcbiAgICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LW1kLW41LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLW41IHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1tZC1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC1uNSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1tZC1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC1uNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbWQtbjUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtbjUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLW1kLWF1dG8ge1xuICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1tZC1hdXRvLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LW1kLWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbWQtYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1tZC1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbWQtYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1tZC1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLW1kLWF1dG8sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbWQtYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1sZy0wIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbGctMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy0wIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWxnLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctMCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLWxnLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctMCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1sZy0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLTAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbGctMSB7XG4gICAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1sZy0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLTEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1sZy0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy0xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLWxnLTIge1xuICAgICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWxnLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctMiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbGctMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy0yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy0yIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbGctMyB7XG4gICAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctMyB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1sZy0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLTMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1sZy0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLTMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy0zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLWxnLTQge1xuICAgICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctNCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWxnLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctNCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbGctNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy00IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy00IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbGctNSB7XG4gICAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctNSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1sZy01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLTUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1sZy01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLTUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy01IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLWxnLTAge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtbGctMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy0wIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1sZy0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LWxnLTAge1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItbGctMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy0wIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1sZy0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LWxnLTAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLWxnLTEge1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtbGctMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy0xIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci1sZy0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LWxnLTEge1xuICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItbGctMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy0xIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1sZy0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LWxnLTEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLWxnLTIge1xuICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1sZy0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LWxnLTIge1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItbGctMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1sZy0yIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGItbGctMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy0yIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLWxnLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbGctMiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1sZy0zIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LWxnLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbGctMyB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHItbGctMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1sZy0zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLWxnLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbGctMyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwtbGctMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC1sZy0zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC1sZy00IHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQtbGctNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS1sZy00IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLWxnLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbGctNCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLWxnLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHktbGctNCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC1sZy00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LWxnLTQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAtbGctNSB7XG4gICAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC1sZy01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LWxnLTUge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLWxnLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbGctNSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi1sZy01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LWxnLTUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLWxnLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgtbGctNSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbGctbjEge1xuICAgICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbGctbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctbjEge1xuICAgICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWxnLW4xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLW4xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLWxnLW4xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLW4xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1sZy1uMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy1uMSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0tbGctbjIge1xuICAgICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1sZy1uMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy1uMiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1sZy1uMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy1uMiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLWxnLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLW4yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLWxnLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLW4yIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLWxnLW4zIHtcbiAgICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LWxnLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LWxnLW4zIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci1sZy1uMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy1uMyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1sZy1uMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy1uMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwtbGctbjMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctbjMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLWxnLW40IHtcbiAgICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbGctbjQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctbjQge1xuICAgICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbGctbjQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctbjQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi1sZy1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy1uNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1sZy1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC1sZy1uNCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1sZy1uNSB7XG4gICAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC1sZy1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy1uNSB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXItbGctbjUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctbjUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWItbGctbjUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctbjUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLWxnLW41LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLW41IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS1sZy1hdXRvIHtcbiAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQtbGctYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS1sZy1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLWxnLWF1dG8sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgtbGctYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLWxnLWF1dG8sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXktbGctYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC1sZy1hdXRvLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LWxnLWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXhsLTAge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC14bC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLTAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXIteGwtMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC0wIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWIteGwtMCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC0wIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXhsLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS14bC0xIHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXhsLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXhsLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLTEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0teGwtMiB7XG4gICAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC0yIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXIteGwtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC0yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi14bC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLTIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS14bC0zIHtcbiAgICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC0zIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXhsLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtMyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXhsLTMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLTMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0teGwtNCB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC00IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXIteGwtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC00IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi14bC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLTQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLTQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS14bC01IHtcbiAgICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC01IHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXhsLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtNSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXhsLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC01LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLTUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAteGwtMCB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC14bC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTAge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLXhsLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgteGwtMCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi14bC0wLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLXhsLTAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgteGwtMCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAteGwtMSB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC14bC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTEge1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnByLXhsLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgteGwtMSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi14bC0xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLXhsLTEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgteGwtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnAteGwtMiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LXhsLTIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHkteGwtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci14bC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXhsLTIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wYi14bC0yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwteGwtMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC14bC0yIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLXhsLTMge1xuICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHQteGwtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS14bC0zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wci14bC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXhsLTMge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGIteGwtMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS14bC0zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wbC14bC0zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB4LXhsLTMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wLXhsLTQge1xuICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5wdC14bC00LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB5LXhsLTQge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHIteGwtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC14bC00IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGIteGwtNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weS14bC00IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBsLXhsLTQsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHgteGwtNCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucC14bC01IHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnB0LXhsLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHkteGwtNSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHIteGwtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC14bC01IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBiLXhsLTUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucHkteGwtNSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAucGwteGwtNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5weC14bC01IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS14bC1uMSB7XG4gICAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC14bC1uMSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC1uMSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXIteGwtbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtbjEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWIteGwtbjEsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtbjEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXhsLW4xLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLW4xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubS14bC1uMiB7XG4gICAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXhsLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLW4yIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXhsLW4yLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLW4yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWIteGwtbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtbjIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwteGwtbjIsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtbjIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0teGwtbjMge1xuICAgICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXQteGwtbjMsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXkteGwtbjMge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1yLXhsLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLW4zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXhsLW4zLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLW4zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tbC14bC1uMyxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC1uMyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm0teGwtbjQge1xuICAgICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC14bC1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC1uNCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci14bC1uNCxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC1uNCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1iLXhsLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLW40IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXhsLW40LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm14LXhsLW40IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXhsLW41IHtcbiAgICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm10LXhsLW41LFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLW41IHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tci14bC1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC1uNSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tYi14bC1uNSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC1uNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWwteGwtbjUsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtbjUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tLXhsLWF1dG8ge1xuICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5tdC14bC1hdXRvLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm15LXhsLWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXIteGwtYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teC14bC1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubWIteGwtYXV0byxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5teS14bC1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLm1sLXhsLWF1dG8sXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubXgteGwtYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuc3RyZXRjaGVkLWxpbms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbW9ub3NwYWNlIHtcbiAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC10cnVuY2F0ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtc20tbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbWQtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LW1kLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbGctbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LXhsLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC14bC1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC14bC1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LWxvd2VyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmZvbnQtd2VpZ2h0LWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9udC13ZWlnaHQtbGlnaHRlciB7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb250LXdlaWdodC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mb250LXdlaWdodC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9udC13ZWlnaHQtYm9sZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9udC1pdGFsaWMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1wcmltYXJ5IHtcbiAgICBjb2xvcjogIzNBNTJBMiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXByaW1hcnk6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjYzNTZhICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLnRleHQtc2Vjb25kYXJ5OmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDk0ZjU0ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1zdWNjZXNzIHtcbiAgICBjb2xvcjogIzNBQjU0QSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjc3YjMyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1pbmZvIHtcbiAgICBjb2xvcjogIzI1QUFFMiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LWluZm86aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LWluZm86Zm9jdXMge1xuICAgIGNvbG9yOiAjMTY3YWE1ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC13YXJuaW5nIHtcbiAgICBjb2xvcjogI0ZGRTg5QiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXdhcm5pbmc6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZkNjRmICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1kYW5nZXIge1xuICAgIGNvbG9yOiAjQkYxRTJFICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLnRleHQtZGFuZ2VyOmhvdmVyLCBbZGF0YS10aGVtZT0nZGFyayddIGEudGV4dC1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjN2QxNDFlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1saWdodCB7XG4gICAgY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGEudGV4dC1saWdodDpob3ZlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSBhLnRleHQtbGlnaHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjY2JkM2RhICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1kYXJrIHtcbiAgICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LWRhcms6aG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gYS50ZXh0LWRhcms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTIxNDE2ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1ib2R5IHtcbiAgICBjb2xvcjogI2QzZDNkMyAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1ibGFjay01MCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtd2hpdGUtNTAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50ZXh0LWhpZGUge1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRleHQtYnJlYWsge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGV4dC1yZXNldCB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gKixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddICo6OmJlZm9yZSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddICo6OmFmdGVyIHtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGE6bm90KC5idG4pIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIHByZSxcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSB0cixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIHAsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSBoMixcbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIGgyLFxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgICBAcGFnZSB7XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIHtcbiAgICAgICAgc2l6ZTogYTM7IH0gfVxuICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gYm9keSB7XG4gICAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB9XG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZSB0ZCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYm9yZGVyZWQgdGgsXG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50OyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayB0aCxcbiAgICAgIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGQsXG4gICAgICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrIHRoZWFkIHRoLFxuICAgICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFyayB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOyB9XG4gICAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7IH0gfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIGJsYWNrO1xuICAgIGNvbG9yOiAjZjhmOWZhO1xuICAgIGJhY2tncm91bmQ6ICMxMjE0MTY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZm9ybS1jb250cm9sOm5vdCguYnRuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTQxNjtcbiAgICBjb2xvcjogI2Y4ZjlmYTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5idG4tbGlnaHQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnBvcG92ZXItaGVhZGVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5wb3BvdmVyLWJvZHksIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnN0YXR1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTQxNiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTIxNDE2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmFmdGVyLCBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMxMjE0MTY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1sZWZ0ID4gLmFycm93OjphZnRlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzEyMTQxNjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTIxNDE2OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMxMjE0MTY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBhIHtcbiAgICBjb2xvcjogIzMzOTVmZjsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXN1Y2Nlc3MsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJnLXdhcm5pbmcge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1kYXJrLCBbZGF0YS10aGVtZT0nZGFyayddIC5iYWRnZS1zZWNvbmRhcnksIFtkYXRhLXRoZW1lPSdkYXJrJ10gLmJ0bi1wcmltYXJ5IHtcbiAgICBjb2xvcjogI2Y4ZjlmYTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICBib3JkZXItY29sb3I6ICMxMjE0MTY7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLXNlY29uZGFyeSwgW2RhdGEtdGhlbWU9J2RhcmsnXSAuYnRuLWluZm8ge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5wYWdlLWl0ZW0uZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5iZy1saWdodCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJlbTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5mYy1kYXktdG9kYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAuZmMtZGF5Z3JpZC1kb3QtZXZlbnQge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUgdHIgdGgge1xuICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHRyIHRkIHtcbiAgICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlIHRyIHRkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXByaW1hcnkgPiB0ZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSB0aCB7XG4gICAgYm9yZGVyOiAwLjNlbSBzb2xpZCAjOTlhNWNmICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtcHJpbWFyeSA+ICoge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnkgPiB0ZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc2Vjb25kYXJ5IHRoIHtcbiAgICBib3JkZXI6IDAuM2VtIHNvbGlkICNiM2I3YmIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zZWNvbmRhcnkgPiAqIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtc3VjY2VzcyA+IHRkLCBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zdWNjZXNzIHRoIHtcbiAgICBib3JkZXI6IDAuM2VtIHNvbGlkICM5OWQ5YTEgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1zdWNjZXNzID4gKiB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWluZm8gPiB0ZCwgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaW5mbyB0aCB7XG4gICAgYm9yZGVyOiAwLjNlbSBzb2xpZCAjOGVkM2YwICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtaW5mbyA+ICoge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS13YXJuaW5nID4gdGQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgdGgge1xuICAgIGJvcmRlcjogMC4zZW0gc29saWQgI2ZmZjNjYiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLXdhcm5pbmcgPiAqIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyID4gdGQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhbmdlciB0aCB7XG4gICAgYm9yZGVyOiAwLjNlbSBzb2xpZCAjZGU4YTkyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSAudGFibGUtZGFuZ2VyID4gKiB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWxpZ2h0ID4gdGQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWxpZ2h0IHRoIHtcbiAgICBib3JkZXI6IDAuM2VtIHNvbGlkICNmYmZjZmMgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1saWdodCA+ICoge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIgIWltcG9ydGFudDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC50YWJsZS1kYXJrID4gdGQsIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgdGgge1xuICAgIGJvcmRlcjogMC4zZW0gc29saWQgIzk1OTk5YyAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gLnRhYmxlLWRhcmsgPiAqIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtdGhlbWU9J2RhcmsnXSBkZWwge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIGlucyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIFtkYXRhLXRoZW1lPSdkYXJrJ10gcHJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmM3NTdkO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICBbZGF0YS10aGVtZT0nZGFyayddIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MSwgMTQ5LCAyNTUsIDAuNykgIWltcG9ydGFudDsgfVxuIiwiW2RhdGEtdGhlbWU9J2RhcmsnXSB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgXCJzdWNjZXNzXCI6ICMzQUI1NEEsXG4gICAgICBcIndhcm5pbmdcIjogI0ZGRTg5QixcbiAgICAgIFwiZGFuZ2VyXCI6ICNCRjFFMkUsXG4gICAgICBcImluZm9cIjogIzI1QUFFMixcbiAgICAgIFwicHJpbWFyeVwiOiAjM0E1MkEyXG4gICAgKTtcbiAgICBAaW1wb3J0IFwiY3VzdG9tLXZhcmlhYmxlc1wiO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9AZm9yZXZvbHZlL2Jvb3RzdHJhcC1kYXJrL3Njc3MvYm9vdHN0cmFwLWRhcmsuc2Nzcyc7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogJGdyYXktMTAwO1xuICAgICRkYXJrdGhlbWU6ICMxMjE0MTY7XG4gICAgLm5hdmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIGJsYWNrO1xuICAgICAgICBjb2xvcjogJGdyYXktMTAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya3RoZW1lO1xuICAgIH1cbiAgICAuZm9ybS1jb250cm9sOm5vdCguYnRuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrdGhlbWU7XG4gICAgICAgIGNvbG9yOiAkZ3JheS0xMDA7XG4gICAgfVxuICAgIC5idG4tbGlnaHQsIC5wb3BvdmVyLCAucG9wb3Zlci1oZWFkZXIsIC5wb3BvdmVyLWJvZHksIC5zdGF0dXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya3RoZW1lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya3RoZW1lO1xuICAgIH1cbiAgICAuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRkYXJrdGhlbWU7XG4gICAgfVxuICAgIC5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRkYXJrdGhlbWU7XG4gICAgfVxuICAgIC5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZGFya3RoZW1lO1xuICAgIH1cbiAgICAuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRhcmt0aGVtZTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gICAgLmJhZGdlLCAuYnRuLXN1Y2Nlc3MsIC5iZy13YXJuaW5nIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgICAuYmFkZ2UtZGFyaywgLmJhZGdlLXNlY29uZGFyeSwgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgY29sb3I6ICRncmF5LTEwMDtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrdGhlbWU7XG4gICAgfVxuICAgIC5idG4tc2Vjb25kYXJ5LCAuYnRuLWluZm8ge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5wYWdlLWl0ZW0uZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIC5iZy1saWdodCB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICAgIH1cbiAgICAuZmMtZGF5LXRvZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwLjJlbSBzb2xpZCAkaW5mbyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZmMtZGF5Z3JpZC1kb3QtZXZlbnQge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICB9XG4gICAgLnRhYmxlIHRyIHRoIHtcbiAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudGFibGUgdHIgdGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRhYmxlIHRyIHRkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC50YWJsZS0jeyRjb2xvcn0ge1xuICAgICAgICAgICAgPiB0ZCx0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwLjNlbSBzb2xpZCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC02KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGVsIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuICAgIGlucyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2VzcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG4gICAgcHJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktNjAwO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJHByaW1hcnksIDAuNykgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIkZm9yZXZvbHZlLWdyZWVuOiAjMDA3ZjAwO1xyXG5cclxuLy8gc3R5bGVsaW50LWRpc2FibGVcclxuJHdoaXRlOiAgICAjZmZmO1xyXG4kZ3JheS0xMDA6ICNmOGY5ZmE7XHJcbiRncmF5LTIwMDogI2U5ZWNlZjtcclxuJGdyYXktMzAwOiAjZGVlMmU2O1xyXG4kZ3JheS00MDA6ICNjZWQ0ZGE7XHJcbiRncmF5LTUwMDogI2FkYjViZDtcclxuJGdyYXktNjAwOiAjNmM3NTdkO1xyXG4kZ3JheS03MDA6ICM0OTUwNTc7XHJcbiRncmF5LTgwMDogIzM0M2E0MDtcclxuJGdyYXktOTAwOiAjMjEyNTI5O1xyXG4kYmxhY2s6ICAgICMwMDA7XHJcblxyXG4kY29sb3ItZGFya2VyLXBlcmNlbnQtZnVsbDogMjAlO1xyXG4kY29sb3ItZGFya2VyLXBlcmNlbnQtaGFsZjogJGNvbG9yLWRhcmtlci1wZXJjZW50LWZ1bGwgLyAyO1xyXG4kY29sb3ItZGFya2VyLXBlcmNlbnQtcXVhcnRlcjogJGNvbG9yLWRhcmtlci1wZXJjZW50LWhhbGYgLyAyO1xyXG4kY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZTogMDtcclxuXHJcbiRibHVlOiAgICBsaWdodGVuKCMwMDdiZmYsICRjb2xvci1kYXJrZXItcGVyY2VudC1oYWxmKTtcclxuJGluZGlnbzogIGRhcmtlbigjNjYxMGYyLCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XHJcbiRwdXJwbGU6ICBkYXJrZW4oIzZmNDJjMSwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG4kcGluazogICAgZGFya2VuKCNlODNlOGMsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuJHJlZDogICAgIGRhcmtlbigjZGMzNTQ1LCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XHJcbiRvcmFuZ2U6ICBkYXJrZW4oI2ZkN2UxNCwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG4keWVsbG93OiAgbGlnaHRlbigjZmZjMTA3LCAkY29sb3ItZGFya2VyLXBlcmNlbnQtaGFsZik7XHJcbiRncmVlbjogICBkYXJrZW4oIzI4YTc0NSwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG4kdGVhbDogICAgZGFya2VuKCMyMGM5OTcsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcclxuJGN5YW46ICAgIGxpZ2h0ZW4oIzE3YTJiOCwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICRibHVlO1xyXG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwO1xyXG4kc3VjY2VzczogICAgICAgJGdyZWVuO1xyXG4kaW5mbzogICAgICAgICAgJGN5YW47XHJcbiR3YXJuaW5nOiAgICAgICAkb3JhbmdlO1xyXG4kZGFuZ2VyOiAgICAgICAgJHJlZDtcclxuJGxpZ2h0OiAgICAgICAgICRncmF5LTMwMDtcclxuJGRhcms6ICAgICAgICAgICRncmF5LTgwMDtcclxuXHJcbi8vJGJvZHktYmc6ICAgICAgICRncmF5LTkwMDsgLy8jMUUxRTFFO1xyXG4kYm9keS1iZzogICAgICMxOTFkMjE7XHJcbiRib2R5LWNvbG9yOiAgI2QzZDNkMzsgLy8kZ3JheS0yMDA7IC8vI0Q0RDRENDtcclxuXHJcbiR5aXEtdGV4dC1kYXJrOiAkZ3JheS05MDA7XHJcbiR5aXEtdGV4dC1saWdodDogJGdyYXktNDAwO1xyXG5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIGRhcmtlbigkYm9keS1jb2xvciwgMTUlKTtcclxuLy8gJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmU7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XHJcbi8vJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZTtcclxuXHJcblxyXG4vLyBVdGlsaXRpZXMgKGJvcmRlcnMpXHJcbiRib3JkZXItY29sb3I6ICRkYXJrO1xyXG5cclxuLy8gQ2FyZHNcclxuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMTI1KTtcclxuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDMpO1xyXG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMjAwO1xyXG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktOTAwOyAvLyRib2R5LWJnID9cclxuXHJcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMTI1KTtcclxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktNzAwICRncmF5LTcwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS0xMDA7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnO1xyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS03MDAgJGdyYXktNzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcclxuXHJcblxyXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkYmxhY2s7XHJcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5O1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYm9keS1iZywgLjA1KTtcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4xMjUpO1xyXG5cclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktOTAwO1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcclxuXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTQwMDtcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmc7XHJcblxyXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDA7XHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yO1xyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS04MDA7XHJcblxyXG4vLyBGb3Jtc1xyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktODAwO1xyXG5cclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTMwMDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTYwMDtcclxuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCR3aGl0ZSwgLjA3NSk7XHJcblxyXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmc7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpO1xyXG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xyXG5cclxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3I7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTQwMDtcclxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS04MDA7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTIwMDtcclxuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJHdoaXRlLCAuMDc1KTtcclxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuXHJcbi8vIE1vZGFsc1xyXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICRib2R5LWJnO1xyXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgIHJnYmEoJHdoaXRlLCAuMik7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktODAwO1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xyXG5cclxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkd2hpdGU7XHJcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgMCAxcHggMCAkYmxhY2s7XHJcblxyXG4vLyAvLyBUYWJsZXNcclxuLy8gJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbi8vICR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpO1xyXG4vLyAkdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSk7XHJcbi8vICR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZztcclxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3I7XHJcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvcjtcclxuXHJcbi8vICR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcclxuLy8gJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwO1xyXG5cclxuLy8gJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgICAkZ3JheS05MDA7XHJcbi8vICR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSk7XHJcbi8vICR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpO1xyXG4vLyAkdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKTtcclxuLy8gJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgICAkYm9keS1iZztcclxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwO1xyXG5cclxuLy8gJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQ7XHJcblxyXG5cclxuLy8gSnVtYm90cm9uXHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTgwMDtcclxuXHJcbi8vIEhSXHJcbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMSk7XHJcblxyXG5cclxuLy8gVG9hc3RzXHJcbi8vJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcclxuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC44NSk7XHJcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xyXG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkd2hpdGUsIC4xKTtcclxuXHJcbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTQwMDtcclxuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssIC44NSk7XHJcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTtcclxuXHJcbi8vIERyb3Bkb3duc1xyXG4vL1xyXG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KTtcclxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwO1xyXG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkd2hpdGUsIC4xNzUpO1xyXG5cclxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMTAwO1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBsaWdodGVuKCRncmF5LTEwMCwgNSUpO1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS05MDA7XHJcblxyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcblxyXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS00MDA7XHJcblxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS00MDA7XHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS04MDA7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTQwMDtcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNDAwO1xyXG5cclxuLy8gUGFnaW5hdGlvblxyXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcclxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS03MDA7XHJcblxyXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcblxyXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvcjtcclxuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwO1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS03MDA7XHJcblxyXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcclxuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcclxuXHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTQwMDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS03MDA7XHJcbiIsIi8vIERvIG5vdCBmb3JnZXQgdG8gdXBkYXRlIGdldHRpbmctc3RhcnRlZC90aGVtaW5nLm1kIVxuOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbi8vTWFrZSBpdCBsb29rIGxlc3MgcHJpbWFyeSBzY2hvb2xcbiRmb250LXNpemUtYmFzZTogMC44NXJlbTtcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJzdWNjZXNzXCI6ICM1Y2I4NWMsXG4gIFwid2FybmluZ1wiOiAjZjBhZDRlLFxuICBcImRhbmdlclwiOiAjZDk1MzRmLFxuICBcImluZm9cIjogIzViYzBkZSxcbiAgXCJwcmltYXJ5XCI6ICMzQTUyQTJcbikgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6IHRydWU7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICAmID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBUYWJsZXNcclxuXHJcbkBtaXhpbiBkYXJrLXRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcclxuICAgIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XHJcbiAgICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XHJcbiAgICAgICAgJixcclxuICAgICAgICA+IHRoLFxyXG4gICAgICAgID4gdGQge1xyXG4gICAgICAgICAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxyXG4gICAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXHJcbiAgICAudGFibGUtaG92ZXIge1xyXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcclxuXHJcbiAgICAgICAgLnRhYmxlLSN7JHN0YXRlfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gdGQsXHJcbiAgICAgICAgICAgICAgICA+IHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBUYWJsZSBiYWNrZ3JvdW5kc1xyXG4vL1xyXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG5cclxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XHJcbiAgICBAaW5jbHVkZSBkYXJrLXRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSkpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBkYXJrLXRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XHJcblxyXG4udGFibGUtZGFyayB7XHJcbiAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IGlmKCRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMsIHBvaW50ZXIsIG51bGwpO1xuXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gZW5hYmxlZCBQb3BwZXIuanMsIHJlc2V0IGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLmlucHV0LWdyb3VwIHtcclxuICAgICYgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcclxuICAgICAgICAmID4gLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiA+IC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcclxuICAgICAgICAmID4gLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBTdXBwcmVzcyB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yIGluIG1vZGVybiBicm93c2Vyc1xuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTgwODE1MTUwOTM0L2h0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iXX0= */ diff --git a/RIGS/static/css/email.css b/RIGS/static/css/email.css index 915b52f3..25cfca02 100644 --- a/RIGS/static/css/email.css +++ b/RIGS/static/css/email.css @@ -1 +1,39 @@ -body{margin:0px}.main-table{width:100%;border-collapse:collapse}.client-header{background-image:url("https://www.nottinghamtec.co.uk/imgs/wof2014-1.jpg");background-color:#222;background-repeat:no-repeat;background-position:center;width:100%;margin-bottom:28px}.client-header .logos{width:100%;max-width:640px}.client-header img{height:110px}.content-container{width:100%}.content-container .content{font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;width:100%;max-width:600px;padding:10px;text-align:left}.content-container .content .button-container{width:100%}.content-container .content .button-container .button{padding:6px 12px;background-color:#357ebf;border-radius:4px}.content-container .content .button-container .button a{color:#fff;text-decoration:none} +body { + margin: 0px; } + +.main-table { + width: 100%; + border-collapse: collapse; } + +.client-header { + background-image: url("https://www.nottinghamtec.co.uk/imgs/wof2014-1.jpg"); + background-color: #222; + background-repeat: no-repeat; + background-position: center; + width: 100%; + margin-bottom: 28px; } + .client-header .logos { + width: 100%; + max-width: 640px; } + .client-header img { + height: 110px; } + +.content-container { + width: 100%; } + .content-container .content { + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + width: 100%; + max-width: 600px; + padding: 10px; + text-align: left; } + .content-container .content .button-container { + width: 100%; } + .content-container .content .button-container .button { + padding: 6px 12px; + background-color: #357ebf; + border-radius: 4px; } + .content-container .content .button-container .button a { + color: #fff; + text-decoration: none; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVtYWlsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxXQUFXLEVBQUE7O0FBR2I7RUFDRSxXQUFXO0VBQ1gseUJBQXlCLEVBQUE7O0FBSTNCO0VBQ0UsMkVBQTJFO0VBQzNFLHNCQUFzQjtFQUN0Qiw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBRTNCLFdBQVc7RUFFWCxtQkFBbUIsRUFBQTtFQVJyQjtJQVdJLFdBQVc7SUFDWCxnQkFBZ0IsRUFBQTtFQVpwQjtJQWdCSSxhQUFhLEVBQUE7O0FBSWpCO0VBQ0UsV0FBVyxFQUFBO0VBRGI7SUFJSSx3RUFBd0U7SUFFeEUsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsZ0JBQWdCLEVBQUE7SUFUcEI7TUFZTSxXQUFXLEVBQUE7TUFaakI7UUFlUSxpQkFBaUI7UUFDakIseUJBaERjO1FBaURkLGtCQUFrQixFQUFBO1FBakIxQjtVQW9CVSxXQUFXO1VBQ1gscUJBQXFCLEVBQUEiLCJmaWxlIjoiZW1haWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGJ1dHRvbl9jb2xvcjogIzM1N2ViZjtcblxuYm9keXtcbiAgbWFyZ2luOiAwcHg7XG59XG5cbi5tYWluLXRhYmxle1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxufVxuXG4uY2xpZW50LWhlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vd3d3Lm5vdHRpbmdoYW10ZWMuY28udWsvaW1ncy93b2YyMDE0LTEuanBnXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAubG9nb3N7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgfVxufVxuXG4uY29udGVudC1jb250YWluZXJ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAuYnV0dG9uLWNvbnRhaW5lcntcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cblxuIl19 */ diff --git a/RIGS/static/css/flatpickr.css b/RIGS/static/css/flatpickr.css new file mode 100644 index 00000000..cedad5c8 --- /dev/null +++ b/RIGS/static/css/flatpickr.css @@ -0,0 +1,788 @@ +.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.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.arrowRight:before, +.flatpickr-calendar.rightMost:after, +.flatpickr-calendar.arrowRight:after { + left: auto; + right: 22px; } + +.flatpickr-calendar.arrowCenter:before, +.flatpickr-calendar.arrowCenter:after { + left: 50%; + right: 50%; } + +.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); } } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZsYXRwaWNrci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVix1QkFBdUI7RUFDZixlQUFlO0VBQ3ZCLGNBQWM7RUFDZCxTQUFTO0VBQ1QsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQiw4QkFBOEI7RUFDdEIsc0JBQXNCO0VBQzlCLDhCQUE4QjtFQUMxQiwwQkFBMEI7RUFDOUIsZ0JBQWdCO0VBQ2hCLHdIQUFxSDtFQUM3RyxnSEFBNkcsRUFBQTs7QUFFdkg7O0VBRUUsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxxQkFBcUI7RUFDckIsY0FBYyxFQUFBOztBQUVoQjtFQUNFLG9FQUFvRTtFQUM1RCw0REFBNEQsRUFBQTs7QUFFdEU7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFFBQVEsRUFBQTs7QUFFVjtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSxZQUFZO0VBQ1osY0FBYyxFQUFBOztBQUVoQjtFQUNFLG1DQUFtQztFQUMzQiwyQkFBMkIsRUFBQTs7QUFFckM7RUFDRSxxREFBcUQ7RUFDN0MsNkNBQTZDLEVBQUE7O0FBRXZEOztFQUVFLGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsNEJBQTRCLEVBQUE7O0FBRTlCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLFlBQVk7RUFDWiw2QkFBNkIsRUFBQTs7QUFFL0I7RUFDRSxZQUFZLEVBQUE7O0FBRWQ7O0VBRUUsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLFdBQVc7RUFDWCxTQUFTO0VBQ1QsUUFBUTtFQUNSLFVBQVUsRUFBQTs7QUFFWjs7OztFQUlFLFVBQVU7RUFDVixXQUFXLEVBQUE7O0FBRWI7O0VBRUUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFFWjtFQUNFLGlCQUFpQjtFQUNqQixjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWMsRUFBQTs7QUFFaEI7O0VBRUUsWUFBWSxFQUFBOztBQUVkO0VBQ0UsNEJBQTRCLEVBQUE7O0FBRTlCO0VBQ0UseUJBQXlCLEVBQUE7O0FBRTNCOztFQUVFLFNBQVMsRUFBQTs7QUFFWDtFQUNFLHlCQUF5QixFQUFBOztBQUUzQjtFQUNFLHNCQUFzQixFQUFBOztBQUV4QjtFQUNFLFVBQVUsRUFBQTs7QUFFWjtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSxvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixhQUFhLEVBQUE7O0FBRWY7RUFDRSx1QkFBdUI7RUFDdkIseUJBQXNCO0VBQ3RCLHdCQUFxQjtFQUNyQixZQUFZO0VBQ1osY0FBYztFQUNkLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3RCLHNCQUFzQjtFQUNyQixxQkFBcUI7RUFDakIsaUJBQWlCO0VBQ3pCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNYLFdBQVc7RUFDUCxPQUFPLEVBQUE7O0FBRWpCOztFQUVFLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixZQUFZO0VBQ1osYUFBYTtFQUNiLFVBQVU7RUFDVix5QkFBc0I7RUFDdEIsd0JBQXFCLEVBQUE7O0FBRXZCOztFQUVFLGFBQWEsRUFBQTs7QUFFZjs7RUFFRSxrQkFBa0IsRUFBQTs7QUFFcEI7O0VBRUE7eUJBQ3lCO0VBQ3pCO09BQ087RUFDTCxPQUFPO0VBQ1Q7dUJBQ3VCO0VBQ3ZCO09BQ08sRUFBQzs7QUFFUjt5QkFDeUI7QUFDekI7dUJBQ3VCO0FBQ3ZCOztFQUVBO3lCQUN5QjtFQUN6QjtPQUNPO0VBQ0wsUUFBUTtFQUNWO3VCQUN1QjtFQUN2QjtPQUNPLEVBQUM7O0FBRVI7eUJBQ3lCO0FBQ3pCO3VCQUN1QjtBQUN2Qjs7RUFFRSxjQUFjLEVBQUE7O0FBRWhCOztFQUVFLGFBQWEsRUFBQTs7QUFFZjs7RUFFRSxXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUVkOztFQUVFLDZCQUE2QjtFQUM3QixxQkFBcUI7RUFDckIsYUFBYSxFQUFBOztBQUVmO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVksRUFBQTs7QUFFZDs7RUFFRSxxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSxXQUFXLEVBQUE7O0FBRWI7RUFDRSxhQUFhLEVBQUE7O0FBRWY7O0VBRUUsU0FBUztFQUNULHdCQUF3QixFQUFBOztBQUUxQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsV0FBVztFQUNYLG9CQUFvQjtFQUNwQixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixlQUFlO0VBQ2Ysd0NBQXFDO0VBQ3JDLDhCQUE4QjtFQUN0QixzQkFBc0IsRUFBQTs7QUFFaEM7RUFDRSw4QkFBMkIsRUFBQTs7QUFFN0I7RUFDRSw4QkFBMkIsRUFBQTs7QUFFN0I7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQUVwQjtFQUNFLE1BQU07RUFDTixnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBQ25DLDhDQUEyQztFQUMzQyxRQUFRLEVBQUE7O0FBRVY7RUFDRSxRQUFRLEVBQUE7O0FBRVY7RUFDRSxrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBQ25DLDJDQUF3QztFQUN4QyxRQUFRLEVBQUE7O0FBRVY7RUFDRSxjQUFjO0VBQ2QsWUFBWSxFQUFBOztBQUVkO0VBQ0Usd0JBQXFCLEVBQUE7O0FBRXZCO0VBQ0UsK0JBQTRCLEVBQUE7O0FBRTlCO0VBQ0UsVUFBVSxFQUFBOztBQUVaO0VBQ0UsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsNkNBQTZDO0VBQ3JDLHFDQUFxQyxFQUFBOztBQUUvQztFQUNFLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsVUFBVSxFQUFBOztBQUVaO0VBQ0UsK0JBQTRCLEVBQUE7O0FBRTlCO0VBQ0UsVUFBVTtFQUNWLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSx1Q0FBb0MsRUFBQTs7QUFFdEM7RUFDRSxvQ0FBaUMsRUFBQTs7QUFFbkM7RUFDRSx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQ3RCLHNCQUFzQjtFQUM5QixjQUFjO0VBQ2QsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQixTQUFTO0VBQ1QscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osU0FBUztFQUNULGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSxVQUFVLEVBQUE7O0FBRVo7O0VBRUUsZUFBZTtFQUNmLHlCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsb0JBQW9CLEVBQUE7O0FBRXRCO0VBQ0Usb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsNEJBQTRCO0VBQzVCLHlCQUF5QjtFQUN6QixXQUFXLEVBQUE7O0FBRWI7O0VBRUUsYUFBYSxFQUFBOztBQUVmO0VBQ0UsK0JBQTRCLEVBQUE7O0FBRTlCO0VBQ0UsNkJBQTZCO0VBQzdCLGFBQWE7RUFDYixVQUFVLEVBQUE7O0FBRVo7RUFDRSx1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QiwyQkFBMkI7RUFDdkIsc0JBQXNCO0VBQ2xCLG1CQUFtQjtFQUMzQixZQUFZLEVBQUE7O0FBRWQ7RUFDRSxvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGVBQWU7RUFDWCxXQUFXO0VBQ1AsT0FBTyxFQUFBOztBQUVqQjtFQUNFLGVBQWU7RUFDZixjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLDBCQUF1QjtFQUN2QixjQUFjO0VBQ2QsU0FBUztFQUNULGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGVBQWU7RUFDWCxXQUFXO0VBQ1AsT0FBTztFQUNmLG1CQUFtQixFQUFBOztBQUVyQjs7RUFFRSxrQkFBa0IsRUFBQTs7QUFFcEI7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYix3QkFBd0I7RUFDeEIsK0JBQStCO0VBQzNCLHFCQUFxQjtFQUNqQix1QkFBdUI7RUFDL0IsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQ0UsVUFBVSxFQUFBOztBQUVaO0VBQ0UsVUFBVTtFQUNWLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsOEJBQThCO0VBQ3RCLHNCQUFzQjtFQUM5QixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsYUFBYTtFQUNiLHVCQUF1QjtFQUNmLGVBQWU7RUFDdkIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixxQ0FBcUM7RUFDN0IsNkJBQTZCO0VBQ3JDLDZDQUE2QztFQUNyQyxxQ0FBcUM7RUFDN0MsVUFBVSxFQUFBOztBQUVaO0VBQ0Usb0NBQW9DO0VBQzVCLDRCQUE0QixFQUFBOztBQUV0QztFQUNFLGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0Isb0JBQW9CO0VBQ3BCLDhCQUE4QjtFQUN0QixzQkFBc0I7RUFDOUIsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMzQixvQ0FBb0M7RUFDaEMsdUJBQXVCO0VBQy9CLGVBQWU7RUFDZixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFNBQVM7RUFDVCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLHdCQUF3QjtFQUN4QiwrQkFBK0I7RUFDM0IscUJBQXFCO0VBQ2pCLHVCQUF1QjtFQUMvQixrQkFBa0IsRUFBQTs7QUFFcEI7Ozs7Ozs7Ozs7OztFQVlFLGVBQWU7RUFDZixVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUFBOztBQUV2QjtFQUNFLHFCQUFxQixFQUFBOztBQUV2Qjs7RUFFRSxxQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLFdBQVcsRUFBQTs7QUFFYjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JFLG1CQUFtQjtFQUNuQix3QkFBd0I7RUFDaEIsZ0JBQWdCO0VBQ3hCLFdBQVc7RUFDWCxxQkFBcUIsRUFBQTs7QUFFdkI7OztFQUdFLDRCQUE0QixFQUFBOztBQUU5Qjs7O0VBR0UsNEJBQTRCLEVBQUE7O0FBRTlCOzs7RUFHRSxxQ0FBcUM7RUFDN0IsNkJBQTZCLEVBQUE7O0FBRXZDOzs7RUFHRSxtQkFBbUIsRUFBQTs7QUFFckI7RUFDRSxnQkFBZ0I7RUFDaEIscURBQXFEO0VBQzdDLDZDQUE2QyxFQUFBOztBQUV2RDs7Ozs7OztFQU9FLDRCQUF5QjtFQUN6Qix1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLGVBQWUsRUFBQTs7QUFFakI7O0VBRUUsbUJBQW1CO0VBQ25CLDRCQUF5QixFQUFBOztBQUUzQjtFQUNFLGdCQUFnQjtFQUNoQixxREFBcUQ7RUFDN0MsNkNBQTZDLEVBQUE7O0FBRXZEO0VBQ0Usa0JBQWtCLEVBQUE7O0FBRXBCO0VBQ0UsZUFBZSxFQUFBOztBQUVqQjtFQUNFLFdBQVcsRUFBQTs7QUFFYjtFQUNFLGVBQWU7RUFDZixtQ0FBbUM7RUFDM0IsMkJBQTJCLEVBQUE7O0FBRXJDO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFFbkI7O0VBRUUsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlO0VBQ2YsNEJBQXlCO0VBQ3pCLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2YsWUFBWSxFQUFBOztBQUVkO0VBQ0UsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYiw4QkFBOEI7RUFDdEIsc0JBQXNCO0VBQzlCLGdCQUFnQixFQUFBOztBQUVsQjtFQUNFLHFCQUFxQjtFQUNyQixVQUFVO0VBQ1YsOEJBQThCO0VBQ3RCLHNCQUFzQixFQUFBOztBQUVoQztFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBYztFQUNkLFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLDhCQUE4QjtFQUN0QixzQkFBc0I7RUFDOUIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGFBQWEsRUFBQTs7QUFFZjtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsV0FBVyxFQUFBOztBQUViO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDWCxXQUFXO0VBQ1AsT0FBTztFQUNmLFVBQVU7RUFDVixZQUFZO0VBQ1osV0FBVyxFQUFBOztBQUViO0VBQ0UsNEJBQTRCLEVBQUE7O0FBRTlCO0VBQ0UseUJBQXlCLEVBQUE7O0FBRTNCO0VBQ0UsVUFBVSxFQUFBOztBQUVaO0VBQ0UsVUFBVSxFQUFBOztBQUVaO0VBQ0UsdUJBQXVCO0VBQ3ZCLHdCQUF3QjtFQUNoQixnQkFBZ0I7RUFDeEIsU0FBUztFQUNULGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLDhCQUE4QjtFQUN0QixzQkFBc0I7RUFDOUIsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixxQkFBcUIsRUFBQTs7QUFFdkI7RUFDRSxpQkFBaUIsRUFBQTs7QUFFbkI7O0VBRUUsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQ0UsVUFBVTtFQUNWLFNBQVMsRUFBQTs7QUFFWDs7RUFFRSxlQUFlO0VBQ2YsV0FBVztFQUNYLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFNBQVM7RUFDVCx5QkFBeUI7RUFDdEIsc0JBQXNCO0VBQ3JCLHFCQUFxQjtFQUNqQixpQkFBaUI7RUFDekIsMEJBQTBCO0VBQ3RCLDJCQUEyQjtFQUN2QixrQkFBa0IsRUFBQTs7QUFFNUI7RUFDRSxVQUFVO0VBQ1YsVUFBVTtFQUNWLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7O0FBRWxCOzs7O0VBSUUsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQ0UsZUFBZSxFQUFBOztBQUVqQjtFQUNFO0lBQ0UsVUFBVTtJQUNWLDJDQUEyQztJQUNuQyxtQ0FBbUMsRUFBQTtFQUU3QztJQUNFLFVBQVU7SUFDVix1Q0FBdUM7SUFDL0IsK0JBQStCLEVBQUEsRUFBQTs7QUFHM0M7RUFDRTtJQUNFLFVBQVU7SUFDViwyQ0FBMkM7SUFDbkMsbUNBQW1DLEVBQUE7RUFFN0M7SUFDRSxVQUFVO0lBQ1YsdUNBQXVDO0lBQy9CLCtCQUErQixFQUFBLEVBQUEiLCJmaWxlIjoiZmxhdHBpY2tyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mbGF0cGlja3ItY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTYsIC0xcHggMCAwICNlNmU2ZTYsIDAgMXB4IDAgI2U2ZTZlNiwgMCAtMXB4IDAgI2U2ZTZlNiwgMCAzcHggMTNweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAwIDAgI2U2ZTZlNiwgLTFweCAwIDAgI2U2ZTZlNiwgMCAxcHggMCAjZTZlNmU2LCAwIC0xcHggMCAjZTZlNmU2LCAwIDNweCAxM3B4IHJnYmEoMCwwLDAsMC4wOCk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4sXG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIG9wYWNpdHk6IDE7XG4gIG1heC1oZWlnaHQ6IDY0MHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6LWluZGV4OiA5OTk5OTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYW5pbWF0ZS5vcGVuIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZwRmFkZUluRG93biAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmcEZhZGVJbkRvd24gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDJweCk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYy5vcGVuIHtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisxKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bis3KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubXVsdGlNb250aCAuZmxhdHBpY2tyLWRheXMgLmRheUNvbnRhaW5lcjpudGgtY2hpbGQobisyKSAuZmxhdHBpY2tyLWRheS5pblJhbmdlOm50aC1jaGlsZCg3bisxKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTJweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0ycHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1dlZWtzIC5kYXlDb250YWluZXIsXG4uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNUaW1lIC5kYXlDb250YWluZXIge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1dlZWtzIC5kYXlDb250YWluZXIge1xuICBib3JkZXItbGVmdDogMDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuaGFzVGltZSAuZmxhdHBpY2tyLXRpbWUge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1lIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmUsXG4uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiAyMnB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1JpZ2h0OmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1JpZ2h0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIycHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Q2VudGVyOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dDZW50ZXI6YWZ0ZXIge1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBtYXJnaW46IDAgLTVweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luOiAwIC00cHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xuICBib3R0b206IDEwMCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlNmU2ZTY7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciB7XG4gIHRvcDogMTAwJTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZmxhdHBpY2tyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItbW9udGhzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW1vbnRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7XG4gIGZpbGw6IHJnYmEoMCwwLDAsMC45KTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGgsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIGksXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICBsZWZ0OiAwO1xuLypcbiAgICAgIC8qcnRsOmVuZDppZ25vcmUqL1xuLypcbiAgICAgICovXG59XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICByaWdodDogMDtcbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi8qXG4gICAgICAqL1xufVxuLypcbiAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgLypydGw6ZW5kOmlnbm9yZSovXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIge1xuICBjb2xvcjogIzk1OWVhOTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3ZlciBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIgc3ZnIHtcbiAgZmlsbDogI2Y2NDc0Nztcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcgcGF0aCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbCAwLjFzO1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuMXM7XG4gIGZpbGw6IGluaGVyaXQ7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0LFxuLm51bUlucHV0V3JhcHBlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTRweDtcbiAgcGFkZGluZzogMCA0cHggMCAycHg7XG4gIGhlaWdodDogNTAlO1xuICBsaW5lLWhlaWdodDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsMC4xNSk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LDAuNik7XG4gIHRvcDogMjYlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gIHRvcDogNTAlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywwLjYpO1xuICB0b3A6IDQwJTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xufVxuLm51bUlucHV0V3JhcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyOmhvdmVyIHNwYW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHtcbiAgZm9udC1zaXplOiAxMzUlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDc1JTtcbiAgbGVmdDogMTIuNSU7XG4gIHBhZGRpbmc6IDcuNDhweCAwIDAgMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMzRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVjaDtcbiAgcGFkZGluZzogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA2Y2g7XG4gIHdpZHRoOiA3Y2hcXDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAwIDAgMCAwLjVjaDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdOmhvdmVyIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRocyB7XG4gIGFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWNoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6Zm9jdXMsXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoczphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHMgLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxhdHBpY2tyLXdlZWtkYXlzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbi5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG5zcGFuLmZsYXRwaWNrci13ZWVrZGF5IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDkwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3Itd2Vla3Mge1xuICBwYWRkaW5nOiAxcHggMCAwIDA7XG59XG4uZmxhdHBpY2tyLWRheXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG59XG4uZmxhdHBpY2tyLWRheXM6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmRheUNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIG1pbi13aWR0aDogMzA3Ljg3NXB4O1xuICBtYXgtd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gIG9wYWNpdHk6IDE7XG59XG4uZGF5Q29udGFpbmVyICsgLmRheUNvbnRhaW5lciB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwIDAgI2U2ZTZlNjtcbiAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTQuMjg1NzE0MyU7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTQuMjg1NzE0MyU7XG4gICAgICAgICAgZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIG1heC13aWR0aDogMzlweDtcbiAgaGVpZ2h0OiAzOXB4O1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmxhdHBpY2tyLWRheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnRvZGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkudG9kYXkge1xuICBib3JkZXItY29sb3I6ICM5NTllYTk7XG59XG4uZmxhdHBpY2tyLWRheS50b2RheTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU5ZWE5O1xuICBiYWNrZ3JvdW5kOiAjOTU5ZWE5O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6Zm9jdXMsXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQucHJldk1vbnRoRGF5LFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLm5leHRNb250aERheSB7XG4gIGJhY2tncm91bmQ6ICM1NjlmZjc7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UgKyAuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuaW5SYW5nZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTVweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC01cHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsXG4uZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5IHtcbiAgY29sb3I6IHJnYmEoNTcsNTcsNTcsMC4zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiByZ2JhKDU3LDU3LDU3LDAuMSk7XG59XG4uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtNXB4IDAgMCAjNTY5ZmY3LCA1cHggMCAwICM1NjlmZjc7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTVweCAwIDAgIzU2OWZmNywgNXB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheSB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrcyB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksXG4uZmxhdHBpY2tyLXdlZWt3cmFwcGVyIHNwYW4uZmxhdHBpY2tyLWRheTpob3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBjb2xvcjogcmdiYSg1Nyw1Nyw1NywwLjMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGF0cGlja3ItckNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZmxhdHBpY2tyLXRpbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG91dGxpbmU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiAyNiU7XG59XG4uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA0OSU7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMzkzOTM5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSxcbi5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25kIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yLFxuLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG0ge1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMiU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtIHtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDE4JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6aG92ZXIsXG4uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3Zlcixcbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyxcbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cbi5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBGYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIl19 */ diff --git a/RIGS/static/css/fullcalendar.css b/RIGS/static/css/fullcalendar.css old mode 100755 new mode 100644 index 382f709e..faa1aece --- a/RIGS/static/css/fullcalendar.css +++ b/RIGS/static/css/fullcalendar.css @@ -1,1061 +1,1282 @@ /*! - * FullCalendar v2.3.1 Stylesheet - * Docs & License: http://fullcalendar.io/ - * (c) 2015 Adam Shaw + * FullCalendar v3.10.2 + * Docs & License: https://fullcalendar.io/ + * (c) 2019 Adam Shaw */ - - .fc { - direction: ltr; - text-align: left; -} + direction: ltr; + text-align: left; } .fc-rtl { - text-align: right; -} - -body .fc { /* extra precedence to overcome jqui */ - font-size: 1em; -} + text-align: right; } +body .fc { + /* extra precedence to overcome jqui */ + font-size: 1em; } /* Colors --------------------------------------------------------------------------------------------------*/ +.fc-highlight { + /* when user is selecting cells */ + background: #bce8f1; + opacity: .3; } -.fc-unthemed th, -.fc-unthemed td, -.fc-unthemed thead, -.fc-unthemed tbody, -.fc-unthemed .fc-divider, -.fc-unthemed .fc-row, -.fc-unthemed .fc-popover { - border-color: #ddd; -} - -.fc-unthemed .fc-popover { - background-color: #fff; -} - -.fc-unthemed .fc-divider, -.fc-unthemed .fc-popover .fc-header { - background: #eee; -} - -.fc-unthemed .fc-popover .fc-header .fc-close { - color: #666; -} - -.fc-unthemed .fc-today { - background: #fcf8e3; -} - -.fc-highlight { /* when user is selecting cells */ - background: #bce8f1; - opacity: .3; - filter: alpha(opacity=30); /* for IE */ -} - -.fc-bgevent { /* default look for background events */ - background: rgb(143, 223, 130); - opacity: .3; - filter: alpha(opacity=30); /* for IE */ -} - -.fc-nonbusiness { /* default look for non-business-hours areas */ - /* will inherit .fc-bgevent's styles */ - background: #d7d7d7; -} - - -/* Icons (inline elements with styled text that mock arrow icons) ---------------------------------------------------------------------------------------------------*/ - -.fc-icon { - display: inline-block; - width: 1em; - height: 1em; - line-height: 1em; - font-size: 1em; - text-align: center; - overflow: hidden; - font-family: "Open Sans", sans-serif; -} - -/* -Acceptable font-family overrides for individual icons: - "Arial", sans-serif - "Times New Roman", serif - -NOTE: use percentage font sizes or else old IE chokes -*/ - -.fc-icon:after { - position: relative; - margin: 0 -1em; /* ensures character will be centered, regardless of width */ -} - -.fc-icon-left-single-arrow:after { - content: "\02039"; - font-weight: bold; - font-size: 200%; - top: -7%; - left: 3%; -} - -.fc-icon-right-single-arrow:after { - content: "\0203A"; - font-weight: bold; - font-size: 200%; - top: -7%; - left: -3%; -} - -.fc-icon-left-double-arrow:after { - content: "\000AB"; - font-size: 160%; - top: -7%; -} - -.fc-icon-right-double-arrow:after { - content: "\000BB"; - font-size: 160%; - top: -7%; -} - -.fc-icon-left-triangle:after { - content: "\25C4"; - font-size: 125%; - top: 3%; - left: -2%; -} - -.fc-icon-right-triangle:after { - content: "\25BA"; - font-size: 125%; - top: 3%; - left: 2%; -} - -.fc-icon-down-triangle:after { - content: "\25BC"; - font-size: 125%; - top: 2%; -} - -.fc-icon-x:after { - content: "\000D7"; - font-size: 200%; - top: 6%; -} +.fc-bgevent { + /* default look for background events */ + background: #8fdf82; + opacity: .3; } +.fc-nonbusiness { + /* default look for non-business-hours areas */ + /* will inherit .fc-bgevent's styles */ + background: #d7d7d7; } /* Buttons (styled ' - ) - .click(function() { - // don't process clicks for disabled buttons - if (!button.hasClass(tm + '-state-disabled')) { - - buttonClick(); - - // after the click action, if the button becomes the "active" tab, or disabled, - // it should never have a hover class, so remove it now. - if ( - button.hasClass(tm + '-state-active') || - button.hasClass(tm + '-state-disabled') - ) { - button.removeClass(tm + '-state-hover'); - } - } - }) - .mousedown(function() { - // the *down* effect (mouse pressed in). - // only on buttons that are not the "active" tab, or disabled - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - // undo the *down* effect - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - // the *hover* effect. - // only on buttons that are not the "active" tab, or disabled - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - // undo the *hover* effect - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); // if mouseleave happens before mouseup - } - ); - - groupChildren = groupChildren.add(button); - } - } - }); - - if (isOnlyButtons) { - groupChildren - .first().addClass(tm + '-corner-left').end() - .last().addClass(tm + '-corner-right').end(); - } - - if (groupChildren.length > 1) { - groupEl = $('
    '); - if (isOnlyButtons) { - groupEl.addClass('fc-button-group'); - } - groupEl.append(groupChildren); - sectionEl.append(groupEl); - } - else { - sectionEl.append(groupChildren); // 1 or 0 children - } - }); - } - - return sectionEl; - } - - - function updateTitle(text) { - el.find('h2').text(text); - } - - - function activateButton(buttonName) { - el.find('.fc-' + buttonName + '-button') - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - el.find('.fc-' + buttonName + '-button') - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - el.find('.fc-' + buttonName + '-button') - .attr('disabled', 'disabled') - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - el.find('.fc-' + buttonName + '-button') - .removeAttr('disabled') - .removeClass(tm + '-state-disabled'); - } - - - function getViewsWithButtons() { - return viewsWithButtons; - } - -} - -;; - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options) { // assumed to be a calendar - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.mutateEvent = mutateEvent; - t.normalizeEventRange = normalizeEventRange; - t.normalizeEventRangeTimes = normalizeEventRangeTimes; - t.ensureVisibleEventRange = ensureVisibleEventRange; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; // holds events that have already been expanded - - - $.each( - (options.events ? [ options.events ] : []).concat(options.eventSources || []), - function(i, sourceInput) { - var source = buildEventSource(sourceInput); - if (source) { - sources.push(source); - } - } - ); - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || // nothing has been fetched yet? - // or, a part of the new range is outside of the old range? (after normalizing) - start.clone().stripZone() < rangeStart.clone().stripZone() || - end.clone().stripZone() > rangeEnd.clone().stripZone(); - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i eventRange system - function ensureVisibleEventRange(range) { - var allDay; - - if (!range.end) { - - allDay = range.allDay; // range might be more event-ish than we think - if (allDay == null) { - allDay = !range.start.hasTime(); - } - - range = $.extend({}, range); // make a copy, copying over other misc properties - range.end = t.getDefaultEventEnd(allDay, range.start); - } - return range; - } - - - // If the given event is a recurring event, break it down into an array of individual instances. - // If not a recurring event, return an array with the single original event. - // If given a falsy input (probably because of a failed buildEventFromInput call), returns an empty array. - // HACK: can override the recurring window by providing custom rangeStart/rangeEnd (for businessHours). - function expandEvent(abstractEvent, _rangeStart, _rangeEnd) { - var events = []; - var dowHash; - var dow; - var i; - var date; - var startTime, endTime; - var start, end; - var event; - - _rangeStart = _rangeStart || rangeStart; - _rangeEnd = _rangeEnd || rangeEnd; - - if (abstractEvent) { - if (abstractEvent._recurring) { - - // make a boolean hash as to whether the event occurs on each day-of-week - if ((dow = abstractEvent.dow)) { - dowHash = {}; - for (i = 0; i < dow.length; i++) { - dowHash[dow[i]] = true; - } - } - - // iterate through every day in the current range - date = _rangeStart.clone().stripTime(); // holds the date of the current day - while (date.isBefore(_rangeEnd)) { - - if (!dowHash || dowHash[date.day()]) { // if everyday, or this particular day-of-week - - startTime = abstractEvent.start; // the stored start and end properties are times (Durations) - endTime = abstractEvent.end; // " - start = date.clone(); - end = null; - - if (startTime) { - start = start.time(startTime); - } - if (endTime) { - end = date.clone().time(endTime); - } - - event = $.extend({}, abstractEvent); // make a copy of the original - assignDatesToEvent( - start, end, - !startTime && !endTime, // allDay? - event - ); - events.push(event); - } - - date.add(1, 'days'); - } - } - else { - events.push(abstractEvent); // return the original event. will be a one-item array - } - } - - return events; - } - - - - /* Event Modification Math - -----------------------------------------------------------------------------------------*/ - - - // Modifies an event and all related events by applying the given properties. - // Special date-diffing logic is used for manipulation of dates. - // If `props` does not contain start/end dates, the updated values are assumed to be the event's current start/end. - // All date comparisons are done against the event's pristine _start and _end dates. - // Returns an object with delta information and a function to undo all operations. - // For making computations in a granularity greater than day/time, specify largeUnit. - // NOTE: The given `newProps` might be mutated for normalization purposes. - function mutateEvent(event, newProps, largeUnit) { - var miscProps = {}; - var oldProps; - var clearEnd; - var startDelta; - var endDelta; - var durationDelta; - var undoFunc; - - // diffs the dates in the appropriate way, returning a duration - function diffDates(date1, date0) { // date1 - date0 - if (largeUnit) { - return diffByUnit(date1, date0, largeUnit); - } - else if (newProps.allDay) { - return diffDay(date1, date0); - } - else { - return diffDayTime(date1, date0); - } - } - - newProps = newProps || {}; - - // normalize new date-related properties - if (!newProps.start) { - newProps.start = event.start.clone(); - } - if (newProps.end === undefined) { - newProps.end = event.end ? event.end.clone() : null; - } - if (newProps.allDay == null) { // is null or undefined? - newProps.allDay = event.allDay; - } - normalizeEventRange(newProps); - - // create normalized versions of the original props to compare against - // need a real end value, for diffing - oldProps = { - start: event._start.clone(), - end: event._end ? event._end.clone() : t.getDefaultEventEnd(event._allDay, event._start), - allDay: newProps.allDay // normalize the dates in the same regard as the new properties - }; - normalizeEventRange(oldProps); - - // need to clear the end date if explicitly changed to null - clearEnd = event._end !== null && newProps.end === null; - - // compute the delta for moving the start date - startDelta = diffDates(newProps.start, oldProps.start); - - // compute the delta for moving the end date - if (newProps.end) { - endDelta = diffDates(newProps.end, oldProps.end); - durationDelta = endDelta.subtract(startDelta); - } - else { - durationDelta = null; - } - - // gather all non-date-related properties - $.each(newProps, function(name, val) { - if (isMiscEventPropName(name)) { - if (val !== undefined) { - miscProps[name] = val; - } - } - }); - - // apply the operations to the event and all related events - undoFunc = mutateEvents( - clientEvents(event._id), // get events with this ID - clearEnd, - newProps.allDay, - startDelta, - durationDelta, - miscProps - ); - - return { - dateDelta: startDelta, - durationDelta: durationDelta, - undo: undoFunc - }; - } - - - // Modifies an array of events in the following ways (operations are in order): - // - clear the event's `end` - // - convert the event to allDay - // - add `dateDelta` to the start and end - // - add `durationDelta` to the event's duration - // - assign `miscProps` to the event - // - // Returns a function that can be called to undo all the operations. - // - // TODO: don't use so many closures. possible memory issues when lots of events with same ID. - // - function mutateEvents(events, clearEnd, allDay, dateDelta, durationDelta, miscProps) { - var isAmbigTimezone = t.getIsAmbigTimezone(); - var undoFunctions = []; - - // normalize zero-length deltas to be null - if (dateDelta && !dateDelta.valueOf()) { dateDelta = null; } - if (durationDelta && !durationDelta.valueOf()) { durationDelta = null; } - - $.each(events, function(i, event) { - var oldProps; - var newProps; - - // build an object holding all the old values, both date-related and misc. - // for the undo function. - oldProps = { - start: event.start.clone(), - end: event.end ? event.end.clone() : null, - allDay: event.allDay - }; - $.each(miscProps, function(name) { - oldProps[name] = event[name]; - }); - - // new date-related properties. work off the original date snapshot. - // ok to use references because they will be thrown away when backupEventDates is called. - newProps = { - start: event._start, - end: event._end, - allDay: allDay // normalize the dates in the same regard as the new properties - }; - normalizeEventRange(newProps); // massages start/end/allDay - - // strip or ensure the end date - if (clearEnd) { - newProps.end = null; - } - else if (durationDelta && !newProps.end) { // the duration translation requires an end date - newProps.end = t.getDefaultEventEnd(newProps.allDay, newProps.start); - } - - if (dateDelta) { - newProps.start.add(dateDelta); - if (newProps.end) { - newProps.end.add(dateDelta); - } - } - - if (durationDelta) { - newProps.end.add(durationDelta); // end already ensured above - } - - // if the dates have changed, and we know it is impossible to recompute the - // timezone offsets, strip the zone. - if ( - isAmbigTimezone && - !newProps.allDay && - (dateDelta || durationDelta) - ) { - newProps.start.stripZone(); - if (newProps.end) { - newProps.end.stripZone(); - } - } - - $.extend(event, miscProps, newProps); // copy over misc props, then date-related props - backupEventDates(event); // regenerate internal _start/_end/_allDay - - undoFunctions.push(function() { - $.extend(event, oldProps); - backupEventDates(event); // regenerate internal _start/_end/_allDay - }); - }); - - return function() { - for (var i = 0; i < undoFunctions.length; i++) { - undoFunctions[i](); - } - }; - } - - - /* Business Hours - -----------------------------------------------------------------------------------------*/ - - t.getBusinessHoursEvents = getBusinessHoursEvents; - - - // Returns an array of events as to when the business hours occur in the given view. - // Abuse of our event system :( - function getBusinessHoursEvents(wholeDay) { - var optionVal = options.businessHours; - var defaultVal = { - className: 'fc-nonbusiness', - start: '09:00', - end: '17:00', - dow: [ 1, 2, 3, 4, 5 ], // monday - friday - rendering: 'inverse-background' - }; - var view = t.getView(); - var eventInput; - - if (optionVal) { // `true` (which means "use the defaults") or an override object - eventInput = $.extend( - {}, // copy to a new object in either case - defaultVal, - typeof optionVal === 'object' ? optionVal : {} // override the defaults - ); - } - - if (eventInput) { - - // if a whole-day series is requested, clear the start/end times - if (wholeDay) { - eventInput.start = null; - eventInput.end = null; - } - - return expandEvent( - buildEventFromInput(eventInput), - view.start, - view.end - ); - } - - return []; - } - - - /* Overlapping / Constraining - -----------------------------------------------------------------------------------------*/ - - t.isEventRangeAllowed = isEventRangeAllowed; - t.isSelectionRangeAllowed = isSelectionRangeAllowed; - t.isExternalDropRangeAllowed = isExternalDropRangeAllowed; - - - function isEventRangeAllowed(range, event) { - var source = event.source || {}; - var constraint = firstDefined( - event.constraint, - source.constraint, - options.eventConstraint - ); - var overlap = firstDefined( - event.overlap, - source.overlap, - options.eventOverlap - ); - - range = ensureVisibleEventRange(range); // ensure a proper range with an end for isRangeAllowed - - return isRangeAllowed(range, constraint, overlap, event); - } - - - function isSelectionRangeAllowed(range) { - return isRangeAllowed(range, options.selectConstraint, options.selectOverlap); - } - - - // when `eventProps` is defined, consider this an event. - // `eventProps` can contain misc non-date-related info about the event. - function isExternalDropRangeAllowed(range, eventProps) { - var eventInput; - var event; - - // note: very similar logic is in View's reportExternalDrop - if (eventProps) { - eventInput = $.extend({}, eventProps, range); - event = expandEvent(buildEventFromInput(eventInput))[0]; - } - - if (event) { - return isEventRangeAllowed(range, event); - } - else { // treat it as a selection - - range = ensureVisibleEventRange(range); // ensure a proper range with an end for isSelectionRangeAllowed - - return isSelectionRangeAllowed(range); - } - } - - - // Returns true if the given range (caused by an event drop/resize or a selection) is allowed to exist - // according to the constraint/overlap settings. - // `event` is not required if checking a selection. - function isRangeAllowed(range, constraint, overlap, event) { - var constraintEvents; - var anyContainment; - var peerEvents; - var i, peerEvent; - var peerOverlap; - - // normalize. fyi, we're normalizing in too many places :( - range = $.extend({}, range); // copy all properties in case there are misc non-date properties - range.start = range.start.clone().stripZone(); - range.end = range.end.clone().stripZone(); - - // the range must be fully contained by at least one of produced constraint events - if (constraint != null) { - - // not treated as an event! intermediate data structure - // TODO: use ranges in the future - constraintEvents = constraintToEvents(constraint); - - anyContainment = false; - for (i = 0; i < constraintEvents.length; i++) { - if (eventContainsRange(constraintEvents[i], range)) { - anyContainment = true; - break; - } - } - - if (!anyContainment) { - return false; - } - } - - peerEvents = t.getPeerEvents(event, range); - - for (i = 0; i < peerEvents.length; i++) { - peerEvent = peerEvents[i]; - - // there needs to be an actual intersection before disallowing anything - if (eventIntersectsRange(peerEvent, range)) { - - // evaluate overlap for the given range and short-circuit if necessary - if (overlap === false) { - return false; - } - // if the event's overlap is a test function, pass the peer event in question as the first param - else if (typeof overlap === 'function' && !overlap(peerEvent, event)) { - return false; - } - - // if we are computing if the given range is allowable for an event, consider the other event's - // EventObject-specific or Source-specific `overlap` property - if (event) { - peerOverlap = firstDefined( - peerEvent.overlap, - (peerEvent.source || {}).overlap - // we already considered the global `eventOverlap` - ); - if (peerOverlap === false) { - return false; - } - // if the peer event's overlap is a test function, pass the subject event as the first param - if (typeof peerOverlap === 'function' && !peerOverlap(event, peerEvent)) { - return false; - } - } - } - } - - return true; - } - - - // Given an event input from the API, produces an array of event objects. Possible event inputs: - // 'businessHours' - // An event ID (number or string) - // An object with specific start/end dates or a recurring event (like what businessHours accepts) - function constraintToEvents(constraintInput) { - - if (constraintInput === 'businessHours') { - return getBusinessHoursEvents(); - } - - if (typeof constraintInput === 'object') { - return expandEvent(buildEventFromInput(constraintInput)); - } - - return clientEvents(constraintInput); // probably an ID - } - - - // Does the event's date range fully contain the given range? - // start/end already assumed to have stripped zones :( - function eventContainsRange(event, range) { - var eventStart = event.start.clone().stripZone(); - var eventEnd = t.getEventEnd(event).stripZone(); - - return range.start >= eventStart && range.end <= eventEnd; - } - - - // Does the event's date range intersect with the given range? - // start/end already assumed to have stripped zones :( - function eventIntersectsRange(event, range) { - var eventStart = event.start.clone().stripZone(); - var eventEnd = t.getEventEnd(event).stripZone(); - - return range.start < eventEnd && range.end > eventStart; - } - - - t.getEventCache = function() { - return cache; - }; - -} - - -// Returns a list of events that the given event should be compared against when being considered for a move to -// the specified range. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar. -Calendar.prototype.getPeerEvents = function(event, range) { - var cache = this.getEventCache(); - var peerEvents = []; - var i, otherEvent; - - for (i = 0; i < cache.length; i++) { - otherEvent = cache[i]; - if ( - !event || - event._id !== otherEvent._id // don't compare the event to itself or other related [repeating] events - ) { - peerEvents.push(otherEvent); - } - } - - return peerEvents; -}; - - -// updates the "backup" properties, which are preserved in order to compute diffs later on. -function backupEventDates(event) { - event._allDay = event.allDay; - event._start = event.start.clone(); - event._end = event.end ? event.end.clone() : null; -} - -;; - -/* An abstract class for the "basic" views, as well as month view. Renders one or more rows of day cells. -----------------------------------------------------------------------------------------------------------------------*/ -// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting. -// It is responsible for managing width/height. - -var BasicView = fcViews.basic = View.extend({ - - dayGrid: null, // the main subcomponent that does most of the heavy lifting - - dayNumbersVisible: false, // display day numbers on each day cell? - weekNumbersVisible: false, // display week numbers along the side? - - weekNumberWidth: null, // width of all the week-number cells running down the side - - headRowEl: null, // the fake row element of the day-of-week header - - - initialize: function() { - this.dayGrid = new DayGrid(this); - this.coordMap = this.dayGrid.coordMap; // the view's date-to-cell mapping is identical to the subcomponent's - }, - - - // Sets the display range and computes all necessary dates - setRange: function(range) { - View.prototype.setRange.call(this, range); // call the super-method - - this.dayGrid.breakOnWeeks = /year|month|week/.test(this.intervalUnit); // do before setRange - this.dayGrid.setRange(range); - }, - - - // Compute the value to feed into setRange. Overrides superclass. - computeRange: function(date) { - var range = View.prototype.computeRange.call(this, date); // get value from the super-method - - // year and month views should be aligned with weeks. this is already done for week - if (/year|month/.test(range.intervalUnit)) { - range.start.startOf('week'); - range.start = this.skipHiddenDays(range.start); - - // make end-of-week if not already - if (range.end.weekday()) { - range.end.add(1, 'week').startOf('week'); - range.end = this.skipHiddenDays(range.end, -1, true); // exclusively move backwards - } - } - - return range; - }, - - - // Renders the view into `this.el`, which should already be assigned - render: function() { - - this.dayNumbersVisible = this.dayGrid.rowCnt > 1; // TODO: make grid responsible - this.weekNumbersVisible = this.opt('weekNumbers'); - this.dayGrid.numbersVisible = this.dayNumbersVisible || this.weekNumbersVisible; - - this.el.addClass('fc-basic-view').html(this.renderHtml()); - - this.headRowEl = this.el.find('thead .fc-row'); - - this.scrollerEl = this.el.find('.fc-day-grid-container'); - this.dayGrid.coordMap.containerEl = this.scrollerEl; // constrain clicks/etc to the dimensions of the scroller - - this.dayGrid.setElement(this.el.find('.fc-day-grid')); - this.dayGrid.renderDates(this.hasRigidRows()); - }, - - - // Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering, - // always completely kill the dayGrid's rendering. - destroy: function() { - this.dayGrid.destroyDates(); - this.dayGrid.removeElement(); - }, - - - renderBusinessHours: function() { - this.dayGrid.renderBusinessHours(); - }, - - - // Builds the HTML skeleton for the view. - // The day-grid component will render inside of a container defined by this HTML. - renderHtml: function() { - return '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
    ' + - this.dayGrid.headHtml() + // render the day-of-week headers - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - }, - - - // Generates the HTML that will go before the day-of week header cells. - // Queried by the DayGrid subcomponent when generating rows. Ordering depends on isRTL. - headIntroHtml: function() { - if (this.weekNumbersVisible) { - return '' + - '' + - '' + // needed for matchCellWidths - htmlEscape(this.opt('weekNumberTitle')) + - '' + - ''; - } - }, - - - // Generates the HTML that will go before content-skeleton cells that display the day/week numbers. - // Queried by the DayGrid subcomponent. Ordering depends on isRTL. - numberIntroHtml: function(row) { - if (this.weekNumbersVisible) { - return '' + - '' + - '' + // needed for matchCellWidths - this.dayGrid.getCell(row, 0).start.format('w') + - '' + - ''; - } - }, - - - // Generates the HTML that goes before the day bg cells for each day-row. - // Queried by the DayGrid subcomponent. Ordering depends on isRTL. - dayIntroHtml: function() { - if (this.weekNumbersVisible) { - return ''; - } - }, - - - // Generates the HTML that goes before every other type of row generated by DayGrid. Ordering depends on isRTL. - // Affects helper-skeleton and highlight-skeleton rows. - introHtml: function() { - if (this.weekNumbersVisible) { - return ''; - } - }, - - - // Generates the HTML for the s of the "number" row in the DayGrid's content skeleton. - // The number row will only exist if either day numbers or week numbers are turned on. - numberCellHtml: function(cell) { - var date = cell.start; - var classes; - - if (!this.dayNumbersVisible) { // if there are week numbers but not day numbers - return ''; // will create an empty space above events :( - } - - classes = this.dayGrid.getDayClasses(date); - classes.unshift('fc-day-number'); - - return '' + - '' + - date.date() + - ''; - }, - - - // Generates an HTML attribute string for setting the width of the week number column, if it is known - weekNumberStyleAttr: function() { - if (this.weekNumberWidth !== null) { - return 'style="width:' + this.weekNumberWidth + 'px"'; - } - return ''; - }, - - - // Determines whether each row should have a constant height - hasRigidRows: function() { - var eventLimit = this.opt('eventLimit'); - return eventLimit && typeof eventLimit !== 'number'; - }, - - - /* Dimensions - ------------------------------------------------------------------------------------------------------------------*/ - - - // Refreshes the horizontal dimensions of the view - updateWidth: function() { - if (this.weekNumbersVisible) { - // Make sure all week number cells running down the side have the same width. - // Record the width for cells created later. - this.weekNumberWidth = matchCellWidths( - this.el.find('.fc-week-number') - ); - } - }, - - - // Adjusts the vertical dimensions of the view to the specified values - setHeight: function(totalHeight, isAuto) { - var eventLimit = this.opt('eventLimit'); - var scrollerHeight; - - // reset all heights to be natural - unsetScroller(this.scrollerEl); - uncompensateScroll(this.headRowEl); - - this.dayGrid.destroySegPopover(); // kill the "more" popover if displayed - - // is the event limit a constant level number? - if (eventLimit && typeof eventLimit === 'number') { - this.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after - } - - scrollerHeight = this.computeScrollerHeight(totalHeight); - this.setGridHeight(scrollerHeight, isAuto); - - // is the event limit dynamically calculated? - if (eventLimit && typeof eventLimit !== 'number') { - this.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set - } - - if (!isAuto && setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars? - - compensateScroll(this.headRowEl, getScrollbarWidths(this.scrollerEl)); - - // doing the scrollbar compensation might have created text overflow which created more height. redo - scrollerHeight = this.computeScrollerHeight(totalHeight); - this.scrollerEl.height(scrollerHeight); - } - }, - - - // Sets the height of just the DayGrid component in this view - setGridHeight: function(height, isAuto) { - if (isAuto) { - undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding - } - else { - distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows - } - }, - - - /* Events - ------------------------------------------------------------------------------------------------------------------*/ - - - // Renders the given events onto the view and populates the segments array - renderEvents: function(events) { - this.dayGrid.renderEvents(events); - - this.updateHeight(); // must compensate for events that overflow the row - }, - - - // Retrieves all segment objects that are rendered in the view - getEventSegs: function() { - return this.dayGrid.getEventSegs(); - }, - - - // Unrenders all event elements and clears internal segment data - destroyEvents: function() { - this.dayGrid.destroyEvents(); - - // we DON'T need to call updateHeight() because: - // A) a renderEvents() call always happens after this, which will eventually call updateHeight() - // B) in IE8, this causes a flash whenever events are rerendered - }, - - - /* Dragging (for both events and external elements) - ------------------------------------------------------------------------------------------------------------------*/ - - - // A returned value of `true` signals that a mock "helper" event has been rendered. - renderDrag: function(dropLocation, seg) { - return this.dayGrid.renderDrag(dropLocation, seg); - }, - - - destroyDrag: function() { - this.dayGrid.destroyDrag(); - }, - - - /* Selection - ------------------------------------------------------------------------------------------------------------------*/ - - - // Renders a visual indication of a selection - renderSelection: function(range) { - this.dayGrid.renderSelection(range); - }, - - - // Unrenders a visual indications of a selection - destroySelection: function() { - this.dayGrid.destroySelection(); - } - -}); - -;; - -/* A month view with day cells running in rows (one-per-week) and columns -----------------------------------------------------------------------------------------------------------------------*/ - -var MonthView = fcViews.month = BasicView.extend({ - - // Produces information about what range to display - computeRange: function(date) { - var range = BasicView.prototype.computeRange.call(this, date); // get value from super-method - var rowCnt; - - // ensure 6 weeks - if (this.isFixedWeeks()) { - rowCnt = Math.ceil(range.end.diff(range.start, 'weeks', true)); // could be partial weeks due to hiddenDays - range.end.add(6 - rowCnt, 'weeks'); - } - - return range; - }, - - - // Overrides the default BasicView behavior to have special multi-week auto-height logic - setGridHeight: function(height, isAuto) { - - isAuto = isAuto || this.opt('weekMode') === 'variable'; // LEGACY: weekMode is deprecated - - // if auto, make the height of each row the height that it would be if there were 6 weeks - if (isAuto) { - height *= this.rowCnt / 6; - } - - distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows - }, - - - isFixedWeeks: function() { - var weekMode = this.opt('weekMode'); // LEGACY: weekMode is deprecated - if (weekMode) { - return weekMode === 'fixed'; // if any other type of weekMode, assume NOT fixed - } - - return this.opt('fixedWeekCount'); - } - -}); - -MonthView.duration = { months: 1 }; // important for prev/next - -MonthView.defaults = { - fixedWeekCount: true -}; -;; - -/* A week view with simple day cells running horizontally -----------------------------------------------------------------------------------------------------------------------*/ - -fcViews.basicWeek = { - type: 'basic', - duration: { weeks: 1 } -}; -;; - -/* A view with a single simple day cell -----------------------------------------------------------------------------------------------------------------------*/ - -fcViews.basicDay = { - type: 'basic', - duration: { days: 1 } -}; -;; - -/* An abstract class for all agenda-related views. Displays one more columns with time slots running vertically. -----------------------------------------------------------------------------------------------------------------------*/ -// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on). -// Responsible for managing width/height. - -var AGENDA_DEFAULTS = { - allDaySlot: true, - allDayText: 'all-day', - scrollTime: '06:00:00', - slotDuration: '00:30:00', - minTime: '00:00:00', - maxTime: '24:00:00', - slotEventOverlap: true // a bad name. confused with overlap/constraint system -}; - -var AGENDA_ALL_DAY_EVENT_LIMIT = 5; - -var AgendaView = fcViews.agenda = View.extend({ - - timeGrid: null, // the main time-grid subcomponent of this view - dayGrid: null, // the "all-day" subcomponent. if all-day is turned off, this will be null - - axisWidth: null, // the width of the time axis running down the side - - noScrollRowEls: null, // set of fake row elements that must compensate when scrollerEl has scrollbars - - // when the time-grid isn't tall enough to occupy the given height, we render an
    underneath - bottomRuleEl: null, - bottomRuleHeight: null, - - - initialize: function() { - this.timeGrid = new TimeGrid(this); - - if (this.opt('allDaySlot')) { // should we display the "all-day" area? - this.dayGrid = new DayGrid(this); // the all-day subcomponent of this view - - // the coordinate grid will be a combination of both subcomponents' grids - this.coordMap = new ComboCoordMap([ - this.dayGrid.coordMap, - this.timeGrid.coordMap - ]); - } - else { - this.coordMap = this.timeGrid.coordMap; - } - }, - - - /* Rendering - ------------------------------------------------------------------------------------------------------------------*/ - - - // Sets the display range and computes all necessary dates - setRange: function(range) { - View.prototype.setRange.call(this, range); // call the super-method - - this.timeGrid.setRange(range); - if (this.dayGrid) { - this.dayGrid.setRange(range); - } - }, - - - // Renders the view into `this.el`, which has already been assigned - render: function() { - - this.el.addClass('fc-agenda-view').html(this.renderHtml()); - - // the element that wraps the time-grid that will probably scroll - this.scrollerEl = this.el.find('.fc-time-grid-container'); - this.timeGrid.coordMap.containerEl = this.scrollerEl; // don't accept clicks/etc outside of this - - this.timeGrid.setElement(this.el.find('.fc-time-grid')); - this.timeGrid.renderDates(); - - // the
    that sometimes displays under the time-grid - this.bottomRuleEl = $('
    ') - .appendTo(this.timeGrid.el); // inject it into the time-grid - - if (this.dayGrid) { - this.dayGrid.setElement(this.el.find('.fc-day-grid')); - this.dayGrid.renderDates(); - - // have the day-grid extend it's coordinate area over the
    dividing the two grids - this.dayGrid.bottomCoordPadding = this.dayGrid.el.next('hr').outerHeight(); - } - - this.noScrollRowEls = this.el.find('.fc-row:not(.fc-scroller *)'); // fake rows not within the scroller - }, - - - // Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering, - // always completely kill each grid's rendering. - destroy: function() { - this.timeGrid.destroyDates(); - this.timeGrid.removeElement(); - - if (this.dayGrid) { - this.dayGrid.destroyDates(); - this.dayGrid.removeElement(); - } - }, - - - renderBusinessHours: function() { - this.timeGrid.renderBusinessHours(); - - if (this.dayGrid) { - this.dayGrid.renderBusinessHours(); - } - }, - - - // Builds the HTML skeleton for the view. - // The day-grid and time-grid components will render inside containers defined by this HTML. - renderHtml: function() { - return '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
    ' + - this.timeGrid.headHtml() + // render the day-of-week headers - '
    ' + - (this.dayGrid ? - '
    ' + - '
    ' : - '' - ) + - '
    ' + - '
    ' + - '
    ' + - '
    '; - }, - - - // Generates the HTML that will go before the day-of week header cells. - // Queried by the TimeGrid subcomponent when generating rows. Ordering depends on isRTL. - headIntroHtml: function() { - var date; - var weekText; - - if (this.opt('weekNumbers')) { - date = this.timeGrid.getCell(0).start; - weekText = date.format(this.opt('smallWeekFormat')); - - return '' + - '' + - '' + // needed for matchCellWidths - htmlEscape(weekText) + - '' + - ''; - } - else { - return ''; - } - }, - - - // Generates the HTML that goes before the all-day cells. - // Queried by the DayGrid subcomponent when generating rows. Ordering depends on isRTL. - dayIntroHtml: function() { - return '' + - '' + - '' + // needed for matchCellWidths - (this.opt('allDayHtml') || htmlEscape(this.opt('allDayText'))) + - '' + - ''; - }, - - - // Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column. - slotBgIntroHtml: function() { - return ''; - }, - - - // Generates the HTML that goes before all other types of cells. - // Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid. - // Queried by the TimeGrid and DayGrid subcomponents when generating rows. Ordering depends on isRTL. - introHtml: function() { - return ''; - }, - - - // Generates an HTML attribute string for setting the width of the axis, if it is known - axisStyleAttr: function() { - if (this.axisWidth !== null) { - return 'style="width:' + this.axisWidth + 'px"'; - } - return ''; - }, - - - /* Dimensions - ------------------------------------------------------------------------------------------------------------------*/ - - - updateSize: function(isResize) { - this.timeGrid.updateSize(isResize); - - View.prototype.updateSize.call(this, isResize); // call the super-method - }, - - - // Refreshes the horizontal dimensions of the view - updateWidth: function() { - // make all axis cells line up, and record the width so newly created axis cells will have it - this.axisWidth = matchCellWidths(this.el.find('.fc-axis')); - }, - - - // Adjusts the vertical dimensions of the view to the specified values - setHeight: function(totalHeight, isAuto) { - var eventLimit; - var scrollerHeight; - - if (this.bottomRuleHeight === null) { - // calculate the height of the rule the very first time - this.bottomRuleHeight = this.bottomRuleEl.outerHeight(); - } - this.bottomRuleEl.hide(); // .show() will be called later if this
    is necessary - - // reset all dimensions back to the original state - this.scrollerEl.css('overflow', ''); - unsetScroller(this.scrollerEl); - uncompensateScroll(this.noScrollRowEls); - - // limit number of events in the all-day area - if (this.dayGrid) { - this.dayGrid.destroySegPopover(); // kill the "more" popover if displayed - - eventLimit = this.opt('eventLimit'); - if (eventLimit && typeof eventLimit !== 'number') { - eventLimit = AGENDA_ALL_DAY_EVENT_LIMIT; // make sure "auto" goes to a real number - } - if (eventLimit) { - this.dayGrid.limitRows(eventLimit); - } - } - - if (!isAuto) { // should we force dimensions of the scroll container, or let the contents be natural height? - - scrollerHeight = this.computeScrollerHeight(totalHeight); - if (setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars? - - // make the all-day and header rows lines up - compensateScroll(this.noScrollRowEls, getScrollbarWidths(this.scrollerEl)); - - // the scrollbar compensation might have changed text flow, which might affect height, so recalculate - // and reapply the desired height to the scroller. - scrollerHeight = this.computeScrollerHeight(totalHeight); - this.scrollerEl.height(scrollerHeight); - } - else { // no scrollbars - // still, force a height and display the bottom rule (marks the end of day) - this.scrollerEl.height(scrollerHeight).css('overflow', 'hidden'); // in case
    goes outside - this.bottomRuleEl.show(); - } - } - }, - - - // Computes the initial pre-configured scroll state prior to allowing the user to change it - computeInitialScroll: function() { - var scrollTime = moment.duration(this.opt('scrollTime')); - var top = this.timeGrid.computeTimeTop(scrollTime); - - // zoom can give weird floating-point values. rather scroll a little bit further - top = Math.ceil(top); - - if (top) { - top++; // to overcome top border that slots beyond the first have. looks better - } - - return top; - }, - - - /* Events - ------------------------------------------------------------------------------------------------------------------*/ - - - // Renders events onto the view and populates the View's segment array - renderEvents: function(events) { - var dayEvents = []; - var timedEvents = []; - var daySegs = []; - var timedSegs; - var i; - - // separate the events into all-day and timed - for (i = 0; i < events.length; i++) { - if (events[i].allDay) { - dayEvents.push(events[i]); - } - else { - timedEvents.push(events[i]); - } - } - - // render the events in the subcomponents - timedSegs = this.timeGrid.renderEvents(timedEvents); - if (this.dayGrid) { - daySegs = this.dayGrid.renderEvents(dayEvents); - } - - // the all-day area is flexible and might have a lot of events, so shift the height - this.updateHeight(); - }, - - - // Retrieves all segment objects that are rendered in the view - getEventSegs: function() { - return this.timeGrid.getEventSegs().concat( - this.dayGrid ? this.dayGrid.getEventSegs() : [] - ); - }, - - - // Unrenders all event elements and clears internal segment data - destroyEvents: function() { - - // destroy the events in the subcomponents - this.timeGrid.destroyEvents(); - if (this.dayGrid) { - this.dayGrid.destroyEvents(); - } - - // we DON'T need to call updateHeight() because: - // A) a renderEvents() call always happens after this, which will eventually call updateHeight() - // B) in IE8, this causes a flash whenever events are rerendered - }, - - - /* Dragging (for events and external elements) - ------------------------------------------------------------------------------------------------------------------*/ - - - // A returned value of `true` signals that a mock "helper" event has been rendered. - renderDrag: function(dropLocation, seg) { - if (dropLocation.start.hasTime()) { - return this.timeGrid.renderDrag(dropLocation, seg); - } - else if (this.dayGrid) { - return this.dayGrid.renderDrag(dropLocation, seg); - } - }, - - - destroyDrag: function() { - this.timeGrid.destroyDrag(); - if (this.dayGrid) { - this.dayGrid.destroyDrag(); - } - }, - - - /* Selection - ------------------------------------------------------------------------------------------------------------------*/ - - - // Renders a visual indication of a selection - renderSelection: function(range) { - if (range.start.hasTime() || range.end.hasTime()) { - this.timeGrid.renderSelection(range); - } - else if (this.dayGrid) { - this.dayGrid.renderSelection(range); - } - }, - - - // Unrenders a visual indications of a selection - destroySelection: function() { - this.timeGrid.destroySelection(); - if (this.dayGrid) { - this.dayGrid.destroySelection(); - } - } - -}); - -AgendaView.defaults = AGENDA_DEFAULTS; - -;; - -/* A week view with an all-day cell area at the top, and a time grid below -----------------------------------------------------------------------------------------------------------------------*/ - -fcViews.agendaWeek = { - type: 'agenda', - duration: { weeks: 1 } -}; -;; - -/* A day view with an all-day cell area at the top, and a time grid below -----------------------------------------------------------------------------------------------------------------------*/ - -fcViews.agendaDay = { - type: 'agenda', - duration: { days: 1 } -}; -;; - -return fc; // export for Node/CommonJS -}); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("moment"),require("jquery")):"function"==typeof define&&define.amd?define(["moment","jquery"],e):"object"==typeof exports?exports.FullCalendar=e(require("moment"),require("jquery")):t.FullCalendar=e(t.moment,t.jQuery)}("undefined"!=typeof self?self:this,(function(t,e){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=256)}([function(e,n){e.exports=t},,function(t,e){var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};e.__extends=function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}},function(t,n){t.exports=e},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=n(3);function o(t){t.height("")}function s(t){var e,n=t[0].offsetWidth-t[0].clientWidth,r=t[0].offsetHeight-t[0].clientHeight;return n=a(n),e={left:0,right:0,top:0,bottom:r=a(r)},!function(){null===l&&(l=function(){var t=i("
    ").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),e=t.children().offset().left>t.offset().left;return t.remove(),e}());return l}()||"rtl"!==t.css("direction")?e.right=n:e.left=n,e}function a(t){return t=Math.max(0,t),t=Math.round(t)}e.compensateScroll=function(t,e){e.left&&t.css({"border-left-width":1,"margin-left":e.left-1}),e.right&&t.css({"border-right-width":1,"margin-right":e.right-1})},e.uncompensateScroll=function(t){t.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})},e.disableCursor=function(){i("body").addClass("fc-not-allowed")},e.enableCursor=function(){i("body").removeClass("fc-not-allowed")},e.distributeHeight=function(t,e,n){var r=Math.floor(e/t.length),s=Math.floor(e-r*(t.length-1)),a=[],l=[],u=[],d=0;o(t),t.each((function(e,n){var o=e===t.length-1?s:r,c=i(n).outerHeight(!0);c *").each((function(t,n){var r=i(n).outerWidth();r>e&&(e=r)})),e++,t.width(e),e},e.subtractInnerElHeight=function(t,e){var n,r=t.add(e);return r.css({position:"relative",left:-1}),n=t.outerHeight()-e.outerHeight(),r.css({position:"",left:""}),n},e.getScrollParent=function(t){var e=t.css("position"),n=t.parents().filter((function(){var t=i(this);return/(auto|scroll)/.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))})).eq(0);return"fixed"!==e&&n.length?n:i(t[0].ownerDocument||document)},e.getOuterRect=function(t,e){var n=t.offset(),r=n.left-(e?e.left:0),i=n.top-(e?e.top:0);return{left:r,right:r+t.outerWidth(),top:i,bottom:i+t.outerHeight()}},e.getClientRect=function(t,e){var n=t.offset(),r=s(t),i=n.left+u(t,"border-left-width")+r.left-(e?e.left:0),o=n.top+u(t,"border-top-width")+r.top-(e?e.top:0);return{left:i,right:i+t[0].clientWidth,top:o,bottom:o+t[0].clientHeight}},e.getContentRect=function(t,e){var n=t.offset(),r=n.left+u(t,"border-left-width")+u(t,"padding-left")-(e?e.left:0),i=n.top+u(t,"border-top-width")+u(t,"padding-top")-(e?e.top:0);return{left:r,right:r+t.width(),top:i,bottom:i+t.height()}},e.getScrollbarWidths=s;var l=null;function u(t,e){return parseFloat(t.css(e))||0}function d(t){t.preventDefault()}function c(t,e,n,r,i){if(n.func)return n.func(t,e);var o=t[n.field],s=e[n.field];return null==o&&r&&(o=r[n.field]),null==s&&i&&(s=i[n.field]),p(o,s)*(n.order||1)}function p(t,e){return t||e?null==e?-1:null==t?1:"string"===i.type(t)||"string"===i.type(e)?String(t).localeCompare(String(e)):t-e:0}function h(t,n){var r,i,o;for(r=0;r=1&&w(o));r++);return i}function f(t,e,n){return null!=n?n.diff(e,t,!0):r.isDuration(e)?e.as(t):e.end.diff(e.start,t,!0)}function g(t){return Boolean(t.hours()||t.minutes()||t.seconds()||t.milliseconds())}function v(){for(var t=[],e=0;e=1&&w(r)?e.diff(t,"months",!0)/r:e.diff(t,"days",!0)/n.asDays())},e.divideDurationByDuration=function(t,e){var n,r;return g(t)||g(e)?t/e:(n=t.asMonths(),r=e.asMonths(),Math.abs(n)>=1&&w(n)&&Math.abs(r)>=1&&w(r)?n/r:t.asDays()/e.asDays())},e.multiplyDuration=function(t,e){var n;return g(t)?r.duration(t*e):(n=t.asMonths(),Math.abs(n)>=1&&w(n)?r.duration({months:n*e}):r.duration({days:t.asDays()*e}))},e.durationHasTime=g,e.isNativeDate=function(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date},e.isTimeString=function(t){return"string"==typeof t&&/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t)},e.log=v,e.warn=function(){for(var t=[],e=0;e/g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
    ")}function w(t){return t%1==0}e.mergeProps=function t(e,n){var r,i,o,s,a,l,u={};if(n)for(r=0;r=0;s--)if("object"==typeof(a=e[s][i]))o.unshift(a);else if(void 0!==a){u[i]=a;break}o.length&&(u[i]=t(o))}for(r=e.length-1;r>=0;r--)for(i in l=e[r])i in u||(u[i]=l[i]);return u},e.copyOwnProps=function(t,e){for(var n in t)m(t,n)&&(e[n]=t[n])},e.hasOwnProp=m,e.applyAll=function(t,e,n){if(i.isFunction(t)&&(t=[t]),t){var r=void 0,o=void 0;for(r=0;ra&&o.push(new t(a,i.startMs)),i.endMs>a&&(a=i.endMs);return at.startMs)&&(null==this.startMs||null==t.endMs||this.startMs=this.startMs)&&(null==this.endMs||null!=t.endMs&&t.endMs<=this.endMs)},t.prototype.containsDate=function(t){var e=t.valueOf();return(null==this.startMs||e>=this.startMs)&&(null==this.endMs||e=this.endMs&&(e=this.endMs-1),e},t.prototype.equals=function(t){return this.startMs===t.startMs&&this.endMs===t.endMs},t.prototype.clone=function(){var e=new t(this.startMs,this.endMs);return e.isStart=this.isStart,e.isEnd=this.isEnd,e},t.prototype.getStart=function(){return null!=this.startMs?i.default.utc(this.startMs).stripZone():null},t.prototype.getEnd=function(){return null!=this.endMs?i.default.utc(this.endMs).stripZone():null},t.prototype.as=function(t){return r.utc(this.endMs).diff(r.utc(this.startMs),t,!0)},t}();function s(t,e){return t.startMs-e.startMs}e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(52),s=n(35),a=n(36),l=function(t){function e(n){var r=t.call(this)||this;return r.calendar=n,r.className=[],r.uid=String(e.uuid++),r}return r.__extends(e,t),e.parse=function(t,e){var n=new this(e);return!("object"!=typeof t||!n.applyProps(t))&&n},e.normalizeId=function(t){return t?String(t):null},e.prototype.fetch=function(t,e,n){},e.prototype.removeEventDefsById=function(t){},e.prototype.removeAllEventDefs=function(){},e.prototype.getPrimitive=function(t){},e.prototype.parseEventDefs=function(t){var e,n,r=[];for(e=0;e0},e}(n(15).default);e.default=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.view=t._getView(),this.component=t}return t.prototype.opt=function(t){return this.view.opt(t)},t.prototype.end=function(){},t}();e.default=n},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){}return t.mixInto=function(t){var e=this;Object.getOwnPropertyNames(this.prototype).forEach((function(n){t.prototype[n]||(t.prototype[n]=e.prototype[n])}))},t.mixOver=function(t){var e=this;Object.getOwnPropertyNames(this.prototype).forEach((function(n){t.prototype[n]=e.prototype[n]}))},t}();e.default=n},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(5),i=function(){function t(t,e,n){this.start=t,this.end=e||null,this.unzonedRange=this.buildUnzonedRange(n)}return t.parse=function(e,n){var r=e.start||e.date,i=e.end;if(!r)return!1;var o=n.calendar,s=o.moment(r),a=i?o.moment(i):null,l=e.allDay,u=o.opt("forceEventDuration");return!!s.isValid()&&(null==l&&null==(l=n.allDayDefault)&&(l=o.opt("allDayDefault")),!0===l?(s.stripTime(),a&&a.stripTime()):!1===l&&(s.hasTime()||s.time(0),a&&!a.hasTime()&&a.time(0)),!a||a.isValid()&&a.isAfter(s)||(a=null),!a&&u&&(a=o.getDefaultEventEnd(!s.hasTime(),s)),new t(s,a,o))},t.isStandardProp=function(t){return"start"===t||"date"===t||"end"===t||"allDay"===t},t.prototype.isAllDay=function(){return!(this.start.hasTime()||this.end&&this.end.hasTime())},t.prototype.buildUnzonedRange=function(t){var e=this.start.clone().stripZone().valueOf(),n=this.getEnd(t).stripZone().valueOf();return new r.default(e,n)},t.prototype.getEnd=function(t){return this.end?this.end.clone():t.getDefaultEventEnd(this.isAllDay(),this.start)},t}();e.default=i},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(4),o=function(t){function e(e,n){var r=t.call(this,n)||this;return r.component=e,r}return r.__extends(e,t),e.prototype.handleInteractionStart=function(e){var n,r,o,s=this.subjectEl;this.component.hitsNeeded(),this.computeScrollBounds(),e?(o=r={left:i.getEvX(e),top:i.getEvY(e)},s&&(n=i.getOuterRect(s),o=i.constrainPoint(o,n)),this.origHit=this.queryHit(o.left,o.top),s&&this.options.subjectCenter&&(this.origHit&&(n=i.intersectRects(this.origHit,n)||n),o=i.getRectCenter(n)),this.coordAdjust=i.diffPoints(o,r)):(this.origHit=null,this.coordAdjust=null),t.prototype.handleInteractionStart.call(this,e)},e.prototype.handleDragStart=function(e){var n;t.prototype.handleDragStart.call(this,e),(n=this.queryHit(i.getEvX(e),i.getEvY(e)))&&this.handleHitOver(n)},e.prototype.handleDrag=function(e,n,r){var o;t.prototype.handleDrag.call(this,e,n,r),s(o=this.queryHit(i.getEvX(r),i.getEvY(r)),this.hit)||(this.hit&&this.handleHitOut(),o&&this.handleHitOver(o))},e.prototype.handleDragEnd=function(e){this.handleHitDone(),t.prototype.handleDragEnd.call(this,e)},e.prototype.handleHitOver=function(t){var e=s(t,this.origHit);this.hit=t,this.trigger("hitOver",this.hit,e,this.origHit)},e.prototype.handleHitOut=function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},e.prototype.handleHitDone=function(){this.hit&&this.trigger("hitDone",this.hit)},e.prototype.handleInteractionEnd=function(e,n){t.prototype.handleInteractionEnd.call(this,e,n),this.origHit=null,this.hit=null,this.component.hitsNotNeeded()},e.prototype.handleScrollEnd=function(){t.prototype.handleScrollEnd.call(this),this.isDragging&&(this.component.releaseHits(),this.component.prepareHits())},e.prototype.queryHit=function(t,e){return this.coordAdjust&&(t+=this.coordAdjust.left,e+=this.coordAdjust.top),this.component.queryHit(t,e)},e}(n(59).default);function s(t,e){return!t&&!e||!(!t||!e)&&(t.component===e.component&&a(t,e)&&a(e,t))}function a(t,e){for(var n in t)if(!/^(component|left|right|top|bottom)$/.test(n)&&t[n]!==e[n])return!1;return!0}e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.version="3.10.2",e.internalApiVersion=12;var r=n(4);e.applyAll=r.applyAll,e.debounce=r.debounce,e.isInt=r.isInt,e.htmlEscape=r.htmlEscape,e.cssToStr=r.cssToStr,e.proxy=r.proxy,e.capitaliseFirstLetter=r.capitaliseFirstLetter,e.getOuterRect=r.getOuterRect,e.getClientRect=r.getClientRect,e.getContentRect=r.getContentRect,e.getScrollbarWidths=r.getScrollbarWidths,e.preventDefault=r.preventDefault,e.parseFieldSpecs=r.parseFieldSpecs,e.compareByFieldSpecs=r.compareByFieldSpecs,e.compareByFieldSpec=r.compareByFieldSpec,e.flexibleCompare=r.flexibleCompare,e.computeGreatestUnit=r.computeGreatestUnit,e.divideRangeByDuration=r.divideRangeByDuration,e.divideDurationByDuration=r.divideDurationByDuration,e.multiplyDuration=r.multiplyDuration,e.durationHasTime=r.durationHasTime,e.log=r.log,e.warn=r.warn,e.removeExact=r.removeExact,e.intersectRects=r.intersectRects,e.allowSelection=r.allowSelection,e.attrsToStr=r.attrsToStr,e.compareNumbers=r.compareNumbers,e.compensateScroll=r.compensateScroll,e.computeDurationGreatestUnit=r.computeDurationGreatestUnit,e.constrainPoint=r.constrainPoint,e.copyOwnProps=r.copyOwnProps,e.diffByUnit=r.diffByUnit,e.diffDay=r.diffDay,e.diffDayTime=r.diffDayTime,e.diffPoints=r.diffPoints,e.disableCursor=r.disableCursor,e.distributeHeight=r.distributeHeight,e.enableCursor=r.enableCursor,e.firstDefined=r.firstDefined,e.getEvIsTouch=r.getEvIsTouch,e.getEvX=r.getEvX,e.getEvY=r.getEvY,e.getRectCenter=r.getRectCenter,e.getScrollParent=r.getScrollParent,e.hasOwnProp=r.hasOwnProp,e.isArraysEqual=r.isArraysEqual,e.isNativeDate=r.isNativeDate,e.isPrimaryMouseButton=r.isPrimaryMouseButton,e.isTimeString=r.isTimeString,e.matchCellWidths=r.matchCellWidths,e.mergeProps=r.mergeProps,e.preventSelection=r.preventSelection,e.removeMatching=r.removeMatching,e.stripHtmlEntities=r.stripHtmlEntities,e.subtractInnerElHeight=r.subtractInnerElHeight,e.uncompensateScroll=r.uncompensateScroll,e.undistributeHeight=r.undistributeHeight,e.dayIDs=r.dayIDs,e.unitsDesc=r.unitsDesc;var i=n(49);e.formatDate=i.formatDate,e.formatRange=i.formatRange,e.queryMostGranularFormatUnit=i.queryMostGranularFormatUnit;var o=n(32);e.datepickerLocale=o.datepickerLocale,e.locale=o.locale,e.getMomentLocaleData=o.getMomentLocaleData,e.populateInstanceComputableOptions=o.populateInstanceComputableOptions;var s=n(19);e.eventDefsToEventInstances=s.eventDefsToEventInstances,e.eventFootprintToComponentFootprint=s.eventFootprintToComponentFootprint,e.eventInstanceToEventRange=s.eventInstanceToEventRange,e.eventInstanceToUnzonedRange=s.eventInstanceToUnzonedRange,e.eventRangeToEventFootprint=s.eventRangeToEventFootprint;var a=n(11);e.moment=a.default;var l=n(13);e.EmitterMixin=l.default;var u=n(7);e.ListenerMixin=u.default;var d=n(51);e.Model=d.default;var c=n(217);e.Constraints=c.default;var p=n(55);e.DateProfileGenerator=p.default;var h=n(5);e.UnzonedRange=h.default;var f=n(12);e.ComponentFootprint=f.default;var g=n(218);e.BusinessHourGenerator=g.default;var v=n(219);e.EventPeriod=v.default;var y=n(220);e.EventManager=y.default;var m=n(37);e.EventDef=m.default;var b=n(39);e.EventDefMutation=b.default;var w=n(36);e.EventDefParser=w.default;var D=n(53);e.EventInstance=D.default;var E=n(50);e.EventRange=E.default;var S=n(54);e.RecurringEventDef=S.default;var C=n(9);e.SingleEventDef=C.default;var R=n(40);e.EventDefDateMutation=R.default;var T=n(16);e.EventDateProfile=T.default;var M=n(38);e.EventSourceParser=M.default;var I=n(6);e.EventSource=I.default;var H=n(57);e.defineThemeSystem=H.defineThemeSystem,e.getThemeSystemClass=H.getThemeSystemClass;var P=n(20);e.EventInstanceGroup=P.default;var _=n(56);e.ArrayEventSource=_.default;var x=n(223);e.FuncEventSource=x.default;var O=n(224);e.JsonFeedEventSource=O.default;var F=n(34);e.EventFootprint=F.default;var z=n(35);e.Class=z.default;var B=n(15);e.Mixin=B.default;var A=n(58);e.CoordCache=A.default;var k=n(225);e.Iterator=k.default;var L=n(59);e.DragListener=L.default;var V=n(17);e.HitDragListener=V.default;var G=n(226);e.MouseFollower=G.default;var N=n(52);e.ParsableModelMixin=N.default;var j=n(227);e.Popover=j.default;var U=n(21);e.Promise=U.default;var W=n(228);e.TaskQueue=W.default;var q=n(229);e.RenderQueue=q.default;var Y=n(41);e.Scroller=Y.default;var Z=n(22);e.Theme=Z.default;var X=n(230);e.Component=X.default;var Q=n(231);e.DateComponent=Q.default;var $=n(42);e.InteractiveDateComponent=$.default;var K=n(232);e.Calendar=K.default;var J=n(43);e.View=J.default;var tt=n(24);e.defineView=tt.defineView,e.getViewConfig=tt.getViewConfig;var et=n(60);e.DayTableMixin=et.default;var nt=n(61);e.BusinessHourRenderer=nt.default;var rt=n(44);e.EventRenderer=rt.default;var it=n(62);e.FillRenderer=it.default;var ot=n(63);e.HelperRenderer=ot.default;var st=n(233);e.ExternalDropping=st.default;var at=n(234);e.EventResizing=at.default;var lt=n(64);e.EventPointing=lt.default;var ut=n(235);e.EventDragging=ut.default;var dt=n(236);e.DateSelecting=dt.default;var ct=n(237);e.DateClicking=ct.default;var pt=n(14);e.Interaction=pt.default;var ht=n(65);e.StandardInteractionsMixin=ht.default;var ft=n(238);e.AgendaView=ft.default;var gt=n(239);e.TimeGrid=gt.default;var vt=n(240);e.TimeGridEventRenderer=vt.default;var yt=n(242);e.TimeGridFillRenderer=yt.default;var mt=n(241);e.TimeGridHelperRenderer=mt.default;var bt=n(66);e.DayGrid=bt.default;var wt=n(243);e.DayGridEventRenderer=wt.default;var Dt=n(245);e.DayGridFillRenderer=Dt.default;var Et=n(244);e.DayGridHelperRenderer=Et.default;var St=n(67);e.BasicView=St.default;var Ct=n(68);e.BasicViewDateProfileGenerator=Ct.default;var Rt=n(246);e.MonthView=Rt.default;var Tt=n(247);e.MonthViewDateProfileGenerator=Tt.default;var Mt=n(248);e.ListView=Mt.default;var It=n(250);e.ListEventPointing=It.default;var Ht=n(249);e.ListEventRenderer=Ht.default},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(50),i=n(34),o=n(12);e.eventDefsToEventInstances=function(t,e){var n,r=[];for(n=0;n
    ')},e.prototype.clear=function(){this.setHeight("auto"),this.applyOverflow()},e.prototype.destroy=function(){this.el.remove()},e.prototype.applyOverflow=function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},e.prototype.lockOverflow=function(t){var e=this.overflowX,n=this.overflowY;t=t||this.getScrollbarWidths(),"auto"===e&&(e=t.top||t.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===n&&(n=t.left||t.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":e,"overflow-y":n})},e.prototype.setHeight=function(t){this.scrollEl.height(t)},e.prototype.getScrollTop=function(){return this.scrollEl.scrollTop()},e.prototype.setScrollTop=function(t){this.scrollEl.scrollTop(t)},e.prototype.getClientWidth=function(){return this.scrollEl[0].clientWidth},e.prototype.getClientHeight=function(){return this.scrollEl[0].clientHeight},e.prototype.getScrollbarWidths=function(){return o.getScrollbarWidths(this.scrollEl)},e}(n(35).default);e.default=s},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(4),s=n(231),a=n(23),l=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.segSelector=".fc-event-container > *",r.dateSelectingClass&&(r.dateClicking=new r.dateClickingClass(r)),r.dateSelectingClass&&(r.dateSelecting=new r.dateSelectingClass(r)),r.eventPointingClass&&(r.eventPointing=new r.eventPointingClass(r)),r.eventDraggingClass&&r.eventPointing&&(r.eventDragging=new r.eventDraggingClass(r,r.eventPointing)),r.eventResizingClass&&r.eventPointing&&(r.eventResizing=new r.eventResizingClass(r,r.eventPointing)),r.externalDroppingClass&&(r.externalDropping=new r.externalDroppingClass(r)),r}return r.__extends(e,t),e.prototype.setElement=function(e){t.prototype.setElement.call(this,e),this.dateClicking&&this.dateClicking.bindToEl(e),this.dateSelecting&&this.dateSelecting.bindToEl(e),this.bindAllSegHandlersToEl(e)},e.prototype.removeElement=function(){this.endInteractions(),t.prototype.removeElement.call(this)},e.prototype.executeEventUnrender=function(){this.endInteractions(),t.prototype.executeEventUnrender.call(this)},e.prototype.bindGlobalHandlers=function(){t.prototype.bindGlobalHandlers.call(this),this.externalDropping&&this.externalDropping.bindToDocument()},e.prototype.unbindGlobalHandlers=function(){t.prototype.unbindGlobalHandlers.call(this),this.externalDropping&&this.externalDropping.unbindFromDocument()},e.prototype.bindDateHandlerToEl=function(t,e,n){var r=this;this.el.on(e,(function(t){if(!i(t.target).is(r.segSelector+":not(.fc-helper),"+r.segSelector+":not(.fc-helper) *,.fc-more,a[data-goto]"))return n.call(r,t)}))},e.prototype.bindAllSegHandlersToEl=function(t){[this.eventPointing,this.eventDragging,this.eventResizing].forEach((function(e){e&&e.bindToEl(t)}))},e.prototype.bindSegHandlerToEl=function(t,e,n){var r=this;t.on(e,this.segSelector,(function(t){var e=i(t.currentTarget);if(!e.is(".fc-helper")){var o=e.data("fc-seg");if(o&&!r.shouldIgnoreEventPointing())return n.call(r,o,t)}}))},e.prototype.shouldIgnoreMouse=function(){return a.default.get().shouldIgnoreMouse()},e.prototype.shouldIgnoreTouch=function(){var t=this._getView();return t.isSelected||t.selectedEvent},e.prototype.shouldIgnoreEventPointing=function(){return this.eventDragging&&this.eventDragging.isDragging||this.eventResizing&&this.eventResizing.isResizing},e.prototype.canStartSelection=function(t,e){return o.getEvIsTouch(e)&&!this.canStartResize(t,e)&&(this.isEventDefDraggable(t.footprint.eventDef)||this.isEventDefResizable(t.footprint.eventDef))},e.prototype.canStartDrag=function(t,e){return!this.canStartResize(t,e)&&this.isEventDefDraggable(t.footprint.eventDef)},e.prototype.canStartResize=function(t,e){var n=this._getView(),r=t.footprint.eventDef;return(!o.getEvIsTouch(e)||n.isEventDefSelected(r))&&this.isEventDefResizable(r)&&i(e.target).is(".fc-resizer")},e.prototype.endInteractions=function(){[this.dateClicking,this.dateSelecting,this.eventPointing,this.eventDragging,this.eventResizing].forEach((function(t){t&&t.end()}))},e.prototype.isEventDefDraggable=function(t){return this.isEventDefStartEditable(t)},e.prototype.isEventDefStartEditable=function(t){var e=t.isStartExplicitlyEditable();return null==e&&null==(e=this.opt("eventStartEditable"))&&(e=this.isEventDefGenerallyEditable(t)),e},e.prototype.isEventDefGenerallyEditable=function(t){var e=t.isExplicitlyEditable();return null==e&&(e=this.opt("editable")),e},e.prototype.isEventDefResizableFromStart=function(t){return this.opt("eventResizableFromStart")&&this.isEventDefResizable(t)},e.prototype.isEventDefResizableFromEnd=function(t){return this.isEventDefResizable(t)},e.prototype.isEventDefResizable=function(t){var e=t.isDurationExplicitlyEditable();return null==e&&null==(e=this.opt("eventDurationEditable"))&&(e=this.isEventDefGenerallyEditable(t)),e},e.prototype.diffDates=function(t,e){return this.largeUnit?o.diffByUnit(t,e,this.largeUnit):o.diffDayTime(t,e)},e.prototype.isEventInstanceGroupAllowed=function(t){var e,n=this._getView(),r=this.dateProfile,i=this.eventRangesToEventFootprints(t.getAllEventRanges());for(e=0;e1?"ll":"LL"},e.prototype.setDate=function(t){var e=this.get("dateProfile"),n=this.dateProfileGenerator.build(t,void 0,!0);e&&e.activeUnzonedRange.equals(n.activeUnzonedRange)||this.set("dateProfile",n)},e.prototype.unsetDate=function(){this.unset("dateProfile")},e.prototype.fetchInitialEvents=function(t){var e=this.calendar,n=t.isRangeAllDay&&!this.usesMinMaxTime;return e.requestEvents(e.msToMoment(t.activeUnzonedRange.startMs,n),e.msToMoment(t.activeUnzonedRange.endMs,n))},e.prototype.bindEventChanges=function(){this.listenTo(this.calendar,"eventsReset",this.resetEvents)},e.prototype.unbindEventChanges=function(){this.stopListeningTo(this.calendar,"eventsReset")},e.prototype.setEvents=function(t){this.set("currentEvents",t),this.set("hasEvents",!0)},e.prototype.unsetEvents=function(){this.unset("currentEvents"),this.unset("hasEvents")},e.prototype.resetEvents=function(t){this.startBatchRender(),this.unsetEvents(),this.setEvents(t),this.stopBatchRender()},e.prototype.requestDateRender=function(t){var e=this;this.requestRender((function(){e.executeDateRender(t)}),"date","init")},e.prototype.requestDateUnrender=function(){var t=this;this.requestRender((function(){t.executeDateUnrender()}),"date","destroy")},e.prototype.executeDateRender=function(e){t.prototype.executeDateRender.call(this,e),this.render&&this.render(),this.trigger("datesRendered"),this.addScroll({isDateInit:!0}),this.startNowIndicator()},e.prototype.executeDateUnrender=function(){this.unselect(),this.stopNowIndicator(),this.trigger("before:datesUnrendered"),this.destroy&&this.destroy(),t.prototype.executeDateUnrender.call(this)},e.prototype.bindBaseRenderHandlers=function(){var t=this;this.on("datesRendered",(function(){t.whenSizeUpdated(t.triggerViewRender)})),this.on("before:datesUnrendered",(function(){t.triggerViewDestroy()}))},e.prototype.triggerViewRender=function(){this.publiclyTrigger("viewRender",{context:this,args:[this,this.el]})},e.prototype.triggerViewDestroy=function(){this.publiclyTrigger("viewDestroy",{context:this,args:[this,this.el]})},e.prototype.requestEventsRender=function(t){var e=this;this.requestRender((function(){e.executeEventRender(t),e.whenSizeUpdated(e.triggerAfterEventsRendered)}),"event","init")},e.prototype.requestEventsUnrender=function(){var t=this;this.requestRender((function(){t.triggerBeforeEventsDestroyed(),t.executeEventUnrender()}),"event","destroy")},e.prototype.requestBusinessHoursRender=function(t){var e=this;this.requestRender((function(){e.renderBusinessHours(t)}),"businessHours","init")},e.prototype.requestBusinessHoursUnrender=function(){var t=this;this.requestRender((function(){t.unrenderBusinessHours()}),"businessHours","destroy")},e.prototype.bindGlobalHandlers=function(){t.prototype.bindGlobalHandlers.call(this),this.listenTo(d.default.get(),{touchstart:this.processUnselect,mousedown:this.handleDocumentMousedown})},e.prototype.unbindGlobalHandlers=function(){t.prototype.unbindGlobalHandlers.call(this),this.stopListeningTo(d.default.get())},e.prototype.startNowIndicator=function(){var t,e,n,r=this;this.opt("nowIndicator")&&(t=this.getNowIndicatorUnit())&&(e=s.proxy(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=(new Date).valueOf(),n=this.initialNowDate.clone().startOf(t).add(1,t).valueOf()-this.initialNowDate.valueOf(),this.nowIndicatorTimeoutID=setTimeout((function(){r.nowIndicatorTimeoutID=null,e(),n=+o.duration(1,t),n=Math.max(100,n),r.nowIndicatorIntervalID=setInterval(e,n)}),n))},e.prototype.updateNowIndicator=function(){this.isDatesRendered&&this.initialNowDate&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add((new Date).valueOf()-this.initialNowQueriedMs)),this.isNowIndicatorRendered=!0)},e.prototype.stopNowIndicator=function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearInterval(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},e.prototype.updateSize=function(e,n,r){this.setHeight?this.setHeight(e,n):t.prototype.updateSize.call(this,e,n,r),this.updateNowIndicator()},e.prototype.addScroll=function(t){var e=this.queuedScroll||(this.queuedScroll={});i.extend(e,t)},e.prototype.popScroll=function(){this.applyQueuedScroll(),this.queuedScroll=null},e.prototype.applyQueuedScroll=function(){this.queuedScroll&&this.applyScroll(this.queuedScroll)},e.prototype.queryScroll=function(){var t={};return this.isDatesRendered&&i.extend(t,this.queryDateScroll()),t},e.prototype.applyScroll=function(t){t.isDateInit&&this.isDatesRendered&&i.extend(t,this.computeInitialDateScroll()),this.isDatesRendered&&this.applyDateScroll(t)},e.prototype.computeInitialDateScroll=function(){return{}},e.prototype.queryDateScroll=function(){return{}},e.prototype.applyDateScroll=function(t){},e.prototype.reportEventDrop=function(t,e,n,r){var i=this.calendar.eventManager.mutateEventsWithId(t.def.id,e),s=e.dateMutation;s&&(t.dateProfile=s.buildNewDateProfile(t.dateProfile,this.calendar)),this.triggerEventDrop(t,s&&s.dateDelta||o.duration(),i,n,r)},e.prototype.triggerEventDrop=function(t,e,n,r,i){this.publiclyTrigger("eventDrop",{context:r[0],args:[t.toLegacy(),e,n,i,{},this]})},e.prototype.reportExternalDrop=function(t,e,n,r,i,o){e&&this.calendar.eventManager.addEventDef(t,n),this.triggerExternalDrop(t,e,r,i,o)},e.prototype.triggerExternalDrop=function(t,e,n,r,i){this.publiclyTrigger("drop",{context:n[0],args:[t.dateProfile.start.clone(),r,i,this]}),e&&this.publiclyTrigger("eventReceive",{context:this,args:[t.buildInstance().toLegacy(),this]})},e.prototype.reportEventResize=function(t,e,n,r){var i=this.calendar.eventManager.mutateEventsWithId(t.def.id,e);t.dateProfile=e.dateMutation.buildNewDateProfile(t.dateProfile,this.calendar);var o=e.dateMutation.endDelta||e.dateMutation.startDelta;this.triggerEventResize(t,o,i,n,r)},e.prototype.triggerEventResize=function(t,e,n,r,i){this.publiclyTrigger("eventResize",{context:r[0],args:[t.toLegacy(),e,n,i,{},this]})},e.prototype.select=function(t,e){this.unselect(e),this.renderSelectionFootprint(t),this.reportSelection(t,e)},e.prototype.renderSelectionFootprint=function(e){this.renderSelection?this.renderSelection(e.toLegacy(this.calendar)):t.prototype.renderSelectionFootprint.call(this,e)},e.prototype.reportSelection=function(t,e){this.isSelected=!0,this.triggerSelect(t,e)},e.prototype.triggerSelect=function(t,e){var n=this.calendar.footprintToDateProfile(t);this.publiclyTrigger("select",{context:this,args:[n.start,n.end,e,this]})},e.prototype.unselect=function(t){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.publiclyTrigger("unselect",{context:this,args:[t,this]}))},e.prototype.selectEventInstance=function(t){this.selectedEventInstance&&this.selectedEventInstance===t||(this.unselectEventInstance(),this.getEventSegs().forEach((function(e){e.footprint.eventInstance===t&&e.el&&e.el.addClass("fc-selected")})),this.selectedEventInstance=t)},e.prototype.unselectEventInstance=function(){this.selectedEventInstance&&(this.getEventSegs().forEach((function(t){t.el&&t.el.removeClass("fc-selected")})),this.selectedEventInstance=null)},e.prototype.isEventDefSelected=function(t){return this.selectedEventInstance&&this.selectedEventInstance.def.id===t.id},e.prototype.handleDocumentMousedown=function(t){s.isPrimaryMouseButton(t)&&this.processUnselect(t)},e.prototype.processUnselect=function(t){this.processRangeUnselect(t),this.processEventUnselect(t)},e.prototype.processRangeUnselect=function(t){var e;this.isSelected&&this.opt("unselectAuto")&&((e=this.opt("unselectCancel"))&&i(t.target).closest(e).length||this.unselect(t))},e.prototype.processEventUnselect=function(t){this.selectedEventInstance&&(i(t.target).closest(".fc-selected").length||this.unselectEventInstance())},e.prototype.triggerBaseRendered=function(){this.publiclyTrigger("viewRender",{context:this,args:[this,this.el]})},e.prototype.triggerBaseUnrendered=function(){this.publiclyTrigger("viewDestroy",{context:this,args:[this,this.el]})},e.prototype.triggerDayClick=function(t,e,n){var r=this.calendar.footprintToDateProfile(t);this.publiclyTrigger("dayClick",{context:e,args:[r.start,n,this]})},e.prototype.isDateInOtherMonth=function(t,e){return!1},e.prototype.getUnzonedRangeOption=function(t){var e=this.opt(t);if("function"==typeof e&&(e=e.apply(null,Array.prototype.slice.call(arguments,1))),e)return this.calendar.parseUnzonedRange(e)},e.prototype.initHiddenDays=function(){var t,e=this.opt("hiddenDays")||[],n=[],r=0;for(!1===this.opt("weekends")&&e.push(0,6),t=0;t<7;t++)(n[t]=-1!==i.inArray(t,e))||r++;if(!r)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n},e.prototype.trimHiddenDays=function(t){var e=t.getStart(),n=t.getEnd();return e&&(e=this.skipHiddenDays(e)),n&&(n=this.skipHiddenDays(n,-1,!0)),null===e||null===n||eo&&(!l[s]||u.isSame(d,l[s]))&&(s-1!==o||"."!==c[s]);s--)f=c[s]+f;for(a=o;a<=s;a++)y+=c[a],m+=p[a];(y||m)&&(b=i?m+r+y:y+r+m);return v(h+b+f)}(d(n=t.localeData().longDateFormat(n)||n),t,e,i||" - ",o)};var u={};function d(t){return u[t]||(u[t]=function(t){var e=c(t);return{fakeFormatString:h(e),sameUnits:f(e)}}(t))}function c(t){for(var e,n=[],r=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;e=r.exec(t);)e[1]?n.push.apply(n,p(e[1])):e[2]?n.push({maybe:c(e[2])}):e[3]?n.push({token:e[3]}):e[5]&&n.push.apply(n,p(e[5]));return n}function p(t){return". "===t?["."," "]:[t]}function h(t){var e,n,r=[];for(e=0;ei.value)&&(i=r);return i?i.unit:null}},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,n){this.unzonedRange=t,this.eventDef=e,n&&(this.eventInstance=n)};e.default=n},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(35),o=n(13),s=n(7),a=function(t){function e(){var e=t.call(this)||this;return e._watchers={},e._props={},e.applyGlobalWatchers(),e.constructed(),e}return r.__extends(e,t),e.watch=function(t){for(var e=[],n=1;n864e5&&i.time(n-864e5)),new o.default(r,i)},t.prototype.buildRangeFromDuration=function(t,e,n,s){var a,l,u,d,c,p=this.opt("dateAlignment");function h(){u=t.clone().startOf(p),d=u.clone().add(n),c=new o.default(u,d)}return p||((a=this.opt("dateIncrement"))?(l=r.duration(a),p=l0&&(t=this.els.eq(0).offsetParent()),this.origin=t?t.offset():null,this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},t.prototype.clear=function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},t.prototype.ensureBuilt=function(){this.origin||this.build()},t.prototype.buildElHorizontals=function(){var t=[],e=[];this.els.each((function(n,i){var o=r(i),s=o.offset().left,a=o.outerWidth();t.push(s),e.push(s+a)})),this.lefts=t,this.rights=e},t.prototype.buildElVerticals=function(){var t=[],e=[];this.els.each((function(n,i){var o=r(i),s=o.offset().top,a=o.outerHeight();t.push(s),e.push(s+a)})),this.tops=t,this.bottoms=e},t.prototype.getHorizontalIndex=function(t){this.ensureBuilt();var e,n=this.lefts,r=this.rights,i=n.length;for(e=0;e=n[e]&&t=n[e]&&t0&&!(t=i.getScrollParent(this.els.eq(0))).is(document)&&!t.is("html,body")?i.getClientRect(t):null},t.prototype.isPointInBounds=function(t,e){return this.isLeftInBounds(t)&&this.isTopInBounds(e)},t.prototype.isLeftInBounds=function(t){return!this.boundingRect||t>=this.boundingRect.left&&t=this.boundingRect.top&&t=r*r&&this.handleDistanceSurpassed(t),this.isDragging&&this.handleDrag(e,n,t)},t.prototype.handleDrag=function(t,e,n){this.trigger("drag",t,e,n),this.updateAutoScroll(n)},t.prototype.endDrag=function(t){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(t))},t.prototype.handleDragEnd=function(t){this.trigger("dragEnd",t)},t.prototype.startDelay=function(t){var e=this;this.delay?this.delayTimeoutId=setTimeout((function(){e.handleDelayEnd(t)}),this.delay):this.handleDelayEnd(t)},t.prototype.handleDelayEnd=function(t){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(t)},t.prototype.handleDistanceSurpassed=function(t){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(t)},t.prototype.handleTouchMove=function(t){this.isDragging&&this.shouldCancelTouchScroll&&t.preventDefault(),this.handleMove(t)},t.prototype.handleMouseMove=function(t){this.handleMove(t)},t.prototype.handleTouchScroll=function(t){this.isDragging&&!this.scrollAlwaysKills||this.endInteraction(t,!0)},t.prototype.trigger=function(t){for(var e=[],n=1;n=0&&e<=1?l=e*this.scrollSpeed*-1:n>=0&&n<=1&&(l=n*this.scrollSpeed),r>=0&&r<=1?u=r*this.scrollSpeed*-1:o>=0&&o<=1&&(u=o*this.scrollSpeed)),this.setScrollVel(l,u)},t.prototype.setScrollVel=function(t,e){this.scrollTopVel=t,this.scrollLeftVel=e,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(i.proxy(this,"scrollIntervalFunc"),this.scrollIntervalMs))},t.prototype.constrainScrollVel=function(){var t=this.scrollEl;this.scrollTopVel<0?t.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&t.scrollTop()+t[0].clientHeight>=t[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?t.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&t.scrollLeft()+t[0].clientWidth>=t[0].scrollWidth&&(this.scrollLeftVel=0)},t.prototype.scrollIntervalFunc=function(){var t=this.scrollEl,e=this.scrollIntervalMs/1e3;this.scrollTopVel&&t.scrollTop(t.scrollTop()+this.scrollTopVel*e),this.scrollLeftVel&&t.scrollLeft(t.scrollLeft()+this.scrollLeftVel*e),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},t.prototype.endAutoScroll=function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},t.prototype.handleDebouncedScroll=function(){this.scrollIntervalId||this.handleScrollEnd()},t.prototype.handleScrollEnd=function(){},t}();e.default=a,o.default.mixInto(a)},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(4),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.updateDayTable=function(){for(var t,e,n,r=this,i=r.view,o=i.calendar,s=o.msToUtcMoment(r.dateProfile.renderUnzonedRange.startMs,!0),a=o.msToUtcMoment(r.dateProfile.renderUnzonedRange.endMs,!0),l=-1,u=[],d=[];s.isBefore(a);)i.isHiddenDay(s)?u.push(l+.5):(l++,u.push(l),d.push(s.clone())),s.add(1,"days");if(this.breakOnWeeks){for(e=d[0].day(),t=1;t=e.length?e[e.length-1]+1:e[n]},e.prototype.computeColHeadFormat=function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.opt("dayOfMonthFormat"):"dddd"},e.prototype.sliceRangeByRow=function(t){var e,n,r,i,o,s=this.daysPerRow,a=this.view.computeDayRange(t),l=this.getDateDayIndex(a.start),u=this.getDateDayIndex(a.end.clone().subtract(1,"days")),d=[];for(e=0;e'+this.renderHeadTrHtml()+"
    "},e.prototype.renderHeadIntroHtml=function(){return this.renderIntroHtml()},e.prototype.renderHeadTrHtml=function(){return""+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+""},e.prototype.renderHeadDateCellsHtml=function(){var t,e,n=[];for(t=0;t1?' colspan="'+e+'"':"")+(n?" "+n:"")+">"+(a?s.buildGotoAnchorHtml({date:t,forceOff:o.rowCnt>1||1===o.colCnt},r):r)+""},e.prototype.renderBgTrHtml=function(t){return""+(this.isRTL?"":this.renderBgIntroHtml(t))+this.renderBgCellsHtml(t)+(this.isRTL?this.renderBgIntroHtml(t):"")+""},e.prototype.renderBgIntroHtml=function(t){return this.renderIntroHtml()},e.prototype.renderBgCellsHtml=function(t){var e,n,r=[];for(e=0;e"},e.prototype.renderIntroHtml=function(){},e.prototype.bookendCells=function(t){var e=this.renderIntroHtml();e&&(this.isRTL?t.append(e):t.prepend(e))},e}(n(15).default);e.default=o},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){this.component=t,this.fillRenderer=e}return t.prototype.render=function(t){var e=this.component,n=e._getDateProfile().activeUnzonedRange,r=t.buildEventInstanceGroup(e.hasAllDayBusinessHours,n),i=r?e.eventRangesToEventFootprints(r.sliceRenderRanges(n)):[];this.renderEventFootprints(i)},t.prototype.renderEventFootprints=function(t){var e=this.component.eventFootprintsToSegs(t);this.renderSegs(e),this.segs=e},t.prototype.renderSegs=function(t){this.fillRenderer&&this.fillRenderer.renderSegs("businessHours",t,{getClasses:function(t){return["fc-nonbusiness","fc-bgevent"]}})},t.prototype.unrender=function(){this.fillRenderer&&this.fillRenderer.unrender("businessHours"),this.segs=null},t.prototype.getSegs=function(){return this.segs||[]},t}();e.default=n},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=n(4),o=function(){function t(t){this.fillSegTag="div",this.component=t,this.elsByFill={}}return t.prototype.renderFootprint=function(t,e,n){this.renderSegs(t,this.component.componentFootprintToSegs(e),n)},t.prototype.renderSegs=function(t,e,n){var r;return e=this.buildSegEls(t,e,n),(r=this.attachSegEls(t,e))&&this.reportEls(t,r),e},t.prototype.unrender=function(t){var e=this.elsByFill[t];e&&(e.remove(),delete this.elsByFill[t])},t.prototype.buildSegEls=function(t,e,n){var i,o=this,s="",a=[];if(e.length){for(i=0;i"},t.prototype.attachSegEls=function(t,e){},t.prototype.reportEls=function(t,e){this.elsByFill[t]?this.elsByFill[t]=this.elsByFill[t].add(e):this.elsByFill[t]=r(e)},t}();e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(34),o=n(6),s=function(){function t(t,e){this.view=t._getView(),this.component=t,this.eventRenderer=e}return t.prototype.renderComponentFootprint=function(t){this.renderEventFootprints([this.fabricateEventFootprint(t)])},t.prototype.renderEventDraggingFootprints=function(t,e,n){this.renderEventFootprints(t,e,"fc-dragging",n?null:this.view.opt("dragOpacity"))},t.prototype.renderEventResizingFootprints=function(t,e,n){this.renderEventFootprints(t,e,"fc-resizing")},t.prototype.renderEventFootprints=function(t,e,n,r){var i,o=this.component.eventFootprintsToSegs(t),s="fc-helper "+(n||"");for(o=this.eventRenderer.renderFgSegEls(o),i=0;i
    '+this.renderBgTrHtml(t)+'
    '+(this.getIsNumbersVisible()?""+this.renderNumberTrHtml(t)+"":"")+"
    "},e.prototype.getIsNumbersVisible=function(){return this.getIsDayNumbersVisible()||this.cellWeekNumbersVisible},e.prototype.getIsDayNumbersVisible=function(){return this.rowCnt>1},e.prototype.renderNumberTrHtml=function(t){return""+(this.isRTL?"":this.renderNumberIntroHtml(t))+this.renderNumberCellsHtml(t)+(this.isRTL?this.renderNumberIntroHtml(t):"")+""},e.prototype.renderNumberIntroHtml=function(t){return this.renderIntroHtml()},e.prototype.renderNumberCellsHtml=function(t){var e,n,r=[];for(e=0;e",this.cellWeekNumbersVisible&&t.day()===n&&(i+=r.buildGotoAnchorHtml({date:t,type:"week"},{class:"fc-week-number"},t.format("w"))),s&&(i+=r.buildGotoAnchorHtml(t,{class:"fc-day-number"},t.format("D"))),i+=""):""},e.prototype.prepareHits=function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},e.prototype.releaseHits=function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},e.prototype.queryHit=function(t,e){if(this.colCoordCache.isLeftInBounds(t)&&this.rowCoordCache.isTopInBounds(e)){var n=this.colCoordCache.getHorizontalIndex(t),r=this.rowCoordCache.getVerticalIndex(e);if(null!=r&&null!=n)return this.getCellHit(r,n)}},e.prototype.getHitFootprint=function(t){var e=this.getCellRange(t.row,t.col);return new u.default(new l.default(e.start,e.end),!0)},e.prototype.getHitEl=function(t){return this.getCellEl(t.row,t.col)},e.prototype.getCellHit=function(t,e){return{row:t,col:e,component:this,left:this.colCoordCache.getLeftOffset(e),right:this.colCoordCache.getRightOffset(e),top:this.rowCoordCache.getTopOffset(t),bottom:this.rowCoordCache.getBottomOffset(t)}},e.prototype.getCellEl=function(t,e){return this.cellEls.eq(t*this.colCnt+e)},e.prototype.executeEventUnrender=function(){this.removeSegPopover(),t.prototype.executeEventUnrender.call(this)},e.prototype.getOwnEventSegs=function(){return t.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs||[])},e.prototype.renderDrag=function(t,e,n){var r;for(r=0;r td > :first-child").each(a),n.position().top+r>o)return e;return!1},e.prototype.limitRow=function(t,e){var n,r,o,s,a,l,u,d,c,p,h,f,g,v,y,m=this,b=this.eventRenderer.rowStructs[t],w=[],D=0,E=function(n){for(;D").append(y),c.append(v),w.push(v[0])),D++};if(e&&e').attr("rowspan",p),l=d[f],y=this.renderMoreLink(t,a.leftCol+f,[a].concat(l)),v=i("
    ").append(y),g.append(v),h.push(g[0]),w.push(g[0]);c.addClass("fc-limited").after(i(h)),o.push(c[0])}}E(this.colCnt),b.moreEls=i(w),b.limitedEls=i(o)}},e.prototype.unlimitRow=function(t){var e=this.eventRenderer.rowStructs[t];e.moreEls&&(e.moreEls.remove(),e.moreEls=null),e.limitedEls&&(e.limitedEls.removeClass("fc-limited"),e.limitedEls=null)},e.prototype.renderMoreLink=function(t,e,n){var r=this,o=this.view;return i('').text(this.getMoreLinkText(n.length)).on("click",(function(s){var a=r.opt("eventLimitClick"),l=r.getCellDate(t,e),u=i(s.currentTarget),d=r.getCellEl(t,e),c=r.getCellSegs(t,e),p=r.resliceDaySegs(c,l),h=r.resliceDaySegs(n,l);"function"==typeof a&&(a=r.publiclyTrigger("eventLimitClick",{context:o,args:[{date:l.clone(),dayEl:d,moreEl:u,segs:p,hiddenSegs:h},s,o]})),"popover"===a?r.showSegPopover(t,e,u,p):"string"==typeof a&&o.calendar.zoomTo(l,a)}))},e.prototype.showSegPopover=function(t,e,n,r){var i,o,s=this,l=this.view,u=n.parent();i=1===this.rowCnt?l.el:this.rowEls.eq(t),o={className:"fc-more-popover "+l.calendar.theme.getClass("popover"),content:this.renderSegPopoverContent(t,e,r),parentEl:l.el,top:i.offset().top,autoHide:!0,viewportConstrain:this.opt("popoverViewportConstrain"),hide:function(){s.popoverSegs&&s.triggerBeforeEventSegsDestroyed(s.popoverSegs),s.segPopover.removeElement(),s.segPopover=null,s.popoverSegs=null}},this.isRTL?o.right=u.offset().left+u.outerWidth()+1:o.left=u.offset().left-1,this.segPopover=new a.default(o),this.segPopover.show(),this.bindAllSegHandlersToEl(this.segPopover.el),this.triggerAfterEventSegsRendered(r)},e.prototype.renderSegPopoverContent=function(t,e,n){var r,s=this.view.calendar.theme,a=this.getCellDate(t,e).format(this.opt("dayPopoverFormat")),l=i('
    '+o.htmlEscape(a)+'
    '),u=l.find(".fc-event-container");for(n=this.eventRenderer.renderFgSegEls(n,!0),this.popoverSegs=n,r=0;r"+o.htmlEscape(this.opt("weekNumberTitle"))+"":""},e.prototype.renderNumberIntroHtml=function(t){var e=this.view,n=this.getCellDate(t,0);return this.colWeekNumbersVisible?'"+e.buildGotoAnchorHtml({date:n,type:"week",forceOff:1===this.colCnt},n.format("w"))+"":""},e.prototype.renderBgIntroHtml=function(){var t=this.view;return this.colWeekNumbersVisible?'":""},e.prototype.renderIntroHtml=function(){var t=this.view;return this.colWeekNumbersVisible?'":""},e.prototype.getIsNumbersVisible=function(){return u.default.prototype.getIsNumbersVisible.apply(this,arguments)||this.colWeekNumbersVisible},e}(this.dayGridClass))(this)},e.prototype.executeDateRender=function(e){this.dayGrid.breakOnWeeks=/year|month|week/.test(e.currentRangeUnit),t.prototype.executeDateRender.call(this,e)},e.prototype.renderSkeleton=function(){var t,e;this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.scroller.render(),t=this.scroller.el.addClass("fc-day-grid-container"),e=i('
    ').appendTo(t),this.el.find(".fc-body > tr > td").append(t),this.dayGrid.headContainerEl=this.el.find(".fc-head-container"),this.dayGrid.setElement(e)},e.prototype.unrenderSkeleton=function(){this.dayGrid.removeElement(),this.scroller.destroy()},e.prototype.renderSkeletonHtml=function(){var t=this.calendar.theme;return''+(this.opt("columnHeader")?'':"")+'
     
    '},e.prototype.weekNumberStyleAttr=function(){return null!=this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},e.prototype.hasRigidRows=function(){var t=this.opt("eventLimit");return t&&"number"!=typeof t},e.prototype.updateSize=function(e,n,r){var i,s,a=this.opt("eventLimit"),l=this.dayGrid.headContainerEl.find(".fc-row");this.dayGrid.rowEls?(t.prototype.updateSize.call(this,e,n,r),this.dayGrid.colWeekNumbersVisible&&(this.weekNumberWidth=o.matchCellWidths(this.el.find(".fc-week-number"))),this.scroller.clear(),o.uncompensateScroll(l),this.dayGrid.removeSegPopover(),a&&"number"==typeof a&&this.dayGrid.limitRows(a),i=this.computeScrollerHeight(e),this.setGridHeight(i,n),a&&"number"!=typeof a&&this.dayGrid.limitRows(a),n||(this.scroller.setHeight(i),((s=this.scroller.getScrollbarWidths()).left||s.right)&&(o.compensateScroll(l,s),i=this.computeScrollerHeight(e),this.scroller.setHeight(i)),this.scroller.lockOverflow(s))):n||(i=this.computeScrollerHeight(e),this.scroller.setHeight(i))},e.prototype.computeScrollerHeight=function(t){return t-o.subtractInnerElHeight(this.el,this.scroller.el)},e.prototype.setGridHeight=function(t,e){e?o.undistributeHeight(this.dayGrid.rowEls):o.distributeHeight(this.dayGrid.rowEls,t,!0)},e.prototype.computeInitialDateScroll=function(){return{top:0}},e.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},e.prototype.applyDateScroll=function(t){void 0!==t.top&&this.scroller.setScrollTop(t.top)},e}(a.default);e.default=d,d.prototype.dateProfileGeneratorClass=l.default,d.prototype.dayGridClass=u.default},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(5),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.buildRenderRange=function(e,n,r){var o=t.prototype.buildRenderRange.call(this,e,n,r),s=this.msToUtcMoment(o.startMs,r),a=this.msToUtcMoment(o.endMs,r);return/^(year|month)$/.test(n)&&(s.startOf("week"),a.weekday()&&a.add(1,"week").startOf("week")),new i.default(s,a)},e}(n(55).default);e.default=o},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(5),i=n(12),o=n(36),s=n(6),a=n(19),l=function(){function t(t,e){this.eventManager=t,this._calendar=e}return t.prototype.opt=function(t){return this._calendar.opt(t)},t.prototype.isEventInstanceGroupAllowed=function(t){var e,n=t.getEventDef(),r=this.eventRangesToEventFootprints(t.getAllEventRanges()),i=this.getPeerEventInstances(n).map(a.eventInstanceToEventRange),o=this.eventRangesToEventFootprints(i),s=n.getConstraint(),l=n.getOverlap(),u=this.opt("eventAllow");for(e=0;e').addClass(e.className||"").css({top:0,left:0}).append(e.content).appendTo(e.parentEl),this.el.on("click",".fc-close",(function(){t.hide()})),e.autoHide&&this.listenTo(r(document),"mousedown",this.documentMousedown)},t.prototype.documentMousedown=function(t){this.el&&!r(t.target).closest(this.el).length&&this.hide()},t.prototype.removeElement=function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(r(document),"mousedown")},t.prototype.position=function(){var t,e,n,o,s,a=this.options,l=this.el.offsetParent().offset(),u=this.el.outerWidth(),d=this.el.outerHeight(),c=r(window),p=i.getScrollParent(this.el);o=a.top||0,s=void 0!==a.left?a.left:void 0!==a.right?a.right-u:0,p.is(window)||p.is(document)?(p=c,t=0,e=0):(t=(n=p.offset()).top,e=n.left),t+=c.scrollTop(),e+=c.scrollLeft(),!1!==a.viewportConstrain&&(o=Math.min(o,t+p.outerHeight()-d-this.margin),o=Math.max(o,t+this.margin),s=Math.min(s,e+p.outerWidth()-u-this.margin),s=Math.max(s,e+this.margin)),this.el.css({top:o-l.top,left:s-l.left})},t.prototype.trigger=function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1))},t}();e.default=s,o.default.mixInto(s)},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(13),i=function(){function t(){this.q=[],this.isPaused=!1,this.isRunning=!1}return t.prototype.queue=function(){for(var t=[],e=0;e=0;e--)if((n=r[e]).namespace===t.namespace)switch(n.type){case"init":i=!1;case"add":case"remove":r.splice(e,1)}return i&&r.push(t),i},e}(n(228).default);e.default=i},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.setElement=function(t){this.el=t,this.bindGlobalHandlers(),this.renderSkeleton(),this.set("isInDom",!0)},e.prototype.removeElement=function(){this.unset("isInDom"),this.unrenderSkeleton(),this.unbindGlobalHandlers(),this.el.remove()},e.prototype.bindGlobalHandlers=function(){},e.prototype.unbindGlobalHandlers=function(){},e.prototype.renderSkeleton=function(){},e.prototype.unrenderSkeleton=function(){},e}(n(51).default);e.default=i},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(0),s=n(4),a=n(11),l=n(49),u=n(230),d=n(19),c=function(t){function e(n,r){var i=t.call(this)||this;return i.isRTL=!1,i.hitsNeededDepth=0,i.hasAllDayBusinessHours=!1,i.isDatesRendered=!1,n&&(i.view=n),r&&(i.options=r),i.uid=String(e.guid++),i.childrenByUid={},i.nextDayThreshold=o.duration(i.opt("nextDayThreshold")),i.isRTL=i.opt("isRTL"),i.fillRendererClass&&(i.fillRenderer=new i.fillRendererClass(i)),i.eventRendererClass&&(i.eventRenderer=new i.eventRendererClass(i,i.fillRenderer)),i.helperRendererClass&&i.eventRenderer&&(i.helperRenderer=new i.helperRendererClass(i,i.eventRenderer)),i.businessHourRendererClass&&i.fillRenderer&&(i.businessHourRenderer=new i.businessHourRendererClass(i,i.fillRenderer)),i}return r.__extends(e,t),e.prototype.addChild=function(t){return!this.childrenByUid[t.uid]&&(this.childrenByUid[t.uid]=t,!0)},e.prototype.removeChild=function(t){return!!this.childrenByUid[t.uid]&&(delete this.childrenByUid[t.uid],!0)},e.prototype.updateSize=function(t,e,n){this.callChildren("updateSize",arguments)},e.prototype.opt=function(t){return this._getView().opt(t)},e.prototype.publiclyTrigger=function(){for(var t=[],e=0;e'+n+"
    ":""+n+""},e.prototype.getAllDayHtml=function(){return this.opt("allDayHtml")||s.htmlEscape(this.opt("allDayText"))},e.prototype.getDayClasses=function(t,e){var n,r=this._getView(),i=[];return this.dateProfile.activeUnzonedRange.containsDate(t)?(i.push("fc-"+s.dayIDs[t.day()]),r.isDateInOtherMonth(t,this.dateProfile)&&i.push("fc-other-month"),n=r.calendar.getNow(),t.isSame(n,"day")?(i.push("fc-today"),!0!==e&&i.push(r.calendar.theme.getClass("today"))):t=this.nextDayThreshold&&o.add(1,"days"),o<=n&&(o=n.clone().add(1,"days")),{start:n,end:o}},e.prototype.isMultiDayRange=function(t){var e=this.computeDayRange(t);return e.end.diff(e.start,"days")>1},e.guid=0,e}(u.default);function p(t){var e,n,r,i=[];for(e in t)for(n=t[e].eventInstances,r=0;r").prependTo(e),this.initToolbars(),this.renderHeader(),this.renderFooter(),this.renderView(this.opt("defaultView")),this.opt("handleWindowResize")&&r(window).resize(this.windowResizeProxy=o.debounce(this.windowResize.bind(this),this.opt("windowResizeDelay")))},t.prototype.destroy=function(){this.view&&this.clearView(),this.toolbarsManager.proxyCall("removeElement"),this.contentEl.remove(),this.el.removeClass("fc fc-ltr fc-rtl"),this.optionsManager.unwatch("settingTheme"),this.optionsManager.unwatch("settingBusinessHourGenerator"),this.el.off(".fc"),this.windowResizeProxy&&(r(window).unbind("resize",this.windowResizeProxy),this.windowResizeProxy=null),l.default.unneeded()},t.prototype.elementVisible=function(){return this.el.is(":visible")},t.prototype.bindViewHandlers=function(t){var e=this;t.watch("titleForCalendar",["title"],(function(n){t===e.view&&e.setToolbarsTitle(n.title)})),t.watch("dateProfileForCalendar",["dateProfile"],(function(n){t===e.view&&(e.currentDate=n.dateProfile.date,e.updateToolbarButtons(n.dateProfile))}))},t.prototype.unbindViewHandlers=function(t){t.unwatch("titleForCalendar"),t.unwatch("dateProfileForCalendar")},t.prototype.renderView=function(t){var e,n=this.view;this.freezeContentHeight(),n&&t&&n.type!==t&&this.clearView(),!this.view&&t&&(e=this.view=this.viewsByType[t]||(this.viewsByType[t]=this.instantiateView(t)),this.bindViewHandlers(e),e.startBatchRender(),e.setElement(r("
    ").appendTo(this.contentEl)),this.toolbarsManager.proxyCall("activateButton",t)),this.view&&(this.view.get("businessHourGenerator")!==this.businessHourGenerator&&this.view.set("businessHourGenerator",this.businessHourGenerator),this.view.setDate(this.currentDate),e&&e.stopBatchRender()),this.thawContentHeight()},t.prototype.clearView=function(){var t=this.view;this.toolbarsManager.proxyCall("deactivateButton",t.type),this.unbindViewHandlers(t),t.removeElement(),t.unsetDate(),this.view=null},t.prototype.reinitView=function(){var t=this.view,e=t.queryScroll();this.freezeContentHeight(),this.clearView(),this.calcSize(),this.renderView(t.type),this.view.applyScroll(e),this.thawContentHeight()},t.prototype.getSuggestedViewHeight=function(){return null==this.suggestedViewHeight&&this.calcSize(),this.suggestedViewHeight},t.prototype.isHeightAuto=function(){return"auto"===this.opt("contentHeight")||"auto"===this.opt("height")},t.prototype.updateViewSize=function(t){void 0===t&&(t=!1);var e,n=this.view;if(!this.ignoreUpdateViewSize&&n)return t&&(this.calcSize(),e=n.queryScroll()),this.ignoreUpdateViewSize++,n.updateSize(this.getSuggestedViewHeight(),this.isHeightAuto(),t),this.ignoreUpdateViewSize--,t&&n.applyScroll(e),!0},t.prototype.calcSize=function(){this.elementVisible()&&this._calcSize()},t.prototype._calcSize=function(){var t=this.opt("contentHeight"),e=this.opt("height");this.suggestedViewHeight="number"==typeof t?t:"function"==typeof t?t():"number"==typeof e?e-this.queryToolbarsHeight():"function"==typeof e?e()-this.queryToolbarsHeight():"parent"===e?this.el.parent().height()-this.queryToolbarsHeight():Math.round(this.contentEl.width()/Math.max(this.opt("aspectRatio"),.5))},t.prototype.windowResize=function(t){t.target===window&&this.view&&this.view.isDatesRendered&&this.updateViewSize(!0)&&this.publiclyTrigger("windowResize",[this.view])},t.prototype.freezeContentHeight=function(){this.freezeContentHeightDepth++||this.forceFreezeContentHeight()},t.prototype.forceFreezeContentHeight=function(){this.contentEl.css({width:"100%",height:this.contentEl.height(),overflow:"hidden"})},t.prototype.thawContentHeight=function(){this.freezeContentHeightDepth--,this.contentEl.css({width:"",height:"",overflow:""}),this.freezeContentHeightDepth&&this.forceFreezeContentHeight()},t.prototype.initToolbars=function(){this.header=new c.default(this,this.computeHeaderOptions()),this.footer=new c.default(this,this.computeFooterOptions()),this.toolbarsManager=new a.default([this.header,this.footer])},t.prototype.computeHeaderOptions=function(){return{extraClasses:"fc-header-toolbar",layout:this.opt("header")}},t.prototype.computeFooterOptions=function(){return{extraClasses:"fc-footer-toolbar",layout:this.opt("footer")}},t.prototype.renderHeader=function(){var t=this.header;t.setToolbarOptions(this.computeHeaderOptions()),t.render(),t.el&&this.el.prepend(t.el)},t.prototype.renderFooter=function(){var t=this.footer;t.setToolbarOptions(this.computeFooterOptions()),t.render(),t.el&&this.el.append(t.el)},t.prototype.setToolbarsTitle=function(t){this.toolbarsManager.proxyCall("updateTitle",t)},t.prototype.updateToolbarButtons=function(t){var e=this.getNow(),n=this.view,r=n.dateProfileGenerator.build(e),i=n.dateProfileGenerator.buildPrev(n.get("dateProfile")),o=n.dateProfileGenerator.buildNext(n.get("dateProfile"));this.toolbarsManager.proxyCall(r.isValid&&!t.currentUnzonedRange.containsDate(e)?"enableButton":"disableButton","today"),this.toolbarsManager.proxyCall(i.isValid?"enableButton":"disableButton","prev"),this.toolbarsManager.proxyCall(o.isValid?"enableButton":"disableButton","next")},t.prototype.queryToolbarsHeight=function(){return this.toolbarsManager.items.reduce((function(t,e){return t+(e.el?e.el.outerHeight(!0):0)}),0)},t.prototype.select=function(t,e){this.view.select(this.buildSelectFootprint.apply(this,arguments))},t.prototype.unselect=function(){this.view&&this.view.unselect()},t.prototype.buildSelectFootprint=function(t,e){var n,r=this.moment(t).stripZone();return n=e?this.moment(e).stripZone():r.hasTime()?r.clone().add(this.defaultTimedEventDuration):r.clone().add(this.defaultAllDayEventDuration),new m.default(new y.default(r,n),!r.hasTime())},t.prototype.initMomentInternals=function(){var t=this;this.defaultAllDayEventDuration=i.duration(this.opt("defaultAllDayEventDuration")),this.defaultTimedEventDuration=i.duration(this.opt("defaultTimedEventDuration")),this.optionsManager.watch("buildingMomentLocale",["?locale","?monthNames","?monthNamesShort","?dayNames","?dayNamesShort","?firstDay","?weekNumberCalculation"],(function(e){var n,r=e.weekNumberCalculation,i=e.firstDay;"iso"===r&&(r="ISO");var o=Object.create(g.getMomentLocaleData(e.locale));e.monthNames&&(o._months=e.monthNames),e.monthNamesShort&&(o._monthsShort=e.monthNamesShort),e.dayNames&&(o._weekdays=e.dayNames),e.dayNamesShort&&(o._weekdaysShort=e.dayNamesShort),null==i&&"ISO"===r&&(i=1),null!=i&&((n=Object.create(o._week)).dow=i,o._week=n),"ISO"!==r&&"local"!==r&&"function"!=typeof r||(o._fullCalendar_weekCalc=r),t.localeData=o,t.currentDate&&t.localizeMoment(t.currentDate)}))},t.prototype.moment=function(){for(var t,e=[],n=0;no.getStart()&&((r=new a.default).setEndDelta(l),(i=new s.default).setDateMutation(r),i)},e}(n(14).default);e.default=u},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(4),o=n(39),s=n(40),a=n(59),l=n(17),u=n(226),d=function(t){function e(e,n){var r=t.call(this,e)||this;return r.isDragging=!1,r.eventPointing=n,r}return r.__extends(e,t),e.prototype.end=function(){this.dragListener&&this.dragListener.endInteraction()},e.prototype.getSelectionDelay=function(){var t=this.opt("eventLongPressDelay");return null==t&&(t=this.opt("longPressDelay")),t},e.prototype.bindToEl=function(t){var e=this.component;e.bindSegHandlerToEl(t,"mousedown",this.handleMousedown.bind(this)),e.bindSegHandlerToEl(t,"touchstart",this.handleTouchStart.bind(this))},e.prototype.handleMousedown=function(t,e){!this.component.shouldIgnoreMouse()&&this.component.canStartDrag(t,e)&&this.buildDragListener(t).startInteraction(e,{distance:5})},e.prototype.handleTouchStart=function(t,e){var n=this.component,r={delay:this.view.isEventDefSelected(t.footprint.eventDef)?0:this.getSelectionDelay()};n.canStartDrag(t,e)?this.buildDragListener(t).startInteraction(e,r):n.canStartSelection(t,e)&&this.buildSelectListener(t).startInteraction(e,r)},e.prototype.buildSelectListener=function(t){var e=this,n=this.view,r=t.footprint.eventDef,i=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var o=this.dragListener=new a.default({dragStart:function(t){o.isTouch&&!n.isEventDefSelected(r)&&i&&n.selectEventInstance(i)},interactionEnd:function(t){e.dragListener=null}});return o},e.prototype.buildDragListener=function(t){var e,n,r,o=this,s=this.component,a=this.view,d=a.calendar,c=d.eventManager,p=t.el,h=t.footprint.eventDef,f=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var g=this.dragListener=new l.default(a,{scroll:this.opt("dragScroll"),subjectEl:p,subjectCenter:!0,interactionStart:function(r){t.component=s,e=!1,(n=new u.default(t.el,{additionalClass:"fc-dragging",parentEl:a.el,opacity:g.isTouch?null:o.opt("dragOpacity"),revertDuration:o.opt("dragRevertDuration"),zIndex:2})).hide(),n.start(r)},dragStart:function(n){g.isTouch&&!a.isEventDefSelected(h)&&f&&a.selectEventInstance(f),e=!0,o.eventPointing.handleMouseout(t,n),o.segDragStart(t,n),a.hideEventsWithId(t.footprint.eventDef.id)},hitOver:function(e,l,u){var p,f,v,y=!0;t.hit&&(u=t.hit),p=u.component.getSafeHitFootprint(u),f=e.component.getSafeHitFootprint(e),p&&f&&(r=o.computeEventDropMutation(p,f,h))?(v=c.buildMutatedEventInstanceGroup(h.id,r),y=s.isEventInstanceGroupAllowed(v)):y=!1,y||(r=null,i.disableCursor()),r&&a.renderDrag(s.eventRangesToEventFootprints(v.sliceRenderRanges(s.dateProfile.renderUnzonedRange,d)),t,g.isTouch)?n.hide():n.show(),l&&(r=null)},hitOut:function(){a.unrenderDrag(t),n.show(),r=null},hitDone:function(){i.enableCursor()},interactionEnd:function(i){delete t.component,n.stop(!r,(function(){e&&(a.unrenderDrag(t),o.segDragStop(t,i)),a.showEventsWithId(t.footprint.eventDef.id),r&&a.reportEventDrop(f,r,p,i)})),o.dragListener=null}});return g},e.prototype.segDragStart=function(t,e){this.isDragging=!0,this.component.publiclyTrigger("eventDragStart",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.segDragStop=function(t,e){this.isDragging=!1,this.component.publiclyTrigger("eventDragStop",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.computeEventDropMutation=function(t,e,n){var r=new o.default;return r.setDateMutation(this.computeEventDateMutation(t,e)),r},e.prototype.computeEventDateMutation=function(t,e){var n,r,i=t.unzonedRange.getStart(),o=e.unzonedRange.getStart(),a=!1,l=!1,u=!1;return t.isAllDay!==e.isAllDay&&(a=!0,e.isAllDay?(u=!0,i.stripTime()):l=!0),n=this.component.diffDates(o,i),(r=new s.default).clearEnd=a,r.forceTimed=l,r.forceAllDay=u,r.setDateDelta(n),r},e}(n(14).default);e.default=d},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(4),o=n(17),s=n(12),a=n(5),l=function(t){function e(e){var n=t.call(this,e)||this;return n.dragListener=n.buildDragListener(),n}return r.__extends(e,t),e.prototype.end=function(){this.dragListener.endInteraction()},e.prototype.getDelay=function(){var t=this.opt("selectLongPressDelay");return null==t&&(t=this.opt("longPressDelay")),t},e.prototype.bindToEl=function(t){var e=this,n=this.component,r=this.dragListener;n.bindDateHandlerToEl(t,"mousedown",(function(t){e.opt("selectable")&&!n.shouldIgnoreMouse()&&r.startInteraction(t,{distance:e.opt("selectMinDistance")})})),n.bindDateHandlerToEl(t,"touchstart",(function(t){e.opt("selectable")&&!n.shouldIgnoreTouch()&&r.startInteraction(t,{delay:e.getDelay()})})),i.preventSelection(t)},e.prototype.buildDragListener=function(){var t,e=this,n=this.component;return new o.default(n,{scroll:this.opt("dragScroll"),interactionStart:function(){t=null},dragStart:function(t){e.view.unselect(t)},hitOver:function(r,o,s){var a,l;s&&(a=n.getSafeHitFootprint(s),l=n.getSafeHitFootprint(r),(t=a&&l?e.computeSelection(a,l):null)?n.renderSelectionFootprint(t):!1===t&&i.disableCursor())},hitOut:function(){t=null,n.unrenderSelection()},hitDone:function(){i.enableCursor()},interactionEnd:function(n,r){!r&&t&&e.view.reportSelection(t,n)}})},e.prototype.computeSelection=function(t,e){var n=this.computeSelectionFootprint(t,e);return!(n&&!this.isSelectionFootprintAllowed(n))&&n},e.prototype.computeSelectionFootprint=function(t,e){var n=[t.unzonedRange.startMs,t.unzonedRange.endMs,e.unzonedRange.startMs,e.unzonedRange.endMs];return n.sort(i.compareNumbers),new s.default(new a.default(n[0],n[3]),t.isAllDay)},e.prototype.isSelectionFootprintAllowed=function(t){return this.component.dateProfile.validUnzonedRange.containsRange(t.unzonedRange)&&this.view.calendar.constraints.isSelectionFootprintAllowed(t)},e}(n(14).default);e.default=l},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(17),o=function(t){function e(e){var n=t.call(this,e)||this;return n.dragListener=n.buildDragListener(),n}return r.__extends(e,t),e.prototype.end=function(){this.dragListener.endInteraction()},e.prototype.bindToEl=function(t){var e=this.component,n=this.dragListener;e.bindDateHandlerToEl(t,"mousedown",(function(t){e.shouldIgnoreMouse()||n.startInteraction(t)})),e.bindDateHandlerToEl(t,"touchstart",(function(t){e.shouldIgnoreTouch()||n.startInteraction(t)}))},e.prototype.buildDragListener=function(){var t,e=this,n=this.component,r=new i.default(n,{scroll:this.opt("dragScroll"),interactionStart:function(){t=r.origHit},hitOver:function(e,n,r){n||(t=null)},hitOut:function(){t=null},interactionEnd:function(r,i){var o;!i&&t&&(o=n.getSafeHitFootprint(t))&&e.view.triggerDayClick(o,n.getHitEl(t),r)}});return r.shouldCancelTouchScroll=!1,r.scrollAlwaysKills=!0,r},e}(n(14).default);e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r,i,o=n(2),s=n(0),a=n(3),l=n(4),u=n(41),d=n(43),c=n(239),p=n(66),h=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.usesMinMaxTime=!0,r.timeGrid=r.instantiateTimeGrid(),r.addChild(r.timeGrid),r.opt("allDaySlot")&&(r.dayGrid=r.instantiateDayGrid(),r.addChild(r.dayGrid)),r.scroller=new u.default({overflowX:"hidden",overflowY:"auto"}),r}return o.__extends(e,t),e.prototype.instantiateTimeGrid=function(){var t=new this.timeGridClass(this);return l.copyOwnProps(r,t),t},e.prototype.instantiateDayGrid=function(){var t=new this.dayGridClass(this);return l.copyOwnProps(i,t),t},e.prototype.renderSkeleton=function(){var t,e;this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.scroller.render(),t=this.scroller.el.addClass("fc-time-grid-container"),e=a('
    ').appendTo(t),this.el.find(".fc-body > tr > td").append(t),this.timeGrid.headContainerEl=this.el.find(".fc-head-container"),this.timeGrid.setElement(e),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight())},e.prototype.unrenderSkeleton=function(){this.timeGrid.removeElement(),this.dayGrid&&this.dayGrid.removeElement(),this.scroller.destroy()},e.prototype.renderSkeletonHtml=function(){var t=this.calendar.theme;return''+(this.opt("columnHeader")?'':"")+'
     
    '+(this.dayGrid?'

    ':"")+"
    "},e.prototype.axisStyleAttr=function(){return null!=this.axisWidth?'style="width:'+this.axisWidth+'px"':""},e.prototype.getNowIndicatorUnit=function(){return this.timeGrid.getNowIndicatorUnit()},e.prototype.updateSize=function(e,n,r){var i,o,s;if(t.prototype.updateSize.call(this,e,n,r),this.axisWidth=l.matchCellWidths(this.el.find(".fc-axis")),this.timeGrid.colEls){var a=this.el.find(".fc-row:not(.fc-scroller *)");this.timeGrid.bottomRuleEl.hide(),this.scroller.clear(),l.uncompensateScroll(a),this.dayGrid&&(this.dayGrid.removeSegPopover(),(i=this.opt("eventLimit"))&&"number"!=typeof i&&(i=5),i&&this.dayGrid.limitRows(i)),n||(o=this.computeScrollerHeight(e),this.scroller.setHeight(o),((s=this.scroller.getScrollbarWidths()).left||s.right)&&(l.compensateScroll(a,s),o=this.computeScrollerHeight(e),this.scroller.setHeight(o)),this.scroller.lockOverflow(s),this.timeGrid.getTotalSlatHeight()"+e.buildGotoAnchorHtml({date:r,type:"week",forceOff:this.colCnt>1},l.htmlEscape(t))+""):'"},renderBgIntroHtml:function(){var t=this.view;return'"},renderIntroHtml:function(){return'"}},i={renderBgIntroHtml:function(){var t=this.view;return'"+t.getAllDayHtml()+""},renderIntroHtml:function(){return'"}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(0),s=n(4),a=n(42),l=n(61),u=n(65),d=n(60),c=n(58),p=n(5),h=n(12),f=n(240),g=n(241),v=n(242),y=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}],m=function(t){function e(e){var n=t.call(this,e)||this;return n.processOptions(),n}return r.__extends(e,t),e.prototype.componentFootprintToSegs=function(t){var e,n=this.sliceRangeByTimes(t.unzonedRange);for(e=0;e=0;e--)if(n=o.duration(y[e]),r=s.divideDurationByDuration(n,t),s.isInt(r)&&r>1)return n;return o.duration(t)},e.prototype.renderDates=function(t){this.dateProfile=t,this.updateDayTable(),this.renderSlats(),this.renderColumns()},e.prototype.unrenderDates=function(){this.unrenderColumns()},e.prototype.renderSkeleton=function(){var t=this.view.calendar.theme;this.el.html('
    '),this.bottomRuleEl=this.el.find("hr")},e.prototype.renderSlats=function(){var t=this.view.calendar.theme;this.slatContainerEl=this.el.find("> .fc-slats").html(''+this.renderSlatRowHtml()+"
    "),this.slatEls=this.slatContainerEl.find("tr"),this.slatCoordCache=new c.default({els:this.slatEls,isVertical:!0})},e.prototype.renderSlatRowHtml=function(){for(var t,e,n,r=this.view,i=r.calendar,a=i.theme,l=this.isRTL,u=this.dateProfile,d="",c=o.duration(+u.minTime),p=o.duration(0);c"+(e?""+s.htmlEscape(t.format(this.labelFormat))+"":"")+"",d+='"+(l?"":n)+''+(l?n:"")+"",c.add(this.slotDuration),p.add(this.slotDuration);return d},e.prototype.renderColumns=function(){var t=this.dateProfile,e=this.view.calendar.theme;this.dayRanges=this.dayDates.map((function(e){return new p.default(e.clone().add(t.minTime),e.clone().add(t.maxTime))})),this.headContainerEl&&this.headContainerEl.html(this.renderHeadHtml()),this.el.find("> .fc-bg").html(''+this.renderBgTrHtml(0)+"
    "),this.colEls=this.el.find(".fc-day, .fc-disabled-day"),this.colCoordCache=new c.default({els:this.colEls,isHorizontal:!0}),this.renderContentSkeleton()},e.prototype.unrenderColumns=function(){this.unrenderContentSkeleton()},e.prototype.renderContentSkeleton=function(){var t,e,n="";for(t=0;t
    ';e=this.contentSkeletonEl=i('
    '+n+"
    "),this.colContainerEls=e.find(".fc-content-col"),this.helperContainerEls=e.find(".fc-helper-container"),this.fgContainerEls=e.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=e.find(".fc-bgevent-container"),this.highlightContainerEls=e.find(".fc-highlight-container"),this.businessContainerEls=e.find(".fc-business-container"),this.bookendCells(e.find("tr")),this.el.append(e)},e.prototype.unrenderContentSkeleton=function(){this.contentSkeletonEl&&(this.contentSkeletonEl.remove(),this.contentSkeletonEl=null,this.colContainerEls=null,this.helperContainerEls=null,this.fgContainerEls=null,this.bgContainerEls=null,this.highlightContainerEls=null,this.businessContainerEls=null)},e.prototype.groupSegsByCol=function(t){var e,n=[];for(e=0;e
    ').css("top",r).appendTo(this.colContainerEls.eq(n[e].col))[0]);n.length>0&&o.push(i('
    ').css("top",r).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=i(o)}},e.prototype.unrenderNowIndicator=function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},e.prototype.updateSize=function(e,n,r){t.prototype.updateSize.call(this,e,n,r),this.slatCoordCache.build(),r&&this.updateSegVerticals([].concat(this.eventRenderer.getSegs(),this.businessSegs||[]))},e.prototype.getTotalSlatHeight=function(){return this.slatContainerEl.outerHeight()},e.prototype.computeDateTop=function(t,e){return this.computeTimeTop(o.duration(t-e.clone().stripTime()))},e.prototype.computeTimeTop=function(t){var e,n,r=this.slatEls.length,i=(t-this.dateProfile.minTime)/this.slotDuration;return i=Math.max(0,i),i=Math.min(r,i),e=Math.floor(i),n=i-(e=Math.min(e,r-1)),this.slatCoordCache.getTopPosition(e)+this.slatCoordCache.getHeight(e)*n},e.prototype.updateSegVerticals=function(t){this.computeSegVerticals(t),this.assignSegVerticals(t)},e.prototype.computeSegVerticals=function(t){var e,n,r,i=this.opt("agendaEventMinHeight");for(e=0;e
    '+(n?'
    '+i.htmlEscape(n)+"
    ":"")+(d.title?'
    '+i.htmlEscape(d.title)+"
    ":"")+'
    '+(h?'
    ':"")+""},e.prototype.updateFgSegCoords=function(t){this.timeGrid.computeSegVerticals(t),this.computeFgSegHorizontals(t),this.timeGrid.assignSegVerticals(t),this.assignFgSegHorizontals(t)},e.prototype.computeFgSegHorizontals=function(t){var e,n,r;if(this.sortEventSegs(t),function(t){var e,n,r,i,o;for(e=0;eo.top&&i.top table").append(e[t].tbodyEl)}))},e.prototype.unrenderFgSegs=function(){for(var t,e=this.rowStructs||[];t=e.pop();)t.tbodyEl.remove();this.rowStructs=null},e.prototype.renderSegRows=function(t){var e,n,r=[];for(e=this.groupSegRows(t),n=0;n"),f=[],g=[],v=[];function y(t){for(;o"),s.append(u)),g[n][o]=u,v[n][o]=u,o++}for(n=0;n"),f.push([]),g.push([]),v.push([]),r)for(a=0;a').append(l.el),l.leftCol!==l.rightCol?u.attr("colspan",l.rightCol-l.leftCol+1):v[n][o]=u;o<=l.rightCol;)g[n][o]=u,f[n][o]=l,o++;s.append(u)}y(d),this.dayGrid.bookendCells(s),h.append(s)}return{row:t,tbodyEl:h,cellMatrix:g,segMatrix:f,segLevels:c,segs:e}},e.prototype.buildSegLevels=function(t){var e,n,r,i=[];for(this.sortEventSegs(t),e=0;e'+o.htmlEscape(n)+""),r=''+(o.htmlEscape(s.title||"")||" ")+"",'
    '+(this.dayGrid.isRTL?r+" "+h:h+" "+r)+"
    "+(u?'
    ':"")+(d?'
    ':"")+"
    "},e}(n(44).default);function a(t,e){var n,r;for(n=0;n=t.leftCol)return!0;return!1}function l(t,e){return t.leftCol-e.leftCol}e.default=s},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.renderSegs=function(t,e){var n,r=[];return n=this.eventRenderer.renderSegRows(t),this.component.rowEls.each((function(t,o){var s,a,l=i(o),u=i('
    ');e&&e.row===t?a=e.el.position().top:((s=l.find(".fc-content-skeleton tbody")).length||(s=l.find(".fc-content-skeleton table")),a=s.position().top),u.css("top",a).find("table").append(n[t].tbodyEl),l.append(u),r.push(u[0])})),i(r)},e}(n(63).default);e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fillSegTag="td",e}return r.__extends(e,t),e.prototype.attachSegEls=function(t,e){var n,r,i,o=[];for(n=0;n
    ')).find("tr"),a>0&&o.append(new Array(a+1).join("")),o.append(e.el.attr("colspan",l-a)),l")),this.component.bookendCells(o),r},e}(n(62).default);e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(0),o=n(4),s=n(67),a=n(247),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.setGridHeight=function(t,e){e&&(t*=this.dayGrid.rowCnt/6),o.distributeHeight(this.dayGrid.rowEls,t,!e)},e.prototype.isDateInOtherMonth=function(t,e){return t.month()!==i.utc(e.currentUnzonedRange.startMs).month()},e}(s.default);e.default=l,l.prototype.dateProfileGeneratorClass=a.default},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(68),o=n(5),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.buildRenderRange=function(e,n,r){var i,s=t.prototype.buildRenderRange.call(this,e,n,r),a=this.msToUtcMoment(s.startMs,r),l=this.msToUtcMoment(s.endMs,r);return this.opt("fixedWeekCount")&&(i=Math.ceil(l.diff(a,"weeks",!0)),l.add(6-i,"weeks")),new o.default(a,l)},e}(i.default);e.default=s},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(4),s=n(5),a=n(43),l=n(41),u=n(249),d=n(250),c=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.segSelector=".fc-list-item",r.scroller=new l.default({overflowX:"hidden",overflowY:"auto"}),r}return r.__extends(e,t),e.prototype.renderSkeleton=function(){this.el.addClass("fc-list-view "+this.calendar.theme.getClass("listView")),this.scroller.render(),this.scroller.el.appendTo(this.el),this.contentEl=this.scroller.scrollEl},e.prototype.unrenderSkeleton=function(){this.scroller.destroy()},e.prototype.updateSize=function(e,n,r){t.prototype.updateSize.call(this,e,n,r),this.scroller.clear(),n||this.scroller.setHeight(this.computeScrollerHeight(e))},e.prototype.computeScrollerHeight=function(t){return t-o.subtractInnerElHeight(this.el,this.scroller.el)},e.prototype.renderDates=function(t){for(var e=this.calendar,n=e.msToUtcMoment(t.renderUnzonedRange.startMs,!0),r=e.msToUtcMoment(t.renderUnzonedRange.endMs,!0),i=[],o=[];n
    '+o.htmlEscape(this.opt("noEventsMessage"))+"
    ")},e.prototype.renderSegList=function(t){var e,n,r,o=this.groupSegsByDay(t),s=i('
    '),a=s.find("tbody");for(e=0;e'+(e?this.buildGotoAnchorHtml(t,{class:"fc-list-heading-main"},o.htmlEscape(t.format(e))):"")+(n?this.buildGotoAnchorHtml(t,{class:"fc-list-heading-alt"},o.htmlEscape(t.format(n))):"")+""},e}(a.default);e.default=c,c.prototype.eventRendererClass=u.default,c.prototype.eventPointingClass=d.default},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(4),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.renderFgSegs=function(t){t.length?this.component.renderSegList(t):this.component.renderEmptyMessage()},e.prototype.fgSegHtml=function(t){var e,n=this.view,r=n.calendar,o=r.theme,s=t.footprint,a=s.eventDef,l=s.componentFootprint,u=a.url,d=["fc-list-item"].concat(this.getClasses(a)),c=this.getBgColor(a);return e=l.isAllDay?n.getAllDayHtml():n.isMultiDayRange(l.unzonedRange)?t.isStart||t.isEnd?i.htmlEscape(this._getTimeText(r.msToMoment(t.startMs),r.msToMoment(t.endMs),l.isAllDay)):n.getAllDayHtml():i.htmlEscape(this.getTimeText(s)),u&&d.push("fc-has-url"),''+(this.displayEventTime?''+(e||"")+"":"")+'"+i.htmlEscape(a.title||"")+""},e.prototype.computeEventTimeFormat=function(){return this.opt("mediumTimeFormat")},e}(n(44).default);e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.handleClick=function(e,n){var r;t.prototype.handleClick.call(this,e,n),i(n.target).closest("a[href]").length||(r=e.footprint.eventDef.url)&&!n.isDefaultPrevented()&&(window.location.href=r)},e}(n(64).default);e.default=o},,,,,,function(t,e,n){var r=n(3),i=n(18),o=n(4),s=n(232);n(11),n(49),n(260),n(261),n(264),n(265),n(266),n(267),r.fullCalendar=i,r.fn.fullCalendar=function(t){var e=Array.prototype.slice.call(arguments,1),n=this;return this.each((function(i,a){var l,u=r(a),d=u.data("fullCalendar");"string"==typeof t?"getCalendar"===t?i||(n=d):"destroy"===t?d&&(d.destroy(),u.removeData("fullCalendar")):d?r.isFunction(d[t])?(l=d[t].apply(d,e),i||(n=l),"destroy"===t&&u.removeData("fullCalendar")):o.warn("'"+t+"' is an unknown FullCalendar method."):o.warn("Attempting to call a FullCalendar method on an element with no calendar."):d||(d=new s.default(u,t),u.data("fullCalendar",d),d.render())})),n},t.exports=i},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=n(4),o=function(){function t(t,e){this.el=null,this.viewsWithButtons=[],this.calendar=t,this.toolbarOptions=e}return t.prototype.setToolbarOptions=function(t){this.toolbarOptions=t},t.prototype.render=function(){var t=this.toolbarOptions.layout,e=this.el;t?(e?e.empty():e=this.el=r("
    "),e.append(this.renderSection("left")).append(this.renderSection("right")).append(this.renderSection("center")).append('
    ')):this.removeElement()},t.prototype.removeElement=function(){this.el&&(this.el.remove(),this.el=null)},t.prototype.renderSection=function(t){var e=this,n=this.calendar,o=n.theme,s=n.optionsManager,a=n.viewSpecManager,l=r('
    '),u=this.toolbarOptions.layout[t],d=s.get("customButtons")||{},c=s.overrides.buttonText||{},p=s.get("buttonText")||{};return u&&r.each(u.split(" "),(function(t,s){var u,h=r(),f=!0;r.each(s.split(","),(function(t,s){var l,u,g,v,y,m,b,w,D;"title"===s?(h=h.add(r("

     

    ")),f=!1):((l=d[s])?(g=function(t){l.click&&l.click.call(w[0],t)},(v=o.getCustomButtonIconClass(l))||(v=o.getIconClass(s))||(y=l.text)):(u=a.getViewSpec(s))?(e.viewsWithButtons.push(s),g=function(){n.changeView(s)},(y=u.buttonTextOverride)||(v=o.getIconClass(s))||(y=u.buttonTextDefault)):n[s]&&(g=function(){n[s]()},(y=c[s])||(v=o.getIconClass(s))||(y=p[s])),g&&(b=["fc-"+s+"-button",o.getClass("button"),o.getClass("stateDefault")],y?(m=i.htmlEscape(y),D=""):v&&(m="",D=' aria-label="'+s+'"'),w=r('").click((function(t){w.hasClass(o.getClass("stateDisabled"))||(g(t),(w.hasClass(o.getClass("stateActive"))||w.hasClass(o.getClass("stateDisabled")))&&w.removeClass(o.getClass("stateHover")))})).mousedown((function(){w.not("."+o.getClass("stateActive")).not("."+o.getClass("stateDisabled")).addClass(o.getClass("stateDown"))})).mouseup((function(){w.removeClass(o.getClass("stateDown"))})).hover((function(){w.not("."+o.getClass("stateActive")).not("."+o.getClass("stateDisabled")).addClass(o.getClass("stateHover"))}),(function(){w.removeClass(o.getClass("stateHover")).removeClass(o.getClass("stateDown"))})),h=h.add(w)))})),f&&h.first().addClass(o.getClass("cornerLeft")).end().last().addClass(o.getClass("cornerRight")).end(),h.length>1?(u=r("
    "),f&&u.addClass(o.getClass("buttonGroup")),u.append(h),l.append(u)):l.append(h)})),l},t.prototype.updateTitle=function(t){this.el&&this.el.find("h2").text(t)},t.prototype.activateButton=function(t){this.el&&this.el.find(".fc-"+t+"-button").addClass(this.calendar.theme.getClass("stateActive"))},t.prototype.deactivateButton=function(t){this.el&&this.el.find(".fc-"+t+"-button").removeClass(this.calendar.theme.getClass("stateActive"))},t.prototype.disableButton=function(t){this.el&&this.el.find(".fc-"+t+"-button").prop("disabled",!0).addClass(this.calendar.theme.getClass("stateDisabled"))},t.prototype.enableButton=function(t){this.el&&this.el.find(".fc-"+t+"-button").prop("disabled",!1).removeClass(this.calendar.theme.getClass("stateDisabled"))},t.prototype.getViewsWithButtons=function(){return this.viewsWithButtons},t}();e.default=o},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),i=n(3),o=n(4),s=n(33),a=n(32),l=function(t){function e(e,n){var r=t.call(this)||this;return r._calendar=e,r.overrides=i.extend({},n),r.dynamicOverrides={},r.compute(),r}return r.__extends(e,t),e.prototype.add=function(t){var e,n=0;for(e in this.recordOverrides(t),t)n++;if(1===n){if("height"===e||"contentHeight"===e||"aspectRatio"===e)return void this._calendar.updateViewSize(!0);if("defaultDate"===e)return;if("businessHours"===e)return;if(/^(event|select)(Overlap|Constraint|Allow)$/.test(e))return;if("timezone"===e)return void this._calendar.view.flash("initialEvents")}this._calendar.renderHeader(),this._calendar.renderFooter(),this._calendar.viewsByType={},this._calendar.reinitView()},e.prototype.compute=function(){var t,e,n,r;t=o.firstDefined(this.dynamicOverrides.locale,this.overrides.locale),(e=a.localeOptionHash[t])||(t=s.globalDefaults.locale,e=a.localeOptionHash[t]||{}),n=o.firstDefined(this.dynamicOverrides.isRTL,this.overrides.isRTL,e.isRTL,s.globalDefaults.isRTL)?s.rtlDefaults:{},this.dirDefaults=n,this.localeDefaults=e,r=s.mergeOptions([s.globalDefaults,n,e,this.overrides,this.dynamicOverrides]),a.populateInstanceComputableOptions(r),this.reset(r)},e.prototype.recordOverrides=function(t){var e;for(e in t)this.dynamicOverrides[e]=t[e];this._calendar.viewSpecManager.clearCache(),this.compute()},e}(n(51).default);e.default=l},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=n(3),o=n(24),s=n(4),a=n(33),l=n(32),u=function(){function t(t,e){this.optionsManager=t,this._calendar=e,this.clearCache()}return t.prototype.clearCache=function(){this.viewSpecCache={}},t.prototype.getViewSpec=function(t){var e=this.viewSpecCache;return e[t]||(e[t]=this.buildViewSpec(t))},t.prototype.getUnitViewSpec=function(t){var e,n,r;if(-1!==i.inArray(t,s.unitsDesc))for(e=this._calendar.header.getViewsWithButtons(),i.each(o.viewHash,(function(t){e.push(t)})),n=0;n' : '
    '; - return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2'); -} - -function escapeHtml (str) { - return $('
    ').text(str).html(); -} - -function updatePrices() { - // individual rows - var sum = 0; - for (var pk in objectitems) { - var fields = objectitems[pk].fields; - var sub = fields.cost * fields.quantity; - $('#item-' + pk + ' .sub-total').html(parseFloat(sub).toFixed(2)).data('subtotal', sub); - - sum += Number(sub); - } - - $('#sumtotal').text(parseFloat(sum).toFixed(2)); - var vat = sum * Number($('#vat-rate').data('rate')); - $('#vat').text(parseFloat(vat).toFixed(2)); - $('#total').text(parseFloat(sum + vat).toFixed(2)); -} - -$('#item-table').on('click', '.item-delete', function () { - delete objectitems[$(this).data('pk')] - $('#item-' + $(this).data('pk')).remove(); - updatePrices(); -}); - -$('#item-table').on('click', '.item-add', function () { - $('#item-form').data('pk', newitem); - - // Set the form values - $('#item_name').val(''); - $('#item_description').val(''); - $('#item_quantity').val(''); - $('#item_cost').val(''); - - $($(this).data('target')).modal('show'); -}); - -$('#item-table').on('click', '.item-edit', function () { - // set the pk as we will need this later - var pk = $(this).data('pk'); - $('#item-form').data('pk', pk); - - // Set the form values - var fields = objectitems[pk].fields; - $('#item_name').val(fields.name); - $('#item_description').val(fields.description); - $('#item_quantity').val(fields.quantity); - $('#item_cost').val(fields.cost); - - $($(this).data('target')).modal('show'); -}); - -$('body').on('submit', '#item-form', function (e) { - e.preventDefault(); - var pk = $(this).data('pk'); - $('#itemModal').modal('hide'); - - var fields; - if (pk == newitem--) { - // Create the new data structure and add it on. - fields = new Object(); - fields['name'] = $('#item_name').val() - fields['description'] = $('#item_description').val(); - fields['cost'] = $('#item_cost').val(); - fields['quantity'] = $('#item_quantity').val(); - - var order = 0; - for (item in objectitems) { - order++; - } - - fields['order'] = order; - - objectitems[pk] = new Object(); - objectitems[pk]['fields'] = fields; - - // Add the new table - $('#new-item-row').clone().attr('id', 'item-' + pk).data('pk', pk).appendTo('#item-table-body'); - $('#item-'+pk+' .item-delete, #item-'+pk+' .item-edit').data('pk', pk) - } else { - // Existing item - // update data structure - fields = objectitems[pk].fields; - fields.name = $('#item_name').val() - fields.description = $('#item_description').val(); - fields.cost = $('#item_cost').val(); - fields.quantity = $('#item_quantity').val(); - objectitems[pk].fields = fields; - - } - // update the table - $row = $('#item-' + pk); - $row.find('.name').html(escapeHtml(fields.name)); - $row.find('.description').html(nl2br(escapeHtml(fields.description))); - $row.find('.cost').html(parseFloat(fields.cost).toFixed(2)); - $row.find('.quantity').html(fields.quantity); - - updatePrices(); -}); - -$('body').on('submit', '.itemised_form', function (e) { - $('#id_items_json').val(JSON.stringify(objectitems)); -}); - -// Return a helper with preserved width of cells -var fixHelper = function (e, ui) { - ui.children().each(function () { - $(this).width($(this).width()); - }); - return ui; -}; - -$("#item-table tbody").sortable({ - helper: fixHelper, - update: function (e, ui) { - info = $(this).sortable("toArray"); - itemorder = new Array(); - $.each(info, function (key, value) { - pk = $('#' + value).data('pk'); - objectitems[pk].fields.order = key; - }); - - } -}); +function setupItemTable(t){objectitems=JSON.parse(t),$.each(objectitems,(function(t,e){objectitems[t]=JSON.parse(e)})),newitem=-1}function nl2br(t,e){return(t+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+(e||void 0===e?"
    ":"
    ")+"$2")}function escapeHtml(t){return $("
    ").text(t).html()}function updatePrices(){var t=0;for(var e in objectitems){var i=objectitems[e].fields,a=i.cost*i.quantity;$("#item-"+e+" .sub-total").html(parseFloat(a).toFixed(2)).data("subtotal",a),t+=Number(a)}$("#sumtotal").text(parseFloat(t).toFixed(2));var o=t*Number($("#vat-rate").data("rate"));$("#vat").text(parseFloat(o).toFixed(2)),$("#total").text(parseFloat(t+o).toFixed(2))}$("#item-table").on("click",".item-delete",(function(){delete objectitems[$(this).data("pk")],$("#item-"+$(this).data("pk")).remove(),updatePrices()})),$("#item-table").on("click",".item-add",(function(){$("#item-form").data("pk",newitem),$("#item_name").val(""),$("#item_description").val(""),$("#item_quantity").val(""),$("#item_cost").val(""),$($(this).data("target")).modal("show")})),$("#item-table").on("click",".item-edit",(function(){var t=$(this).data("pk");$("#item-form").data("pk",t);var e=objectitems[t].fields;$("#item_name").val(e.name),$("#item_description").val(e.description),$("#item_quantity").val(e.quantity),$("#item_cost").val(e.cost),$($(this).data("target")).modal("show")})),$("body").on("submit","#item-form",(function(t){t.preventDefault();var e,i=$(this).data("pk");if($("#itemModal").modal("hide"),i==newitem--){(e=new Object).name=$("#item_name").val(),e.description=$("#item_description").val(),e.cost=$("#item_cost").val(),e.quantity=$("#item_quantity").val();var a=0;for(item in objectitems)a++;e.order=a,objectitems[i]=new Object,objectitems[i].fields=e,$("#new-item-row").clone().attr("id","item-"+i).data("pk",i).appendTo("#item-table-body"),$("#item-"+i+" .item-delete, #item-"+i+" .item-edit").data("pk",i)}else(e=objectitems[i].fields).name=$("#item_name").val(),e.description=$("#item_description").val(),e.cost=$("#item_cost").val(),e.quantity=$("#item_quantity").val(),objectitems[i].fields=e;$row=$("#item-"+i),$row.find(".name").html(escapeHtml(e.name)),$row.find(".description").html(nl2br(escapeHtml(e.description))),$row.find(".cost").html(parseFloat(e.cost).toFixed(2)),$row.find(".quantity").html(e.quantity),updatePrices()})),$("body").on("submit",".itemised_form",(function(t){$("#id_items_json").val(JSON.stringify(objectitems))}));var fixHelper=function(t,e){return e.children().each((function(){$(this).width($(this).width())})),e};$("#item-table tbody").sortable({helper:fixHelper,update:function(t,e){info=$(this).sortable("toArray"),itemorder=new Array,$.each(info,(function(t,e){pk=$("#"+e).data("pk"),objectitems[pk].fields.order=t}))}}); \ No newline at end of file diff --git a/RIGS/static/js/jquery-ui.js b/RIGS/static/js/jquery-ui.js new file mode 100644 index 00000000..a9deff2b --- /dev/null +++ b/RIGS/static/js/jquery-ui.js @@ -0,0 +1,186 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}((function(t){t.ui=t.ui||{};t.ui.version="1.12.1"; +/*! + * jQuery UI Widget 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */var e,i=0,s=Array.prototype.slice;t.cleanData=(e=t.cleanData,function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0],l=h+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,(function(e,s){t.isFunction(s)?r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}():r[e]=s})),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,(function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)})),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;a",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,(function(t,i){e._removeClass(i,t)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o
    "),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),i===(s=o.offsetWidth)&&(s=n[0].clientWidth),n.remove(),e=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:c<0?"top":h>0?"bottom":"middle"};pi(s(h),s(c))?u.important="horizontal":u.important="vertical",e.using.call(this,t,u)}),a.offset(t.extend(D,{using:o}))}))},t.ui.position={fit:{left:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,a=n.width,r=t.left-e.collisionPosition.marginLeft,h=o-r,l=r+e.collisionWidth-a-o;e.collisionWidth>a?h>0&&l<=0?(s=t.left+h+e.collisionWidth-a-o,t.left+=h-s):t.left=l>0&&h<=0?o:h>l?o+a-e.collisionWidth:o:h>0?t.left+=h:l>0?t.left-=l:t.left=i(t.left-r,t.left)},top:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollTop:n.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=o-r,l=r+e.collisionHeight-a-o;e.collisionHeight>a?h>0&&l<=0?(s=t.top+h+e.collisionHeight-a-o,t.top+=h-s):t.top=l>0&&h<=0?o:h>l?o+a-e.collisionHeight:o:h>0?t.top+=h:l>0?t.top-=l:t.top=i(t.top-r,t.top)}},flip:{left:function(t,e){var i,n,o=e.within,a=o.offset.left+o.scrollLeft,r=o.width,h=o.isWindow?o.scrollLeft:o.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];c<0?((i=t.left+d+p+f+e.collisionWidth-r-a)<0||i0&&((n=t.left-e.collisionPosition.marginLeft+d+p+f-h)>0||s(n)0&&((i=t.top-e.collisionPosition.marginTop+d+p+f-h)>0||s(i)")[0],c=t.each;function u(t,e,i){var s=r[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:s.max-1,c(a,(function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}})),o.fn=t.extend(o.prototype,{parse:function(e,s,n,r){if(void 0===e)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=t(e).css(s),s=void 0);var h=this,l=t.type(e),p=this._rgba=[];return void 0!==s&&(e=[e,s,n,r],l="array"),"string"===l?this.parse(d(e)||i._default):"array"===l?(c(a.rgba.props,(function(t,i){p[i.idx]=u(e[i.idx],i)})),this):"object"===l?(c(a,e instanceof o?function(t,i){e[i.cache]&&(h[i.cache]=e[i.cache].slice())}:function(i,s){var n=s.cache;c(s.props,(function(t,i){if(!h[n]&&s.to){if("alpha"===t||null==e[t])return;h[n]=s.to(h._rgba)}h[n][i.idx]=u(e[t],i,!0)})),h[n]&&t.inArray(null,h[n].slice(0,3))<0&&(h[n][3]=1,s.from&&(h._rgba=s.from(h[n])))}),this):void 0},is:function(t){var e=o(t),i=!0,s=this;return c(a,(function(t,n){var o,a=e[n.cache];return a&&(o=s[n.cache]||n.to&&n.to(s._rgba)||[],c(n.props,(function(t,e){if(null!=a[e.idx])return i=a[e.idx]===o[e.idx]}))),i})),i},_space:function(){var t=[],e=this;return c(a,(function(i,s){e[s.cache]&&t.push(i)})),t.pop()},transition:function(t,e){var i=o(t),s=i._space(),n=a[s],h=0===this.alpha()?o("transparent"):this,l=h[n.cache]||n.to(h._rgba),d=l.slice();return i=i[n.cache],c(n.props,(function(t,s){var n=s.idx,o=l[n],a=i[n],h=r[s.type]||{};null!==a&&(null===o?d[n]=a:(h.mod&&(a-o>h.mod/2?o+=h.mod:o-a>h.mod/2&&(o-=h.mod)),d[n]=u((a-o)*e+o,s)))})),this[s](d)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=o(e)._rgba;return o(t.map(i,(function(t,e){return(1-s)*n[e]+s*t})))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,(function(t,e){return null==t?e>2?1:0:t}));return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),(function(t,e){return null==t&&(t=e>2?1:0),e&&e<3&&(t=Math.round(100*t)+"%"),t}));return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,(function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t})).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),o.fn.parse.prototype=o.fn,a.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:u<=.5?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},a.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],n=t[3],o=s<=.5?s*(1+i):s+i-s*i,a=2*s-o;return[Math.round(255*p(a,o,e+1/3)),Math.round(255*p(a,o,e)),Math.round(255*p(a,o,e-1/3)),n]},c(a,(function(e,i){var n=i.props,a=i.cache,r=i.to,h=i.from;o.fn[e]=function(e){if(r&&!this[a]&&(this[a]=r(this._rgba)),void 0===e)return this[a].slice();var i,s=t.type(e),l="array"===s||"object"===s?e:arguments,d=this[a].slice();return c(n,(function(t,e){var i=l["object"===s?t:e.idx];null==i&&(i=d[e.idx]),d[e.idx]=u(i,e)})),h?((i=o(h(d)))[a]=d,i):o(d)},c(n,(function(i,n){o.fn[i]||(o.fn[i]=function(o){var a,r=t.type(o),h="alpha"===i?this._hsla?"hsla":"rgba":e,l=this[h](),c=l[n.idx];return"undefined"===r?c:("function"===r&&(o=o.call(this,c),r=t.type(o)),null==o&&n.empty?this:("string"===r&&(a=s.exec(o))&&(o=c+parseFloat(a[2])*("+"===a[1]?1:-1)),l[n.idx]=o,this[h](l)))})}))})),o.hook=function(e){var i=e.split(" ");c(i,(function(e,i){t.cssHooks[i]={set:function(e,s){var n,a,r="";if("transparent"!==s&&("string"!==t.type(s)||(n=d(s)))){if(s=o(n||s),!h.rgba&&1!==s._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(t){}s=s.blend(r&&"transparent"!==r?r:"_default")}s=s.toRgbaString()}try{e.style[i]=s}catch(t){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=o(e.elem,i),e.end=o(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}}))},o.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),t.cssHooks.borderColor={expand:function(t){var e={};return c(["Top","Right","Bottom","Left"],(function(i,s){e["border"+s+"Color"]=t})),e}},i=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(a),function(){var e=["add","remove","toggle"],i={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function s(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)"string"==typeof n[i=n[s]]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],(function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(a.style(t.elem,i,t.end),t.setAttr=!0)}})),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue((function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map((function(){return{el:t(this),start:s(this)}})),(o=function(){t.each(e,(function(t,e){n[e]&&a[e+"Class"](n[e])}))})(),l=l.map((function(){return this.end=s(this.el[0]),this.diff=function(e,s){var n,o,a={};for(n in s)o=s[n],e[n]!==o&&(i[n]||!t.fx.step[n]&&isNaN(parseFloat(o))||(a[n]=o));return a}(this.start,this.end),this})),a.attr("class",r),l=l.map((function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()})),t.when.apply(t,l.get()).done((function(){o(),t.each(arguments,(function(){var e=this.el;t.each(this.diff,(function(t){e.css(t,"")}))})),h.complete.call(a[0])}))}))},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!(e&&"number"!=typeof e&&!t.fx.speeds[e])||("string"==typeof e&&!t.effects.effect[e]||(!!t.isFunction(e)||"object"==typeof e&&!e.effect))}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,s,0];return{top:parseFloat(n[1])||0,right:"auto"===n[2]?i:parseFloat(n[2]),bottom:"auto"===n[3]?s:parseFloat(n[3]),left:parseFloat(n[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data("ui-effects-animated")||e(i)}}(t.expr.filters.animated)),!1!==t.uiBackCompat&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;i
    ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],(function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")})),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data("ui-effects-style",t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data("ui-effects-style")||"",t.removeData("ui-effects-style")},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data("ui-effects-placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e="ui-effects-placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,(function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])})),n}}),t.fn.extend({effect:function(){var i=e.apply(this,arguments),s=t.effects.effect[i.effect],n=s.mode,o=i.queue,a=o||"fx",r=i.complete,h=i.mode,l=[],c=function(e){var i=t(this),s=t.effects.mode(i,h)||n;i.data("ui-effects-animated",!0),l.push(s),n&&("show"===s||s===n&&"hide"===s)&&i.show(),n&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};if(t.fx.off||!s)return h?this[h](i.duration,r):this.each((function(){r&&r.call(this)}));function u(e){var o=t(this);function a(){t.isFunction(r)&&r.call(o[0]),t.isFunction(e)&&e()}i.mode=l.shift(),!1===t.uiBackCompat||n?"none"===i.mode?(o[h](),a()):s.call(o[0],i,(function(){o.removeData("ui-effects-animated"),t.effects.cleanUp(o),"hide"===i.mode&&o.hide(),a()})):(o.is(":hidden")?"hide"===h:"show"===h)?(o[h](),a()):s.call(o[0],i,a)}return!1===o?this.each(c).each(u):this.queue(a,c).queue(a,u)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],(function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])})),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
    ").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,(function(){d.remove(),t.isFunction(i)&&i()}))}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),o={},t.each(["Quad","Cubic","Quart","Quint","Expo"],(function(t,e){o[e]=function(e){return Math.pow(e,t+2)}})),t.extend(o,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(o,(function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}}));t.effects,t.effects.define("blind","hide",(function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("bounce",(function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&((n={opacity:1})[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),(n={})[m]=o;v
    ").css({position:"absolute",visibility:"visible",left:-n*f,top:-s*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:g,left:o+(d?r*f:0),top:a+(d?h*g:0),opacity:d?0:1}).animate({left:o+(d?0:r*f),top:a+(d?0:h*g),opacity:d?1:0},e.duration||500,e.easing,_)})),t.effects.define("fade","toggle",(function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("fold","hide",(function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst?["right","bottom"]:["bottom","right"],c=e.duration/2,u=t.effects.createPlaceholder(s),d=s.cssClip(),p={clip:t.extend({},d)},f={clip:t.extend({},d)},g=[d[l[0]],d[l[1]]],m=s.queue().length;h&&(r=parseInt(h[1],10)/100*g[a?0:1]),p.clip[l[0]]=r,f.clip[l[0]]=r,f.clip[l[1]]=0,o&&(s.cssClip(f.clip),u&&u.css(t.effects.clipToBox(f)),f.clip=d),s.queue((function(i){u&&u.animate(t.effects.clipToBox(p),c,e.easing).animate(t.effects.clipToBox(f),c,e.easing),i()})).animate(p,c,e.easing).animate(f,c,e.easing).queue(i),t.effects.unshift(s,m,4)})),t.effects.define("highlight","show",(function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("size",(function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},"box"!==d&&"both"!==d||(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),"content"!==d&&"both"!==d||n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),"content"!==d&&"both"!==d||(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each((function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,(function(){u&&t.effects.restoreStyle(i)}))}))),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})})),t.effects.define("scale",(function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)||"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)})),t.effects.define("puff","hide",(function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)})),t.effects.define("pulsate","show",(function(e,i){var s=t(this),n=e.mode,o="show"===n,a=o||"hide"===n,r=2*(e.times||5)+(a?1:0),h=e.duration/r,l=0,c=1,u=s.queue().length;for(!o&&s.is(":visible")||(s.css("opacity",0).show(),l=1);c0&&o.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(h)?(a=!e.disabled)&&(r=t(e).closest("fieldset")[0])&&(a=!r.disabled):a="a"===h&&e.href||i,a&&t(e).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}(t(e)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}});t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout((function(){var i=e.data("ui-form-reset-instances");t.each(i,(function(){this.refresh()}))}))},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}}; +/*! + * jQuery UI Support for jQuery core 1.7.x 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + */ +"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],(function(e,i){var s="Width"===i?["Left","Right"]:["Top","Bottom"],n=i.toLowerCase(),o={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};function a(e,i,n,o){return t.each(s,(function(){i-=parseFloat(t.css(e,"padding"+this))||0,n&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)})),i}t.fn["inner"+i]=function(e){return void 0===e?o["inner"+i].call(this):this.each((function(){t(this).css(n,a(this,e)+"px")}))},t.fn["outer"+i]=function(e,s){return"number"!=typeof e?o["outer"+i].call(this,e):this.each((function(){t(this).css(n,a(this,e,!0,s)+"px")}))}})),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}); +/*! + * jQuery UI Keycode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ +var r,h;t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=(r=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g,function(t){return t.replace(r,"\\$1")}),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),(s=this.attr("id"))&&(o=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter((function(){var e=t(this);return(!s||"static"!==e.css("position"))&&n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))})).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:(h=0,function(){return this.each((function(){this.id||(this.id="ui-id-"+ ++h)}))}),removeUniqueId:function(){return this.each((function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")}))}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each((function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)})).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each((function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))})),this.headers.each((function(){e-=t(this).outerHeight(!0)})),this.headers.next().each((function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))})).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each((function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()})).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),(function(t,e){i[e]="_eventHandler"})),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||!1===this._trigger("beforeActivate",e,u)||(n.active=!h&&this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter((function(){return 0===parseInt(t(this).attr("tabIndex"),10)})).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay((function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each((function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()}))},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o=this,a=this.options.icons.submenu,r=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=r.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);o._addClass(s,"ui-menu-icon","ui-icon "+a),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))})),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=r.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")})),n=(s=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(n,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),n<0?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay((function(){this._close(),this._open(t)}),this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay((function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s}),this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay((function(){this.focus(t,e)})))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each((function(){return(i=t(this)).offset().top-s-n<0})),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each((function(){return(i=t(this)).offset().top-s+n>0})),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,void(i=!0);e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){if(s)return s=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(t),this._change(t))}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay((function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")}))},menufocus:function(e,i){var s,n;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",(function(){t(e.target).trigger(e.originalEvent)}));n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),(s=i.item.attr("aria-label")||n.value)&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
      ").text(s).appendTo(this.liveRegion))},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay((function(){this.previous=n,this.selectedItem=s}))),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay((function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||s)||(this.selectedItem=null,this.search(null,t))}),this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,(function(t){return s.test(t.label||t.value||t)}))}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}});t.ui.autocomplete; +/*! + * jQuery UI Controlgroup 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */var l=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"
      ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,(function(s,n){var o,a={};if(n)return"controlgroupLabel"===s?((o=e.element.find(n)).each((function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")})),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(o.get()))):void(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each((function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o||n[s]("instance")),i.push(h[0])}}))))})),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each((function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()}))},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,(function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(l,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")})),s},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],(function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)})),this._callChildMethod("refresh"))}}); +/*! + * jQuery UI Checkboxradio 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ +t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each((function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML})),this.originalLabel&&(n.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.ui.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter((function(){return 0===t(this).form().length}))).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each((function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")}))},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){if("label"!==t||e){if(this._super(t,e),"disabled"===t)return this._toggleClass(this.label,null,"ui-state-disabled",e),void(this.element[0].disabled=e);this.refresh()}},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]);t.ui.checkboxradio; +/*! + * jQuery UI Button 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.widget("ui.button",{version:"1.12.1",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1})))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;ni&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var a,r,h,l,c,u=this._dialogInst;return u||(this.uuid+=1,a="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),(u=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},t.data(this._dialogInput[0],"datepicker",u)),f(u.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(u,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(r=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[r/2-100+l,h/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),u.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",u),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||s.removeClass(this.markerClassName).empty(),c===n&&(c=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!1,o.trigger.filter("button").each((function(){this.disabled=!1})).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,(function(t){return t===e?null:t})))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!0,o.trigger.filter("button").each((function(){this.disabled=!0})).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,(function(t){return t===e?null:t})),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;e-1},_doKeyUp:function(e){var i=t.datepicker._getInst(e.target);if(i.input.val()!==i.lastVal)try{t.datepicker.parseDate(t.datepicker._get(i,"dateFormat"),i.input?i.input.val():null,t.datepicker._getFormatConfig(i))&&(t.datepicker._setDateFromField(i),t.datepicker._updateAlternate(i),t.datepicker._updateDatepicker(i))}catch(t){}return!0},_showDatepicker:function(e){var i,s,n,o,a,r,h;("input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),t.datepicker._isDisabledDatepicker(e)||t.datepicker._lastInput===e)||(i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),!1!==(n=(s=t.datepicker._get(i,"beforeShow"))?s.apply(e,[e,i]):{})&&(f(i.settings,n),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),o=!1,t(e).parents().each((function(){return!(o|="fixed"===t(this).css("position"))})),a={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),a=t.datepicker._checkOffset(i,a,o),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":o?"fixed":"absolute",display:"none",left:a.left+"px",top:a.top+"px"}),i.inline||(r=t.datepicker._get(i,"showAnim"),h=t.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(t){for(var e,i;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[r]?i.dpDiv.show(r,t.datepicker._get(i,"showOptions"),h):i.dpDiv[r||"show"](r?h:null),t.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),t.datepicker._curInst=i)))},_updateDatepicker:function(e){this.maxRows=4,c=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],o=e.dpDiv.find("."+this._dayOverClass+" a");o.length>0&&p.apply(o.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",17*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout((function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null}),0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return[(i=t(e).offset()).left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,(o=this._get(a,"onClose"))&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id===t.datepicker._mainDivId||0!==i.parents("#"+t.datepicker._mainDivId).length||i.hasClass(t.datepicker.markerClassName)||i.closest("."+t.datepicker._triggerClass).length||!t.datepicker._datepickerShowing||t.datepicker._inDialog&&t.blockUI)&&(!i.hasClass(t.datepicker.markerClassName)||t.datepicker._curInst===s)||t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||((o=this._getInst(a[0])).selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),(s=this._get(o,"onSelect"))?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&e<6,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=n+1-1)for(m=1,_=v;;){if(_<=(o=this._getDaysInMonth(g,m-1)))break;m++,_-=o}if((r=this._daylightSavingAdjust(new Date(g,m-1,_))).getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=s+112?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map((function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])}))},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,tt=t.drawYear;if(Z<0&&(Z+=12,tt--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&ee;)--Z<0&&(Z=11,tt--);for(t.drawMonth=Z,t.drawYear=tt,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(tt,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,tt,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(tt,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,tt,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=j?"
      "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
      ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;k1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="
      "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,tt,Q,J,k>0||C>0,f,g)+"
      ",P=u?"":"",w=0;w<7;w++)P+="";for(T+=P+"",S=this._getDaysInMonth(tt,Z),tt===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(tt,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X&&this.maxRows>z?this.maxRows:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(tt,Z,1-H)),N=0;N",W=u?"":"",w=0;w<7;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],L=(F=A.getMonth()!==Z)&&!v||!E[0]||Q&&AJ,W+="",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+""}++Z>11&&(Z=0,tt++),x+=T+="
      "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+p[M]+"
      "+this._get(t,"calculateWeek")(A)+""+(F&&!_?" ":L?""+A.getDate()+"":""+A.getDate()+"")+"
      "+(X?"
      "+(U[0]>0&&C===U[1]-1?"
      ":""):"")}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
      ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),f=(p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e})(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
      "},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&es?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(e<0?e:n[0]*n[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||e.getFullYear()<=r)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each((function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)})):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new u,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1";t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var g=!1;t(document).on("mouseup",(function(){g=!1}));t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,(function(t){return e._mouseDown(t)})).on("click."+this.widgetName,(function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!g){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(e))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){i.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),g=!0,!0))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,g=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n0)&&(this.handle=this._getHandle(e),!!this.handle&&(this._blurActiveElement(e),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),!0))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map((function(){var e=t(this);return t("
      ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter((function(){return"fixed"===t(this).css("position")})).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(!1===this._trigger("drag",e,s))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),(function(){!1!==i._trigger("stop",e)&&i._clear()})):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];this.relativeContainer=null,n.containment?"window"!==n.containment?"document"!==n.containment?n.containment.constructor!==Array?("parent"===n.containment&&(n.containment=this.helper[0].parentNode),(s=(i=t(n.containment))[0])&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=n.containment:this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each((function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))}))},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,(function(){this.isOver?(this.isOver=0,s.cancelHelperRemoval=!0,this.cancelHelperRemoval=!1,this._storedCSS={position:this.placeholder.css("position"),top:this.placeholder.css("top"),left:this.placeholder.css("left")},this._mouseStop(e),this.options.helper=this.options._helper):(this.cancelHelperRemoval=!0,this._trigger("deactivate",e,n))}))},drag:function(e,i,s){t.each(s.sortables,(function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,(function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n}))),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,(function(){this.refreshPositions()})),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,(function(){this.refreshPositions()})))}))}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY=0;d--)l=(h=s.snapElements[d].left-s.margins.left)+s.snapElements[d].width,u=(c=s.snapElements[d].top-s.margins.top)+s.snapElements[d].height,_l+g||bu+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=Math.abs(c-b)<=g,o=Math.abs(u-v)<=g,a=Math.abs(h-_)<=g,r=Math.abs(l-m)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=Math.abs(c-v)<=g,o=Math.abs(u-b)<=g,a=Math.abs(h-m)<=g,r=Math.abs(l-_)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort((function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)}));a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each((function(e){t(this).css("zIndex",n+e)})),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}});t.ui.draggable; +/*! + * jQuery UI Resizable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s,n=i&&"left"===i?"scrollLeft":"scrollTop";return e[n]>0||(e[n]=1,s=e[n]>0,e[n]=0,s)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
      ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",(function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())})).on("mouseleave",(function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;i"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;for(i in e=e||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",(function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")})),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)((s=t(this.handles[i])[0])===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),!!h&&(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1)},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options;return this._helper&&(n=(s=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:this.sizeDiff.height,o=s?0:this.sizeDiff.width,a={width:this.helper.width()-o,height:this.helper.height()-n},r=parseFloat(this.element.css("left"))+(this.position.left-this.originalPosition.left)||null,h=parseFloat(this.element.css("top"))+(this.position.top-this.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),this.helper.height(this.size.height),this.helper.width(this.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),it.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
      "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each((function(t,s){i[t]=h._num(e.css("padding"+s))})),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance").options;t(e.alsoResize).each((function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})}))},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each((function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,(function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)})),e.css(n)}))},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&s.maxWidthp,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((f-c<=0||p-l<=0)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}});t.ui.resizable; +/*! + * jQuery UI Dialog 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;i<0&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",e)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,(function(){i._trigger("close",e)})))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map((function(){return+t(this).css("z-index")})).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,(function(){e._focusTabbable(),e._trigger("focus")})),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===e||t.contains(this.uiDialog[0],e)||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
      ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay((function(){n.trigger("focus")})),e.preventDefault()):(this._delay((function(){s.trigger("focus")})),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
      "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
      "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
      ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(i,(function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("",s).button(o).appendTo(e.uiButtonSet).on("click",(function(){n.apply(e.element[0],arguments)}))})),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var e=this,i=this.options;function s(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,n){e._addClass(t(this),"ui-dialog-dragging"),e._blockFrames(),e._trigger("dragStart",i,s(n))},drag:function(t,i){e._trigger("drag",t,s(i))},stop:function(n,o){var a=o.offset.left-e.document.scrollLeft(),r=o.offset.top-e.document.scrollTop();i.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(r>=0?"+":"")+r,of:e.window},e._removeClass(t(this),"ui-dialog-dragging"),e._unblockFrames(),e._trigger("dragStop",n,s(o))}})},_makeResizable:function(){var e=this,i=this.options,s=i.resizable,n=this.uiDialog.css("position"),o="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";function a(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(i,s){e._addClass(t(this),"ui-dialog-resizing"),e._blockFrames(),e._trigger("resizeStart",i,a(s))},resize:function(t,i){e._trigger("resize",t,a(i))},stop:function(s,n){var o=e.uiDialog.offset(),r=o.left-e.document.scrollLeft(),h=o.top-e.document.scrollTop();i.height=e.uiDialog.height(),i.width=e.uiDialog.width(),i.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" top"+(h>=0?"+":"")+h,of:e.window},e._removeClass(t(this),"ui-dialog-resizing"),e._unblockFrames(),e._trigger("resizeStop",s,a(n))}}).css("position",n)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,(function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)})),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&((s=o.is(":data(ui-draggable)"))&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((n=o.is(":data(ui-resizable)"))&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||!1===i||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map((function(){var e=t(this);return t("
      ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!t(e.target).closest(".ui-dialog").length||!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay((function(){e=!1})),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("
      ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}});t.ui.dialog; +/*! + * jQuery UI Droppable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;e=e&&t=c&&a<=d||h>=c&&h<=d||ad)&&(o>=l&&o<=u||r>=l&&r<=u||ou);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;s").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
      ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each((function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})}))},this.refresh(),this._mouseInit(),this.helper=t("
      "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each((function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))})),t(e.target).parents().addBack().each((function(){var s,n=t.data(this,"selectable-item");if(n)return s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1})))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each((function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||c.righth||c.bottomo&&c.righta&&c.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",(function(){i._rendered||i._refreshMenu()}))},_drawMenu:function(){var e=this;this.menu=t("
        ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
        ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,(function(i,o){var a;o.optgroup!==n&&(a=t("
      • ",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)}))},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("
      • "),n=t("
        ",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),(s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0)).length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?((t=window.getSelection()).removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection()).rangeCount&&(this.range=t.getRangeAt(0)):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1!==t?(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each((function(e,n){s.push(i._parseOption(t(n),e))})),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;e");this.handles=n.add(t(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each((function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)}))},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("
        ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each((function(e){var i=Math.abs(s-l.values(e));(n>i||n===i&&(e===l._lastChangedValue||l.values(e)===c.min))&&(n=i,o=t(this),a=e)})),!1!==this._start(e,a)&&(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),r=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-r.left-o.width()/2,top:e.pageY-r.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(s=i/e)>1&&(s=1),s<0&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n=this.value(),o=this.values();this._hasMultipleValues()&&(s=this.values(e?0:1),n=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(s,i):Math.max(s,i)),o[e]=i),i!==n&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),void this._change(null,0)):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),void this._change(null,e);if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;o=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;s=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=!this._animateOff&&r.animate,c={};this._hasMultipleValues()?this.handles.each((function(s){i=(h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())*100,c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),!0===h.options.range&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i})):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?(s-n)/(o-n)*100:0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),!1===this._start(e,o)))return}switch(n=this.options.step,i=s=this._hasMultipleValues()?this.values(o):this.value(),e.keyCode){case t.ui.keyCode.HOME:s=this._valueMin();break;case t.ui.keyCode.END:s=this._valueMax();break;case t.ui.keyCode.PAGE_UP:s=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:s=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(i===this._valueMax())return;s=this._trimAlignValue(i+n);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i===this._valueMin())return;s=this._trimAlignValue(i-n)}this._slide(e,o,s)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(e),t(e.target).parents().each((function(){if(t.data(this,o.widgetName+"-item")===o)return s=t(this),!1})),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),!!s&&(!(this.options.handle&&!i&&(t(this.options.handle,s).find("*").addBack().each((function(){this===e.target&&(n=!0)})),!n))&&(this.currentItem=s,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(n=(s=this.items[i]).item[0],(o=this._intersectsWithPointer(s))&&s.instance===this.currentContainer&&!(n===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===n||t.contains(this.placeholder[0],n)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],n))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,(function(){s._clear(e)}))}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each((function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))})),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each((function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")})),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&s+lo&&e+ct[this.floating?"width":"height"]?p:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(s=(n=t(h[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function l(){a.push(this)}for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(l);return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,(function(t){for(var i=0;i=0;i--)for(s=(n=t(d[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],s=0,l=(r=u[i][0]).length;s=0;i--)(s=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){var i,s=(e=e||this).options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){i&&!s.forcePlaceholderSize||(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each((function(){t(" ",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)}))},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,a=(c=d.floating||this._isFloating(this.currentItem))?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),Math.abs(e[u]-h)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay((function(){n===this.counter&&this.refreshPositions(!s)}))},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function n(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}for(this.fromOutside&&!e&&s.push((function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))})),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push((function(t){this._trigger("update",t,this._uiHash())})),this!==this.currentContainer&&(e||(s.push((function(t){this._trigger("remove",t,this._uiHash())})),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(n("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(n("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],(function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)})),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t))},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay((function(){this.spinning&&this._stop(t)}),100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){var i;function s(){this.element[0]===t.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay((function(){this.previous=i})))}i=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),s.call(this),this.cancelBlur=!0,this._delay((function(){delete this.cancelBlur,s.call(this)})),!1!==this._start(e)&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){if(t(e.currentTarget).hasClass("ui-state-active"))return!1!==this._start(e)&&void this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t))&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay((function(){this._repeat(40,e,i)}),t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return i=t-(e=null!==s.min?s.min:0),t=e+(i=Math.round(i/s.step)*s.step),t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&t"},_buttonHtml:function(){return""}});var v; +/*! + * jQuery UI Tabs 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.ui.spinner;t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(v=/#.*$/,function(t){var e,i;e=t.href.replace(v,""),i=location.href.replace(v,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return t.hash.length>1&&e===i}),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),(function(t){return e.tabs.index(t)})))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(i.active):this.active=t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each((function(i,n){if(t(n).attr("aria-controls")===s)return e=i,!1})),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==e&&-1!==e||(e=!!this.tabs.length&&0)),!1!==e&&-1===(e=this.tabs.index(this.tabs.eq(e)))&&(e=!i&&0),!i&&!1===e&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s);case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s!==this.options.active&&s);default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay((function(){this.option("active",s)}),this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){var s=this.tabs.length-1;for(;-1!==t.inArray((e>s&&(e=0),e<0&&(e=s),e),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),(function(t){return i.index(t)})),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",(function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()})).on("focus"+this.eventNamespace,".ui-tabs-anchor",(function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()})),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map((function(){return t("a",this)[0]})).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each((function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(a=(n=s.hash).substring(1),o=e.element.find(e._sanitizeSelector(n))):(n="#"+(a=h.attr("aria-controls")||t({}).uniqueId()[0].id),(o=e.element.find(n)).length||(o=e._createPanel(a)).insertAfter(e.panels[i-1]||e.tablist),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)})),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
        ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),!0===e||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===e)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),(function(t,e){i[e]="_eventHandler"})),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each((function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))})),this.element.children().not(this.panels).each((function(){i-=t(this).outerHeight(!0)})),this.panels.each((function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))})).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each((function(){i=Math.max(i,t(this).height("").height())})).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget).closest("li"),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():this._getPanelForTab(n),h=s.length?this._getPanelForTab(s):t(),l={oldTab:s,oldPanel:h,newTab:a?t():n,newPanel:r};e.preventDefault(),n.hasClass("ui-state-disabled")||n.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||!1===this._trigger("beforeActivate",e,l)||(i.active=!a&&this.tabs.index(n),this.active=o?t():n,this.xhr&&this.xhr.abort(),h.length||r.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),r.length&&this.load(this.tabs.index(n),e),this._toggle(e,l))},_toggle:function(e,i){var s=this,n=i.newPanel,o=i.oldPanel;function a(){s.running=!1,s._trigger("activate",e,i)}function r(){s._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),n.length&&s.options.show?s._show(n,s.options.show,a):(n.show(),a())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,(function(){s._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r()})):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),r()),o.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),n.length&&o.length?i.oldTab.attr("tabIndex",-1):n.length&&this.tabs.filter((function(){return 0===t(this).attr("tabIndex")})).attr("tabIndex",-1),n.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return!1===e?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each((function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")})),this.tabs.each((function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")})),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;!1!==i&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,(function(t){return t!==e?t:null})):t.map(this.tabs,(function(t,i){return i!==e?i:null}))),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(!0!==i){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done((function(t,e,n){setTimeout((function(){a.html(t),s._trigger("load",i,r),h(n,e)}),1)})).fail((function(t,e){setTimeout((function(){h(t,e)}),1)}))))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),!1!==t.uiBackCompat&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});t.ui.tabs; +/*! + * jQuery UI Tooltip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),(s=t.trim(s.join(" ")))?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
        ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,(function(t,e){s._updateContent(e.element)}))},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,(function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)})),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter((function(){var e=t(this);if(e.is("[title]"))return e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")})))},_enable:function(){this.disabledTitles.each((function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each((function(){var e,s=t(this);s.data("ui-tooltip-open")&&((e=t.Event("blur")).target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))})),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;if("string"==typeof s||s.nodeType||s.jquery)return this._open(e,t,s);(i=s.call(t[0],(function(i){n._delay((function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))}))})))&&this._open(e,t,i)},_open:function(e,i,s){var n,o,a,r,h=t.extend({},this.options.position);function l(t){h.of=t,o.is(":hidden")||o.position(h)}s&&((n=this._find(i))?n.tooltip.find(".ui-tooltip-content").html(s):(i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),n=this._tooltip(i),o=n.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),(r=t("
        ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),r.removeAttr("id").find("[id]").removeAttr("id"),r.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:l}),l(e)):o.position(t.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(a=this.delayedShow=setInterval((function(){o.is(":visible")&&(l(h.of),clearInterval(a))}),t.fx.interval)),this._trigger("open",e,{tooltip:o})))},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,(function(){s._removeTooltip(t(this))})),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,(function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]})),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1))):n.removeData("ui-tooltip-open")},_tooltip:function(e){var i=t("
        ").attr("role","tooltip"),s=t("
        ").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,(function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))})),this.liveRegion.remove()}}),!1!==t.uiBackCompat&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}});t.ui.tooltip})); \ No newline at end of file diff --git a/RIGS/static/js/jquery.cookie.js b/RIGS/static/js/jquery.cookie.js deleted file mode 100644 index 92719000..00000000 --- a/RIGS/static/js/jquery.cookie.js +++ /dev/null @@ -1,117 +0,0 @@ -/*! - * jQuery Cookie Plugin v1.4.0 - * https://github.com/carhartl/jquery-cookie - * - * Copyright 2013 Klaus Hartl - * Released under the MIT license - */ -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as anonymous module. - define(['jquery'], factory); - } else { - // Browser globals. - factory(jQuery); - } -}(function ($) { - - var pluses = /\+/g; - - function encode(s) { - return config.raw ? s : encodeURIComponent(s); - } - - function decode(s) { - return config.raw ? s : decodeURIComponent(s); - } - - function stringifyCookieValue(value) { - return encode(config.json ? JSON.stringify(value) : String(value)); - } - - function parseCookieValue(s) { - if (s.indexOf('"') === 0) { - // This is a quoted cookie as according to RFC2068, unescape... - s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); - } - - try { - // Replace server-side written pluses with spaces. - // If we can't decode the cookie, ignore it, it's unusable. - s = decodeURIComponent(s.replace(pluses, ' ')); - } catch(e) { - return; - } - - try { - // If we can't parse the cookie, ignore it, it's unusable. - return config.json ? JSON.parse(s) : s; - } catch(e) {} - } - - function read(s, converter) { - var value = config.raw ? s : parseCookieValue(s); - return $.isFunction(converter) ? converter(value) : value; - } - - var config = $.cookie = function (key, value, options) { - - // Write - if (value !== undefined && !$.isFunction(value)) { - options = $.extend({}, config.defaults, options); - - if (typeof options.expires === 'number') { - var days = options.expires, t = options.expires = new Date(); - t.setDate(t.getDate() + days); - } - - return (document.cookie = [ - encode(key), '=', stringifyCookieValue(value), - options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE - options.path ? '; path=' + options.path : '', - options.domain ? '; domain=' + options.domain : '', - options.secure ? '; secure' : '' - ].join('')); - } - - // Read - - var result = key ? undefined : {}; - - // To prevent the for loop in the first place assign an empty array - // in case there are no cookies at all. Also prevents odd result when - // calling $.cookie(). - var cookies = document.cookie ? document.cookie.split('; ') : []; - - for (var i = 0, l = cookies.length; i < l; i++) { - var parts = cookies[i].split('='); - var name = decode(parts.shift()); - var cookie = parts.join('='); - - if (key && key === name) { - // If second argument (value) is a function it's a converter... - result = read(cookie, value); - break; - } - - // Prevent storing a cookie that we couldn't decode. - if (!key && (cookie = read(cookie)) !== undefined) { - result[name] = cookie; - } - } - - return result; - }; - - config.defaults = {}; - - $.removeCookie = function (key, options) { - if ($.cookie(key) !== undefined) { - // Must not alter options, thus extending a fresh object... - $.cookie(key, '', $.extend({}, options, { expires: -1 })); - return true; - } - return false; - }; - -})); diff --git a/RIGS/static/js/jquery.js b/RIGS/static/js/jquery.js new file mode 100644 index 00000000..40a28638 --- /dev/null +++ b/RIGS/static/js/jquery.js @@ -0,0 +1,25 @@ +/*! + * jQuery JavaScript Library v3.5.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2020-05-04T22:49Z + */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)};function w(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.5.1",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(b.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{H.apply(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)})),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ce((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);b.find=T,b.expr=T.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?b.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?b.grep(e,(function(e){return s.call(t,e)>-1!==n})):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,(function(e){return 1===e.nodeType})))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter((function(){for(t=0;t1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var D,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,D=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},(function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}}));var O=/[^\x20\t\r\n\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return b.each(e.match(O)||[],(function(e,n){t[n]=!0})),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred((function(t){b.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))})).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout((function(){throw t}))};var W=b.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),e.removeEventListener("load",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch((function(e){b.readyException(e)})),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener("DOMContentLoaded",F),e.addEventListener("load",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Y.remove(this,e)}))}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){b.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks("once memory").add((function(){G.remove(e,[t+"queue",n])}))})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement("div")),(fe=v.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",d.option=!!ce.lastChild;var ge={thead:[1,"","
        "],col:[2,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each((function(){b.event.add(this,t,i,r,n)}))}function Ae(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,Ce)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(O)||[""]).length;l--;)d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(O)||[""]).length;l--;)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\s*$/g;function qe(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof v&&!d.checkClone&&De.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)}));if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,"script"),Le)).length;f0&&ye(a,!u&&ve(e,"script")),s},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Me(this,e,!0)},remove:function(e){return Me(this,e)},text:function(e){return B(this,(function(e){return void 0===e?b.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Re(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)}))},prepend:function(){return Re(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Re(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return b.clone(this,e,t)}))},html:function(e){return B(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n3,ne.removeChild(t)),s}}))}();var ze=["Webkit","Moz","ms"],Ue=v.createElement("div").style,Xe={};function Ve(e){var t=b.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=ze.length;n--;)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Qe={position:"absolute",visibility:"hidden",display:"block"},Je={letterSpacing:"0",fontWeight:"400"};function Ke(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=b.css(e,n+te[a],!0,i)),r?("content"===n&&(u-=b.css(e,"padding"+te[a],!0,i)),"margin"!==n&&(u-=b.css(e,"border"+te[a]+"Width",!0,i))):(u+=b.css(e,"padding"+te[a],!0,i),"padding"!==n?u+=b.css(e,"border"+te[a]+"Width",!0,i):s+=b.css(e,"border"+te[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=We(e),i=(!d.boxSizingReliable()||n)&&"border-box"===b.css(e,"boxSizing",!1,r),o=i,a=$e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===b.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===b.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=$e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Ye.test(t),l=e.style;if(u||(t=Ve(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Ye.test(t)||(t=Ve(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=$e(e,t,r)),"normal"===i&&t in Je&&(i=Je[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],(function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ge.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):Fe(e,Qe,(function(){return et(e,t,r)}))},set:function(e,n,r){var i,o=We(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===b.css(e,"boxSizing",!1,o),u=r?Ze(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),u&&(i=ee.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ke(0,n,u)}}})),b.cssHooks.marginLeft=_e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat($e(e,"marginLeft"))||e.getBoundingClientRect().left-Fe(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),b.each({margin:"",padding:"",border:"Width"},(function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ke)})),b.fn.extend({css:function(e,t){return B(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),b.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=tt.prototype.init,b.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,b.fx.interval),b.fx.tick())}function st(){return e.setTimeout((function(){nt=void 0})),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=te[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){b.removeAttr(this,e)}))}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=pt[t]||b.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}}));var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function gt(e){return(e.match(O)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function yt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[b.propFix[e]||e]}))}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){b.propFix[this.toLowerCase()]=this})),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).addClass(e.call(this,t,vt(this)))}));if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=gt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){b(this).removeClass(e.call(this,t,vt(this)))}));if(!arguments.length)return this.attr("class","");if((t=yt(e)).length)for(;n=this[u++];)if(i=vt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=gt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){b(this).toggleClass(e.call(this,n,vt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=yt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=vt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+gt(vt(n))+" ").indexOf(t)>-1)return!0;return!1}});var mt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,(function(e){return null==e?"":e+""}))),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(mt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:gt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],(function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),d.focusin="onfocusin"in e;var xt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!xt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,xt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,bt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,bt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each((function(){b.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var wt=e.location,Tt={guid:Date.now()},Ct=/\?/;b.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,kt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,n,r){var i;if(Array.isArray(t))b.each(t,(function(t,i){n||Et.test(e)?r(e,i):Nt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)Nt(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,(function(){i(this.name,this.value)}));else for(n in e)Nt(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&At.test(this.nodeName)&&!kt.test(e)&&(this.checked||!pe.test(e))})).map((function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,(function(e){return{name:t.name,value:e.replace(St,"\r\n")}})):{name:t.name,value:n.replace(St,"\r\n")}})).get()}});var Dt=/%20/g,jt=/#.*$/,qt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:GET|HEAD)$/,Ot=/^\/\//,Pt={},Rt={},Mt="*/".concat("*"),It=v.createElement("a");function Wt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,b.each(e[s]||[],(function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Bt(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}It.href=wt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,b.ajaxSettings),t):Bt(b.ajaxSettings,e)},ajaxPrefilter:Wt(Pt),ajaxTransport:Wt(Rt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=d.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||wt.href)+"").replace(Ot,wt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(O)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=It.protocol+"//"+It.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Ft(Pt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ht.test(d.type),i=d.url.replace(jt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Dt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Ct.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(qt,"$1"),p=(Ct.test(i)?"&":"?")+"_="+Tt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader("If-Modified-Since",b.lastModified[i]),b.etag[i]&&E.setRequestHeader("If-None-Match",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Ft(Rt,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort("timeout")}),d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray("script",d.dataTypes)>-1&&(d.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(b.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],(function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}})),b.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){b(this).wrapInner(e.call(this,t))})):this.each((function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){b(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){b(this).replaceWith(this.childNodes)})),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},_t=b.ajaxSettings.xhr();d.cors=!!_t&&"withCredentials"in _t,d.ajax=_t=!!_t,b.ajaxTransport((function(t){var n,r;if(d.cors||_t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),b.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),b.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        -

        Bootstrap Plugin Test Suite

        -

        -

        -
          -
          -
          - - diff --git a/RIGS/static/js/tests/unit/affix.js b/RIGS/static/js/tests/unit/affix.js deleted file mode 100644 index b74bc51e..00000000 --- a/RIGS/static/js/tests/unit/affix.js +++ /dev/null @@ -1,25 +0,0 @@ -$(function () { - - module("affix") - - test("should provide no conflict", function () { - var affix = $.fn.affix.noConflict() - ok(!$.fn.affix, 'affix was set back to undefined (org value)') - $.fn.affix = affix - }) - - test("should be defined on jquery object", function () { - ok($(document.body).affix, 'affix method is defined') - }) - - test("should return element", function () { - ok($(document.body).affix()[0] == document.body, 'document.body returned') - }) - - test("should exit early if element is not visible", function () { - var $affix = $('
          ').affix() - $affix.data('bs.affix').checkPosition() - ok(!$affix.hasClass('affix'), 'affix class was not added') - }) - -}) diff --git a/RIGS/static/js/tests/unit/alert.js b/RIGS/static/js/tests/unit/alert.js deleted file mode 100644 index 98b10059..00000000 --- a/RIGS/static/js/tests/unit/alert.js +++ /dev/null @@ -1,62 +0,0 @@ -$(function () { - - module("alert") - - test("should provide no conflict", function () { - var alert = $.fn.alert.noConflict() - ok(!$.fn.alert, 'alert was set back to undefined (org value)') - $.fn.alert = alert - }) - - test("should be defined on jquery object", function () { - ok($(document.body).alert, 'alert method is defined') - }) - - test("should return element", function () { - ok($(document.body).alert()[0] == document.body, 'document.body returned') - }) - - test("should fade element out on clicking .close", function () { - var alertHTML = '
          ' - + '×' - + '

          Holy guacamole! Best check yo self, you\'re not looking too good.

          ' - + '
          ' - , alert = $(alertHTML).alert() - - alert.find('.close').click() - - ok(!alert.hasClass('in'), 'remove .in class on .close click') - }) - - test("should remove element when clicking .close", function () { - $.support.transition = false - - var alertHTML = '
          ' - + '×' - + '

          Holy guacamole! Best check yo self, you\'re not looking too good.

          ' - + '
          ' - , alert = $(alertHTML).appendTo('#qunit-fixture').alert() - - ok($('#qunit-fixture').find('.alert-message').length, 'element added to dom') - - alert.find('.close').click() - - ok(!$('#qunit-fixture').find('.alert-message').length, 'element removed from dom') - }) - - test("should not fire closed when close is prevented", function () { - $.support.transition = false - stop(); - $('
          ') - .on('close.bs.alert', function (e) { - e.preventDefault(); - ok(true); - start(); - }) - .on('closed.bs.alert', function () { - ok(false); - }) - .alert('close') - }) - -}) diff --git a/RIGS/static/js/tests/unit/button.js b/RIGS/static/js/tests/unit/button.js deleted file mode 100644 index 16284e0c..00000000 --- a/RIGS/static/js/tests/unit/button.js +++ /dev/null @@ -1,116 +0,0 @@ -$(function () { - - module("button") - - test("should provide no conflict", function () { - var button = $.fn.button.noConflict() - ok(!$.fn.button, 'button was set back to undefined (org value)') - $.fn.button = button - }) - - test("should be defined on jquery object", function () { - ok($(document.body).button, 'button method is defined') - }) - - test("should return element", function () { - ok($(document.body).button()[0] == document.body, 'document.body returned') - }) - - test("should return set state to loading", function () { - var btn = $('') - equal(btn.html(), 'mdo', 'btn text equals mdo') - btn.button('loading') - equal(btn.html(), 'fat', 'btn text equals fat') - stop() - setTimeout(function () { - ok(btn.attr('disabled'), 'btn is disabled') - ok(btn.hasClass('disabled'), 'btn has disabled class') - start() - }, 0) - }) - - test("should return reset state", function () { - var btn = $('') - equal(btn.html(), 'mdo', 'btn text equals mdo') - btn.button('loading') - equal(btn.html(), 'fat', 'btn text equals fat') - stop() - setTimeout(function () { - ok(btn.attr('disabled'), 'btn is disabled') - ok(btn.hasClass('disabled'), 'btn has disabled class') - start() - stop() - btn.button('reset') - equal(btn.html(), 'mdo', 'btn text equals mdo') - setTimeout(function () { - ok(!btn.attr('disabled'), 'btn is not disabled') - ok(!btn.hasClass('disabled'), 'btn does not have disabled class') - start() - }, 0) - }, 0) - - }) - - test("should toggle active", function () { - var btn = $('') - ok(!btn.hasClass('active'), 'btn does not have active class') - btn.button('toggle') - ok(btn.hasClass('active'), 'btn has class active') - }) - - test("should toggle active when btn children are clicked", function () { - var btn = $('') - , inner = $('') - btn - .append(inner) - .appendTo($('#qunit-fixture')) - ok(!btn.hasClass('active'), 'btn does not have active class') - inner.click() - ok(btn.hasClass('active'), 'btn has class active') - }) - - test("should toggle active when btn children are clicked within btn-group", function () { - var btngroup = $('
          ') - , btn = $('') - , inner = $('') - btngroup - .append(btn.append(inner)) - .appendTo($('#qunit-fixture')) - ok(!btn.hasClass('active'), 'btn does not have active class') - inner.click() - ok(btn.hasClass('active'), 'btn has class active') - }) - - test("should check for closest matching toggle", function () { - var group = '
          ' + - '' + - '' + - '' + - '
          ' - - group = $(group) - - var btn1 = $(group.children()[0]) - var btn2 = $(group.children()[1]) - var btn3 = $(group.children()[2]) - - group.appendTo($('#qunit-fixture')) - - ok(btn1.hasClass('active'), 'btn1 has active class') - ok(btn1.find('input').prop('checked'), 'btn1 is checked') - ok(!btn2.hasClass('active'), 'btn2 does not have active class') - ok(!btn2.find('input').prop('checked'), 'btn2 is not checked') - btn2.find('input').click() - ok(!btn1.hasClass('active'), 'btn1 does not have active class') - ok(!btn1.find('input').prop('checked'), 'btn1 is checked') - ok(btn2.hasClass('active'), 'btn2 has active class') - ok(btn2.find('input').prop('checked'), 'btn2 is checked') - }) - -}) diff --git a/RIGS/static/js/tests/unit/carousel.js b/RIGS/static/js/tests/unit/carousel.js deleted file mode 100644 index badf0886..00000000 --- a/RIGS/static/js/tests/unit/carousel.js +++ /dev/null @@ -1,87 +0,0 @@ -$(function () { - - module("carousel") - - test("should provide no conflict", function () { - var carousel = $.fn.carousel.noConflict() - ok(!$.fn.carousel, 'carousel was set back to undefined (org value)') - $.fn.carousel = carousel - }) - - test("should be defined on jquery object", function () { - ok($(document.body).carousel, 'carousel method is defined') - }) - - test("should return element", function () { - ok($(document.body).carousel()[0] == document.body, 'document.body returned') - }) - - test("should not fire sliden when slide is prevented", function () { - $.support.transition = false - stop() - $('