@daypilot/daypilot-lite-angular 3.0.0-sandbox.338
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +202 -0
- package/NOTICE.txt +1 -0
- package/README.md +21 -0
- package/daypilot-daypilot-lite-angular.d.ts +5 -0
- package/esm2020/daypilot-daypilot-lite-angular.mjs +5 -0
- package/esm2020/lib/core/daypilot-core.mjs +1896 -0
- package/esm2020/lib/daypilot-calendar.component.mjs +104 -0
- package/esm2020/lib/daypilot-month.component.mjs +84 -0
- package/esm2020/lib/daypilot-navigator.component.mjs +127 -0
- package/esm2020/lib/daypilot.module.mjs +32 -0
- package/esm2020/lib/util.mjs +49 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2015/daypilot-daypilot-lite-angular.mjs +3499 -0
- package/fesm2015/daypilot-daypilot-lite-angular.mjs.map +1 -0
- package/fesm2020/daypilot-daypilot-lite-angular.mjs +2288 -0
- package/fesm2020/daypilot-daypilot-lite-angular.mjs.map +1 -0
- package/lib/core/daypilot-core.d.ts +614 -0
- package/lib/daypilot-calendar.component.d.ts +25 -0
- package/lib/daypilot-month.component.d.ts +22 -0
- package/lib/daypilot-navigator.component.d.ts +29 -0
- package/lib/daypilot.module.d.ts +9 -0
- package/lib/util.d.ts +6 -0
- package/package.json +46 -0
- package/public-api.d.ts +5 -0
|
@@ -0,0 +1,1896 @@
|
|
|
1
|
+
//@ts-nocheck
|
|
2
|
+
/*
|
|
3
|
+
Copyright © 2021 Annpoint, s.r.o.
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
|
|
17
|
+
-------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
NOTE: Requires the following acknowledgement (see also NOTICE):
|
|
20
|
+
This software includes DayPilot (https://www.daypilot.org).
|
|
21
|
+
*/
|
|
22
|
+
export var DayPilot;
|
|
23
|
+
(function (DayPilot) {
|
|
24
|
+
class CalendarPropsAndEvents {
|
|
25
|
+
}
|
|
26
|
+
DayPilot.CalendarPropsAndEvents = CalendarPropsAndEvents;
|
|
27
|
+
class CalendarConfig extends CalendarPropsAndEvents {
|
|
28
|
+
}
|
|
29
|
+
DayPilot.CalendarConfig = CalendarConfig;
|
|
30
|
+
class Calendar extends CalendarPropsAndEvents {
|
|
31
|
+
}
|
|
32
|
+
DayPilot.Calendar = Calendar;
|
|
33
|
+
class MonthPropsAndEvents {
|
|
34
|
+
}
|
|
35
|
+
DayPilot.MonthPropsAndEvents = MonthPropsAndEvents;
|
|
36
|
+
class MonthConfig extends MonthPropsAndEvents {
|
|
37
|
+
}
|
|
38
|
+
DayPilot.MonthConfig = MonthConfig;
|
|
39
|
+
class Month extends MonthPropsAndEvents {
|
|
40
|
+
}
|
|
41
|
+
DayPilot.Month = Month;
|
|
42
|
+
class NavigatorPropsAndEvents {
|
|
43
|
+
}
|
|
44
|
+
DayPilot.NavigatorPropsAndEvents = NavigatorPropsAndEvents;
|
|
45
|
+
class NavigatorConfig extends NavigatorPropsAndEvents {
|
|
46
|
+
}
|
|
47
|
+
DayPilot.NavigatorConfig = NavigatorConfig;
|
|
48
|
+
class Navigator extends NavigatorPropsAndEvents {
|
|
49
|
+
}
|
|
50
|
+
DayPilot.Navigator = Navigator;
|
|
51
|
+
class Locale {
|
|
52
|
+
}
|
|
53
|
+
DayPilot.Locale = Locale;
|
|
54
|
+
class Date {
|
|
55
|
+
}
|
|
56
|
+
DayPilot.Date = Date;
|
|
57
|
+
class DayPilotDateCache {
|
|
58
|
+
}
|
|
59
|
+
DayPilot.DayPilotDateCache = DayPilotDateCache;
|
|
60
|
+
class Util {
|
|
61
|
+
}
|
|
62
|
+
DayPilot.Util = Util;
|
|
63
|
+
class Duration {
|
|
64
|
+
}
|
|
65
|
+
DayPilot.Duration = Duration;
|
|
66
|
+
class Event {
|
|
67
|
+
}
|
|
68
|
+
DayPilot.Event = Event;
|
|
69
|
+
class Selection {
|
|
70
|
+
}
|
|
71
|
+
DayPilot.Selection = Selection;
|
|
72
|
+
// modal
|
|
73
|
+
class ModalPropsAndEvents {
|
|
74
|
+
}
|
|
75
|
+
DayPilot.ModalPropsAndEvents = ModalPropsAndEvents;
|
|
76
|
+
class ModalConfig extends ModalPropsAndEvents {
|
|
77
|
+
}
|
|
78
|
+
DayPilot.ModalConfig = ModalConfig;
|
|
79
|
+
class Modal extends ModalPropsAndEvents {
|
|
80
|
+
}
|
|
81
|
+
DayPilot.Modal = Modal;
|
|
82
|
+
class ModalAlertConfig extends ModalConfig {
|
|
83
|
+
}
|
|
84
|
+
DayPilot.ModalAlertConfig = ModalAlertConfig;
|
|
85
|
+
class ModalConfirmConfig extends ModalConfig {
|
|
86
|
+
}
|
|
87
|
+
DayPilot.ModalConfirmConfig = ModalConfirmConfig;
|
|
88
|
+
class ModalPromptConfig extends ModalConfig {
|
|
89
|
+
}
|
|
90
|
+
DayPilot.ModalPromptConfig = ModalPromptConfig;
|
|
91
|
+
class ModalFormConfig extends ModalConfig {
|
|
92
|
+
}
|
|
93
|
+
DayPilot.ModalFormConfig = ModalFormConfig;
|
|
94
|
+
})(DayPilot || (DayPilot = {}));
|
|
95
|
+
/*
|
|
96
|
+
DayPilot Lite
|
|
97
|
+
Copyright (c) 2005 - 2021 Annpoint s.r.o.
|
|
98
|
+
http://www.daypilot.org/
|
|
99
|
+
Licensed under Apache Software License 2.0
|
|
100
|
+
Version: 2021.4.338-lite
|
|
101
|
+
*/
|
|
102
|
+
if ("undefined" == typeof DayPilot)
|
|
103
|
+
var DayPilot = {};
|
|
104
|
+
!function () {
|
|
105
|
+
function e(e) { var t = DayPilot.Date.Cache.Ticks; if (t[e])
|
|
106
|
+
return DayPilot.Stats.cacheHitsTicks += 1, t[e]; var a, r = new Date(e), o = r.getUTCMilliseconds(); a = 0 === o ? "" : o < 10 ? ".00" + o : o < 100 ? ".0" + o : "." + o; var n = r.getUTCSeconds(); n < 10 && (n = "0" + n); var i = r.getUTCMinutes(); i < 10 && (i = "0" + i); var d = r.getUTCHours(); d < 10 && (d = "0" + d); var s = r.getUTCDate(); s < 10 && (s = "0" + s); var l = r.getUTCMonth() + 1; l < 10 && (l = "0" + l); var u = r.getUTCFullYear(); if (u <= 0)
|
|
107
|
+
throw "The minimum year supported is 1."; u < 10 ? u = "000" + u : u < 100 ? u = "00" + u : u < 1e3 && (u = "0" + u); var c = u + "-" + l + "-" + s + "T" + d + ":" + i + ":" + n + a; return t[e] = c, c; }
|
|
108
|
+
if ("undefined" == typeof DayPilot.$) {
|
|
109
|
+
"undefined" == typeof DayPilot.Global && (DayPilot.Global = {}), DayPilot.$ = function (e) { return document.getElementById(e); }, DayPilot.isKhtml = navigator && navigator.userAgent && navigator.userAgent.indexOf("KHTML") !== -1, DayPilot.isIE = navigator && navigator.userAgent && navigator.userAgent.indexOf("MSIE") !== -1, DayPilot.mo2 = function (e, t) { if (t = t || window.event, "undefined" != typeof t.offsetX) {
|
|
110
|
+
var a = { x: t.offsetX + 1, y: t.offsetY + 1 };
|
|
111
|
+
if (!e)
|
|
112
|
+
return a;
|
|
113
|
+
for (var r = t.srcElement; r && r !== e;)
|
|
114
|
+
"SPAN" !== r.tagName && (a.x += r.offsetLeft, r.offsetTop > 0 && (a.y += r.offsetTop - r.scrollTop)), r = r.offsetParent;
|
|
115
|
+
return r ? a : null;
|
|
116
|
+
} if ("undefined" != typeof t.layerX) {
|
|
117
|
+
var a = { x: t.layerX, y: t.layerY, src: t.target };
|
|
118
|
+
if (!e)
|
|
119
|
+
return a;
|
|
120
|
+
for (var r = t.target; r && "absolute" !== r.style.position && "relative" !== r.style.position;)
|
|
121
|
+
r = r.parentNode, DayPilot.isKhtml && (a.y += r.scrollTop);
|
|
122
|
+
for (; r && r !== e;)
|
|
123
|
+
a.x += r.offsetLeft, a.y += r.offsetTop - r.scrollTop, r = r.offsetParent;
|
|
124
|
+
return r ? a : null;
|
|
125
|
+
} return null; }, DayPilot.mo3 = function (e, t, a) { if (t = t || window.event, "undefined" != typeof t.pageX) {
|
|
126
|
+
var r = DayPilot.abs(e, a);
|
|
127
|
+
return { x: t.pageX - r.x, y: t.pageY - r.y };
|
|
128
|
+
} return DayPilot.mo2(e, t); }, DayPilot.browser = {}, DayPilot.browser.ie9 = function () { var e = document.createElement("div"); return e.innerHTML = "<!--[if IE 9]><i></i><![endif]-->", 1 === e.getElementsByTagName("i").length; }(), DayPilot.browser.ielt9 = function () { var e = document.createElement("div"); return e.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->", 1 === e.getElementsByTagName("i").length; }(), DayPilot.abs = function (e, t) { if (!e)
|
|
129
|
+
return null; var a = { x: e.offsetLeft, y: e.offsetTop, w: e.clientWidth, h: e.clientHeight, toString: function () { return "x:" + this.x + " y:" + this.y + " w:" + this.w + " h:" + this.h; } }; if (e.getBoundingClientRect) {
|
|
130
|
+
var r = e.getBoundingClientRect();
|
|
131
|
+
a.x = r.left, a.y = r.top;
|
|
132
|
+
var o = DayPilot.doc();
|
|
133
|
+
a.x -= o.clientLeft || 0, a.y -= o.clientTop || 0;
|
|
134
|
+
var n = DayPilot.pageOffset();
|
|
135
|
+
if (a.x += n.x, a.y += n.y, t) {
|
|
136
|
+
var i = DayPilot.absOffsetBased(e, !1), t = DayPilot.absOffsetBased(e, !0);
|
|
137
|
+
a.x += t.x - i.x, a.y += t.y - i.y, a.w = t.w, a.h = t.h;
|
|
138
|
+
}
|
|
139
|
+
return a;
|
|
140
|
+
} return DayPilot.absOffsetBased(e, t); }, DayPilot.absOffsetBased = function (e, t) { for (var a = { x: e.offsetLeft, y: e.offsetTop, w: e.clientWidth, h: e.clientHeight, toString: function () { return "x:" + this.x + " y:" + this.y + " w:" + this.w + " h:" + this.h; } }; e.offsetParent;)
|
|
141
|
+
e = e.offsetParent, a.x -= e.scrollLeft, a.y -= e.scrollTop, t && (a.x < 0 && (a.w += a.x, a.x = 0), a.y < 0 && (a.h += a.y, a.y = 0), e.scrollLeft > 0 && a.x + a.w > e.clientWidth && (a.w -= a.x + a.w - e.clientWidth), e.scrollTop && a.y + a.h > e.clientHeight && (a.h -= a.y + a.h - e.clientHeight)), a.x += e.offsetLeft, a.y += e.offsetTop; var r = DayPilot.pageOffset(); return a.x += r.x, a.y += r.y, a; }, DayPilot.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(e); }, DayPilot.sheet = function () { var e = document.createElement("style"); e.setAttribute("type", "text/css"), e.styleSheet || e.appendChild(document.createTextNode("")), (document.head || document.getElementsByTagName("head")[0]).appendChild(e); var t = !!e.styleSheet, a = {}; return a.rules = [], a.commit = function () { t && (e.styleSheet.cssText = this.rules.join("\n")); }, a.add = function (a, r, o) { return t ? void this.rules.push(a + "{" + r + "}") : void (e.sheet.insertRule ? ("undefined" == typeof o && (o = e.sheet.cssRules.length), e.sheet.insertRule(a + "{" + r + "}", o)) : e.sheet.addRule && e.sheet.addRule(a, r, o)); }, a; }, function () { if (!DayPilot.Global.defaultCss) {
|
|
142
|
+
var e = DayPilot.sheet();
|
|
143
|
+
e.add(".calendar_default_main", "border: 1px solid #c0c0c0; font-family: -apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size: 13px;"), e.add(".calendar_default_main *, .calendar_default_main *:before, .calendar_default_main *:after", "box-sizing: content-box;"), e.add(".calendar_default_rowheader_inner,.calendar_default_cornerright_inner,.calendar_default_corner_inner,.calendar_default_colheader_inner,.calendar_default_alldayheader_inner", "color: #333;background: #f3f3f3;"), e.add(".calendar_default_cornerright_inner", "position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;\tborder-bottom: 1px solid #c0c0c0;"), e.add(".calendar_default_direction_rtl .calendar_default_cornerright_inner", "border-right: 1px solid #c0c0c0;"), e.add(".calendar_default_rowheader_inner", "font-size: 16pt;text-align: right; position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0; padding: 3px;"), e.add(".calendar_default_direction_rtl .calendar_default_rowheader_inner", "border-right: none;"), e.add(".calendar_default_corner_inner", "position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;"), e.add(".calendar_default_direction_rtl .calendar_default_corner_inner", "border-right: none;"), e.add(".calendar_default_rowheader_minutes", "font-size:10px;vertical-align: super;padding-left: 2px;padding-right: 2px;"), e.add(".calendar_default_colheader_inner", "position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0; display: flex; align-items: center; justify-content: center; font-size: 13px;"), e.add(".calendar_default_cell_inner", "position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #ddd;border-bottom: 1px solid #ddd; background: #f9f9f9;"), e.add(".calendar_default_cell_business .calendar_default_cell_inner", "background: #fff"), e.add(".calendar_default_alldayheader_inner", "text-align: center;position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;"), e.add(".calendar_default_message", "opacity: 0.9; padding: 10px; color: #ffffff;background: #ffa216;"), e.add(".calendar_default_alldayevent_inner,.calendar_default_event_inner", "color: #666; border: 1px solid #999;"), e.add(".calendar_default_event_bar", "top: 0px;bottom: 0px;left: 0px;width: 4px;background-color: #9dc8e8;"), e.add(".calendar_default_event_bar_inner", "position: absolute;width: 4px;background-color: #1066a8;"), e.add(".calendar_default_alldayevent_inner,.calendar_default_event_inner", 'background: #fff;background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee));background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee);background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee);background: -ms-linear-gradient(top, #ffffff 0%, #eeeeee);background: -o-linear-gradient(top, #ffffff 0%, #eeeeee);background: linear-gradient(top, #ffffff 0%, #eeeeee);filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");'), e.add(".calendar_default_selected .calendar_default_event_inner", "background: #ddd;"), e.add(".calendar_default_alldayevent_inner", "position: absolute;top: 2px;bottom: 2px;left: 2px;right: 2px;overflow:hidden;padding: 2px;margin-right: 1px; font-size: 13px;"), e.add(".calendar_default_event_withheader .calendar_default_event_inner", "padding-top: 15px;"), e.add(".calendar_default_event", "cursor: default;"), e.add(".calendar_default_event_inner", "position: absolute;overflow: hidden;top: 0px;bottom: 0px;left: 0px;right: 0px;padding: 2px 2px 2px 6px; font-size: 13px;"), e.add(".calendar_default_shadow_inner", "position:absolute;top:0px;left:0px;right:0px;bottom:0px;background-color: #666666; opacity: 0.5;"), e.add(".calendar_default_event_delete", "background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAAI5JREFUKFNtkLERgCAMRbmzdK8s4gAUlhYOYEHJEJYOYOEwDmGBPxC4kOPfvePy84MGR0RJ2N1A8H3N6DATwSQ57m2ql8NBG+AEM7D+UW+wjdfUPgerYNgB5gOLRHqhcasg84C2QxPMtrUhSqQIhg7ypy9VM2EUZPI/4rQ7rGxqo9sadTegw+UdjeDLAKUfhbaQUVPIfJYAAAAASUVORK5CYII=) center center no-repeat; opacity: 0.6; cursor: pointer;"), e.add(".calendar_default_event_delete:hover", "opacity: 1;-ms-filter: none;"), e.add(".calendar_default_scroll_up", "background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAB3RJTUUH2wESDiYcrhwCiQAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAARnQU1BAACxjwv8YQUAAACcSURBVHjaY2AgF9wWsTW6yGMlhi7OhC7AyMDQzMnBXIpFHAFuCtuaMTP+P8nA8P/b1x//FfW/HHuF1UQmxv+NUP1c3OxMVVhNvCVi683E8H8LXOY/w9+fTH81tF8fv4NiIpBRj+YoZtZ/LDUoJmKYhsVUpv0MDiyMDP96sIYV0FS2/8z9ICaLlOhvS4b/jC//MzC8xBG0vJeF7GQBlK0xdiUzCtsAAAAASUVORK5CYII=);"), e.add(".calendar_default_scroll_down", "background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAALiMAAC4jAXilP3YAAACqSURBVChTY7wpam3L9J+xmQEP+PGPKZZxP4MDi4zI78uMDIwa2NT+Z2DYovrmiC+TI8OBP/8ZmEqwGvif4e8vxr+FIDkmEKH25vBWBgbG0+iK/zEwLtF+ffwOXCGI8Y+BoRFFIdC030x/WmBiYBNhpgLdswNJ8RSYaSgmgk39z1gPUfj/29ef/9rwhQTDHRHbrbdEbLvRFcGthkkAra/9/uMvhkK8piNLAgCRpTnNn4AEmAAAAABJRU5ErkJggg==);"), e.add(".calendar_default_now", "background-color: red;"), e.add(".calendar_default_now:before", "content: ''; top: -5px; border-width: 5px; border-color: transparent transparent transparent red; border-style: solid; width: 0px; height:0px; position: absolute; -moz-transform: scale(.9999);"), e.add(".calendar_default_shadow_forbidden .calendar_default_shadow_inner", "background-color: red;"), e.add(".calendar_default_shadow_top", 'box-sizing: border-box; padding:2px;border:1px solid #ccc;background:#fff;background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee));background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee);background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee);background: -ms-linear-gradient(top, #ffffff 0%, #eeeeee);background: -o-linear-gradient(top, #ffffff 0%, #eeeeee);background: linear-gradient(top, #ffffff 0%, #eeeeee);filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");'), e.add(".calendar_default_shadow_bottom", 'box-sizing: border-box; padding:2px;border:1px solid #ccc;background:#fff;background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee));background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee);background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee);background: -ms-linear-gradient(top, #ffffff 0%, #eeeeee);background: -o-linear-gradient(top, #ffffff 0%, #eeeeee);background: linear-gradient(top, #ffffff 0%, #eeeeee);filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");'), e.add(".calendar_default_crosshair_vertical, .calendar_default_crosshair_horizontal, .calendar_default_crosshair_left, .calendar_default_crosshair_top", "background-color: gray; opacity: 0.2;"), e.add(".calendar_default_loading", "background-color: orange; color: white; padding: 2px;"), e.add(".calendar_default_scroll", "background-color: #f3f3f3;"), e.add(".scheduler_default_selected .scheduler_default_event_inner", "background: #ddd;"), e.add(".scheduler_default_main", "border: 1px solid #c0c0c0;font-family: -apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size: 13px;"), e.add(".scheduler_default_timeheader", "cursor: default;color: #333;"), e.add(".scheduler_default_message", "opacity: 0.9;filter: alpha(opacity=90);padding: 10px; color: #ffffff;background: #ffa216;"), e.add(".scheduler_default_timeheadergroup,.scheduler_default_timeheadercol", "color: #333;background: #f3f3f3;"), e.add(".scheduler_default_rowheader,.scheduler_default_corner", "color: #333;background: #f3f3f3;"), e.add(".scheduler_default_rowheader_inner", "position: absolute;left: 0px;right: 0px;top: 0px;bottom: 0px;border-right: 1px solid #eee;padding: 2px;"), e.add(".scheduler_default_timeheadergroup, .scheduler_default_timeheadercol", "text-align: center;"), e.add(".scheduler_default_timeheadergroup_inner", "position: absolute;left: 0px;right: 0px;top: 0px;bottom: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;"), e.add(".scheduler_default_timeheadercol_inner", "position: absolute;left: 0px;right: 0px;top: 0px;bottom: 0px;border-right: 1px solid #c0c0c0;"), e.add(".scheduler_default_divider", "background-color: #c0c0c0;"), e.add(".scheduler_default_divider_horizontal", "background-color: #c0c0c0;"), e.add(".scheduler_default_matrix_vertical_line", "background-color: #eee;"), e.add(".scheduler_default_matrix_vertical_break", "background-color: #000;"), e.add(".scheduler_default_matrix_horizontal_line", "background-color: #eee;"), e.add(".scheduler_default_resourcedivider", "background-color: #c0c0c0;"), e.add(".scheduler_default_shadow_inner", "background-color: #666666;opacity: 0.5;filter: alpha(opacity=50);height: 100%;xborder-radius: 5px;"), e.add(".scheduler_default_event", "color:#666; font-size: 13px;"), e.add(".scheduler_default_event_inner", "position:absolute;top:0px;left:0px;right:0px;bottom:0px;padding:5px 2px 2px 2px;overflow:hidden;border:1px solid #ccc;"), e.add(".scheduler_default_event_bar", "top:0px;left:0px;right:0px;height:4px;background-color:#9dc8e8;"), e.add(".scheduler_default_event_bar_inner", "position:absolute;height:4px;background-color:#1066a8;"), e.add(".scheduler_default_event_inner", 'background:#fff;background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee));background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee);background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee);background: -ms-linear-gradient(top, #ffffff 0%, #eeeeee);background: -o-linear-gradient(top, #ffffff 0%, #eeeeee);background: linear-gradient(top, #ffffff 0%, #eeeeee);filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");'), e.add(".scheduler_default_event_float_inner", "padding:6px 2px 2px 8px;"), e.add(".scheduler_default_event_float_inner:after", 'content:"";border-color: transparent #666 transparent transparent;border-style:solid;border-width:5px;width:0;height:0;position:absolute;top:8px;left:-4px;'), e.add(".scheduler_default_columnheader_inner", "font-weight: bold;"), e.add(".scheduler_default_columnheader_splitter", "background-color: #666;opacity: 0.5;filter: alpha(opacity=50);"), e.add(".scheduler_default_columnheader_cell_inner", "padding: 2px;"), e.add(".scheduler_default_cell", "background-color: #f9f9f9;"), e.add(".scheduler_default_cell.scheduler_default_cell_business", "background-color: #fff;"), e.add(".navigator_default_main", "border-left: 1px solid #c0c0c0;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;background-color: white;color: #000000; box-sizing: content-box;"), e.add(".navigator_default_main *, .navigator_default_main *:before, .navigator_default_main *:after", "box-sizing: content-box;"), e.add(".navigator_default_month", "font-family: -apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size: 12px;"), e.add(".navigator_default_day", "color: black;"), e.add(".navigator_default_weekend", "background-color: #f0f0f0;"), e.add(".navigator_default_dayheader", "color: black;"), e.add(".navigator_default_line", "border-bottom: 1px solid #c0c0c0;"), e.add(".navigator_default_dayother", "color: gray;"), e.add(".navigator_default_todaybox", "border: 1px solid red;"), e.add(".navigator_default_title, .navigator_default_titleleft, .navigator_default_titleright", "border-top: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;color: #333;background: #f3f3f3;"), e.add(".navigator_default_busy", "font-weight: bold;"), e.add(".navigator_default_cell", "text-align: center;"), e.add(".navigator_default_select .navigator_default_cell_box", "background-color: #FFE794; opacity: 0.5;"), e.add(".navigator_default_title", "text-align: center;"), e.add(".navigator_default_titleleft, .navigator_default_titleright", "text-align: center;"), e.add(".navigator_default_dayheader", "text-align: center;"), e.add(".navigator_default_weeknumber", "text-align: center;"), e.add(".navigator_default_cell_text", "cursor: pointer;"), e.add(".month_default_main", "border: 1px solid #c0c0c0;font-family: -apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size: 13px;color: #333;"), e.add(".month_default_main *, .month_default_main *:before, .month_default_main *:after", "box-sizing: content-box;"), e.add(".month_default_cell_inner", "border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;background-color: #f9f9f9;"), e.add(".month_default_cell_business .month_default_cell_inner", "background-color: #fff;"), e.add(".month_default_cell_header", "text-align: right; padding: 4px; box-sizing: border-box;"), e.add(".month_default_header_inner", "position: absolute;top: 0px;left: 0px;bottom: 0px;right: 0px;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;cursor: default;color: #333;background: #f3f3f3; overflow:hidden; display: flex; align-items: center; justify-content: center;"), e.add(".month_default_message", "padding: 10px;opacity: 0.9; color: #ffffff;background: #ffa216;"), e.add(".month_default_event_inner", "position: absolute;top: 0px;bottom: 0px;left: 1px;right: 1px;overflow:hidden;padding: 2px;padding-left: 5px;color: #333;background: #fff;background: linear-gradient(to bottom, #ffffff 0%, #eeeeee);border: 1px solid #999;border-radius: 0px;display: flex; align-items: center; font-size: 13px;"), e.add(".month_default_event_continueright .month_default_event_inner", "border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-right-style: dotted;"), e.add(".month_default_event_continueleft .month_default_event_inner", "border-top-left-radius: 0px;border-bottom-left-radius: 0px;border-left-style: dotted;"), e.add(".month_default_selected .month_default_event_inner", "background: #ddd;"), e.add(".month_default_shadow_inner", "background-color: #666666;opacity: 0.5;height: 100%;"), e.add(".month_default_event_delete", "background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAAI5JREFUKFNtkLERgCAMRbmzdK8s4gAUlhYOYEHJEJYOYOEwDmGBPxC4kOPfvePy84MGR0RJ2N1A8H3N6DATwSQ57m2ql8NBG+AEM7D+UW+wjdfUPgerYNgB5gOLRHqhcasg84C2QxPMtrUhSqQIhg7ypy9VM2EUZPI/4rQ7rGxqo9sadTegw+UdjeDLAKUfhbaQUVPIfJYAAAAASUVORK5CYII=) center center no-repeat; opacity: 0.6; cursor: pointer;"), e.add(".month_default_event_delete:hover", "opacity: 1;-ms-filter: none;"), e.add(".month_default_event_timeleft", "color: #ccc; font-size: 8pt"), e.add(".month_default_event_timeright", "color: #ccc; font-size: 8pt; text-align: right;"), e.add(".month_default_loading", "background-color: orange; color: white; padding: 2px;"), e.commit(), DayPilot.Global.defaultCss = !0;
|
|
144
|
+
} }(), DayPilot.doc = function () { var e = document.documentElement; return e && e.clientHeight ? e : document.body; }, DayPilot.guid = function () { var e = function () { return (65536 * (1 + Math.random()) | 0).toString(16).substring(1); }; return "" + e() + e() + "-" + e() + "-" + e() + "-" + e() + "-" + e() + e() + e(); }, DayPilot.pageOffset = function () { if ("undefined" != typeof pageXOffset)
|
|
145
|
+
return { x: pageXOffset, y: pageYOffset }; var e = DayPilot.doc(); return { x: e.scrollLeft, y: e.scrollTop }; }, DayPilot.indexOf = function (e, t) { if (!e || !e.length)
|
|
146
|
+
return -1; for (var a = 0; a < e.length; a++)
|
|
147
|
+
if (e[a] === t)
|
|
148
|
+
return a; return -1; }, DayPilot.mc = function (e) { return e.pageX || e.pageY ? { x: e.pageX, y: e.pageY } : { x: e.clientX + document.documentElement.scrollLeft, y: e.clientY + document.documentElement.scrollTop }; }, DayPilot.Stats = {}, DayPilot.Stats.eventObjects = 0, DayPilot.Stats.dateObjects = 0, DayPilot.Stats.cacheHitsCtor = 0, DayPilot.Stats.cacheHitsParsing = 0, DayPilot.Stats.cacheHitsTicks = 0, DayPilot.Stats.print = function () { console.log("DayPilot.Stats.eventObjects: " + DayPilot.Stats.eventObjects), console.log("DayPilot.Stats.dateObjects: " + DayPilot.Stats.dateObjects), console.log("DayPilot.Stats.cacheHitsCtor: " + DayPilot.Stats.cacheHitsCtor), console.log("DayPilot.Stats.cacheHitsParsing: " + DayPilot.Stats.cacheHitsParsing), console.log("DayPilot.Stats.cacheHitsTicks: " + DayPilot.Stats.cacheHitsTicks), console.log("DayPilot.Date.Cache.Ctor keys: " + Object.keys(DayPilot.Date.Cache.Ctor).length), console.log("DayPilot.Date.Cache.Parsing keys: " + Object.keys(DayPilot.Date.Cache.Parsing).length); }, DayPilot.re = function (e, t, a) { e.addEventListener ? e.addEventListener(t, a, !1) : e.attachEvent && e.attachEvent("on" + t, a); }, DayPilot.pu = function (e) { var t, a, r, o = e.attributes; if (o)
|
|
149
|
+
for (a = o.length, t = 0; t < a; t += 1)
|
|
150
|
+
o[t] && (r = o[t].name, "function" == typeof e[r] && (e[r] = null)); if (o = e.childNodes)
|
|
151
|
+
for (a = o.length, t = 0; t < a; t += 1) {
|
|
152
|
+
DayPilot.pu(e.childNodes[t]);
|
|
153
|
+
} }, DayPilot.de = function (e) { if (e)
|
|
154
|
+
if (DayPilot.isArray(e))
|
|
155
|
+
for (var t = 0; t < e.length; t++)
|
|
156
|
+
DayPilot.de(e[t]);
|
|
157
|
+
else
|
|
158
|
+
e.parentNode && e.parentNode.removeChild(e); }, DayPilot.sw = function (e) { return e ? e.offsetWidth - e.clientWidth : 0; }, DayPilot.am = function () { return "undefined" == typeof angular ? null : (DayPilot.am.cached || (DayPilot.am.cached = angular.module("daypilot", [])), DayPilot.am.cached); }, DayPilot.Selection = function (e, t, a, r) { this.type = "selection", this.start = e.isDayPilotDate ? e : new DayPilot.Date(e), this.end = t.isDayPilotDate ? t : new DayPilot.Date(t), this.resource = a, this.root = r, this.toJSON = function (e) { var t = {}; return t.start = this.start, t.end = this.end, t.resource = this.resource, t; }; }, DayPilot.request = function (e, t, a, r) { var o = DayPilot.createXmlHttp(); o && (o.open("POST", e, !0), o.setRequestHeader("Content-type", "text/plain"), o.onreadystatechange = function () { if (4 === o.readyState)
|
|
159
|
+
return 200 !== o.status && 304 !== o.status ? void (r ? r(o) : window.console && console.log("HTTP error " + o.status)) : void t(o); }, 4 !== o.readyState && ("object" == typeof a && (a = JSON.stringify(a)), o.send(a))); }, DayPilot.ajax = function (e) { if (!e)
|
|
160
|
+
throw new DayPilot.Exception("Parameter object required."); if ("string" != typeof e.url)
|
|
161
|
+
throw new DayPilot.Exception("The parameter object must have 'url' property."); var t = DayPilot.createXmlHttp(); if (!t)
|
|
162
|
+
throw new DayPilot.Exception("Unable to create XMLHttpRequest object"); var a = "object" == typeof e.data, r = e.data, o = e.method || (e.data ? "POST" : "GET"), n = e.success || function () { }, i = e.error || function () { }, d = e.url, s = e.contentType || (a ? "application/json" : "text/plain"), l = e.headers || {}; t.open(o, d, !0), t.setRequestHeader("Content-type", s), DayPilot.Util.ownPropsAsArray(l).forEach(function (e) { t.setRequestHeader(e.key, e.val); }), t.onreadystatechange = function () { if (4 === t.readyState)
|
|
163
|
+
if (200 === t.status || 201 === t.status || 204 === t.status || 304 === t.status) {
|
|
164
|
+
var e = {};
|
|
165
|
+
e.request = t, t.responseText && (e.data = JSON.parse(t.responseText)), n(e);
|
|
166
|
+
}
|
|
167
|
+
else if (i) {
|
|
168
|
+
var e = {};
|
|
169
|
+
e.request = t, i(e);
|
|
170
|
+
}
|
|
171
|
+
else
|
|
172
|
+
window.console && console.log("HTTP error " + t.status); }, 4 !== t.readyState && (a && (r = JSON.stringify(r)), t.send(r)); }, DayPilot.createXmlHttp = function () { return new XMLHttpRequest; }, DayPilot.Http = {}, DayPilot.Http.ajax = function (e) { DayPilot.ajax(e); }, DayPilot.Util = {}, DayPilot.Util.addClass = function (e, t) { if (e) {
|
|
173
|
+
if (!e.className)
|
|
174
|
+
return void (e.className = t);
|
|
175
|
+
new RegExp("(^|\\s)" + t + "($|\\s)").test(e.className) || (e.className = e.className + " " + t);
|
|
176
|
+
} }, DayPilot.Util.removeClass = function (e, t) { if (e) {
|
|
177
|
+
var a = new RegExp("(^|\\s)" + t + "($|\\s)");
|
|
178
|
+
e.className = e.className.replace(a, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
|
|
179
|
+
} }, DayPilot.Util.ownPropsAsArray = function (e) { var t = []; if (!e)
|
|
180
|
+
return t; for (var a in e)
|
|
181
|
+
if (e.hasOwnProperty(a)) {
|
|
182
|
+
var r = {};
|
|
183
|
+
r.key = a, r.val = e[a], t.push(r);
|
|
184
|
+
} return t; }, DayPilot.Util.replaceCharAt = function (e, t, a) { return e.substr(0, t) + a + e.substr(t + a.length); }, DayPilot.Util.isNullOrUndefined = function (e) { return null === e || "undefined" == typeof e; }, DayPilot.Exception = function (e) { return new Error(e); }, DayPilot.Locale = function (e, t) { if (this.id = e, this.dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], this.dayNamesShort = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], this.monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], this.datePattern = "M/d/yyyy", this.timePattern = "H:mm", this.dateTimePattern = "M/d/yyyy H:mm", this.timeFormat = "Clock12Hours", this.weekStarts = 0, t)
|
|
185
|
+
for (var a in t)
|
|
186
|
+
this[a] = t[a]; }, DayPilot.Locale.all = {}, DayPilot.Locale.find = function (e) { if (!e)
|
|
187
|
+
return null; var t = e.toLowerCase(); return t.length > 2 && (t = DayPilot.Util.replaceCharAt(t, 2, "-")), DayPilot.Locale.all[t]; }, DayPilot.Locale.register = function (e) { DayPilot.Locale.all[e.id] = e; }, DayPilot.Locale.register(new DayPilot.Locale("ca-es", { "dayNames": ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], "dayNamesShort": ["dg", "dl", "dt", "dc", "dj", "dv", "ds"], "monthNames": ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre", ""], "monthNamesShort": ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des.", ""], "timePattern": "H:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("cs-cz", { "dayNames": ["neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"], "dayNamesShort": ["ne", "po", "út", "st", "čt", "pá", "so"], "monthNames": ["leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec", ""], "monthNamesShort": ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", ""], "timePattern": "H:mm", "datePattern": "d. M. yyyy", "dateTimePattern": "d. M. yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("da-dk", { "dayNames": ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"], "dayNamesShort": ["sø", "ma", "ti", "on", "to", "fr", "lø"], "monthNames": ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december", ""], "monthNamesShort": ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", ""], "timePattern": "HH:mm", "datePattern": "dd-MM-yyyy", "dateTimePattern": "dd-MM-yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("de-at", { "dayNames": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], "dayNamesShort": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], "monthNames": ["Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""], "monthNamesShort": ["Jän", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("de-ch", { "dayNames": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], "dayNamesShort": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], "monthNames": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""], "monthNamesShort": ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("de-de", { "dayNames": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], "dayNamesShort": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], "monthNames": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""], "monthNamesShort": ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("de-lu", { "dayNames": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], "dayNamesShort": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], "monthNames": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""], "monthNamesShort": ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("en-au", { "dayNames": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], "dayNamesShort": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], "monthNames": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], "monthNamesShort": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], "timePattern": "h:mm tt", "datePattern": "d/MM/yyyy", "dateTimePattern": "d/MM/yyyy h:mm tt", "timeFormat": "Clock12Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("en-ca", { "dayNames": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], "dayNamesShort": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], "monthNames": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], "monthNamesShort": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], "timePattern": "h:mm tt", "datePattern": "yyyy-MM-dd", "dateTimePattern": "yyyy-MM-dd h:mm tt", "timeFormat": "Clock12Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("en-gb", { "dayNames": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], "dayNamesShort": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], "monthNames": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], "monthNamesShort": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("en-us", { "dayNames": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], "dayNamesShort": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], "monthNames": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], "monthNamesShort": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""], "timePattern": "h:mm tt", "datePattern": "M/d/yyyy", "dateTimePattern": "M/d/yyyy h:mm tt", "timeFormat": "Clock12Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("es-es", { "dayNames": ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], "dayNamesShort": ["D", "L", "M", "X", "J", "V", "S"], "monthNames": ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", ""], "monthNamesShort": ["ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sep.", "oct.", "nov.", "dic.", ""], "timePattern": "H:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("es-mx", { "dayNames": ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], "dayNamesShort": ["do.", "lu.", "ma.", "mi.", "ju.", "vi.", "sá."], "monthNames": ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", ""], "monthNamesShort": ["ene.", "feb.", "mar.", "abr.", "may.", "jun.", "jul.", "ago.", "sep.", "oct.", "nov.", "dic.", ""], "timePattern": "hh:mm tt", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy hh:mm tt", "timeFormat": "Clock12Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("eu-es", { "dayNames": ["igandea", "astelehena", "asteartea", "asteazkena", "osteguna", "ostirala", "larunbata"], "dayNamesShort": ["ig", "al", "as", "az", "og", "or", "lr"], "monthNames": ["urtarrila", "otsaila", "martxoa", "apirila", "maiatza", "ekaina", "uztaila", "abuztua", "iraila", "urria", "azaroa", "abendua", ""], "monthNamesShort": ["urt.", "ots.", "mar.", "api.", "mai.", "eka.", "uzt.", "abu.", "ira.", "urr.", "aza.", "abe.", ""],
|
|
188
|
+
"timePattern": "H:mm", "datePattern": "yyyy/MM/dd", "dateTimePattern": "yyyy/MM/dd H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("fi-fi", { "dayNames": ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], "dayNamesShort": ["su", "ma", "ti", "ke", "to", "pe", "la"], "monthNames": ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu", ""], "monthNamesShort": ["tammi", "helmi", "maalis", "huhti", "touko", "kesä", "heinä", "elo", "syys", "loka", "marras", "joulu", ""], "timePattern": "H:mm", "datePattern": "d.M.yyyy", "dateTimePattern": "d.M.yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("fr-be", { "dayNames": ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], "dayNamesShort": ["di", "lu", "ma", "me", "je", "ve", "sa"], "monthNames": ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre", ""], "monthNamesShort": ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc.", ""], "timePattern": "HH:mm", "datePattern": "dd-MM-yy", "dateTimePattern": "dd-MM-yy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("fr-ch", { "dayNames": ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], "dayNamesShort": ["di", "lu", "ma", "me", "je", "ve", "sa"], "monthNames": ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre", ""], "monthNamesShort": ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc.", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("fr-fr", { "dayNames": ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], "dayNamesShort": ["di", "lu", "ma", "me", "je", "ve", "sa"], "monthNames": ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre", ""], "monthNamesShort": ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc.", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("fr-lu", { "dayNames": ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], "dayNamesShort": ["di", "lu", "ma", "me", "je", "ve", "sa"], "monthNames": ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre", ""], "monthNamesShort": ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc.", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("gl-es", { "dayNames": ["domingo", "luns", "martes", "mércores", "xoves", "venres", "sábado"], "dayNamesShort": ["do", "lu", "ma", "mé", "xo", "ve", "sá"], "monthNames": ["xaneiro", "febreiro", "marzo", "abril", "maio", "xuño", "xullo", "agosto", "setembro", "outubro", "novembro", "decembro", ""], "monthNamesShort": ["xan", "feb", "mar", "abr", "maio", "xuño", "xul", "ago", "set", "out", "nov", "dec", ""], "timePattern": "H:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("it-it", { "dayNames": ["domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato"], "dayNamesShort": ["do", "lu", "ma", "me", "gi", "ve", "sa"], "monthNames": ["gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre", ""], "monthNamesShort": ["gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("it-ch", { "dayNames": ["domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato"], "dayNamesShort": ["do", "lu", "ma", "me", "gi", "ve", "sa"], "monthNames": ["gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre", ""], "monthNamesShort": ["gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("ja-jp", { "dayNames": ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], "dayNamesShort": ["日", "月", "火", "水", "木", "金", "土"], "monthNames": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", ""], "monthNamesShort": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", ""], "timePattern": "H:mm", "datePattern": "yyyy/MM/dd", "dateTimePattern": "yyyy/MM/dd H:mm", "timeFormat": "Clock24Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("nb-no", { "dayNames": ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"], "dayNamesShort": ["sø", "ma", "ti", "on", "to", "fr", "lø"], "monthNames": ["januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember", ""], "monthNamesShort": ["jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("nl-nl", { "dayNames": ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], "dayNamesShort": ["zo", "ma", "di", "wo", "do", "vr", "za"], "monthNames": ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december", ""], "monthNamesShort": ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec", ""], "timePattern": "HH:mm", "datePattern": "d-M-yyyy", "dateTimePattern": "d-M-yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("nl-be", { "dayNames": ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], "dayNamesShort": ["zo", "ma", "di", "wo", "do", "vr", "za"], "monthNames": ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december", ""], "monthNamesShort": ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec", ""], "timePattern": "H:mm", "datePattern": "d/MM/yyyy", "dateTimePattern": "d/MM/yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("nn-no", { "dayNames": ["søndag", "måndag", "tysdag", "onsdag", "torsdag", "fredag", "laurdag"], "dayNamesShort": ["sø", "må", "ty", "on", "to", "fr", "la"], "monthNames": ["januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember", ""], "monthNamesShort": ["jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des", ""], "timePattern": "HH:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("pt-br", { "dayNames": ["domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"], "dayNamesShort": ["D", "S", "T", "Q", "Q", "S", "S"], "monthNames": ["janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro", ""], "monthNamesShort": ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("pl-pl", { "dayNames": ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"], "dayNamesShort": ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So"], "monthNames": ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień", ""], "monthNamesShort": ["sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru", ""], "timePattern": "HH:mm", "datePattern": "yyyy-MM-dd", "dateTimePattern": "yyyy-MM-dd HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("pt-pt", { "dayNames": ["domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"], "dayNamesShort": ["D", "S", "T", "Q", "Q", "S", "S"], "monthNames": ["janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro", ""], "monthNamesShort": ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez", ""], "timePattern": "HH:mm", "datePattern": "dd/MM/yyyy", "dateTimePattern": "dd/MM/yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 0 })), DayPilot.Locale.register(new DayPilot.Locale("ro-ro", { "dayNames": ["duminică", "luni", "marți", "miercuri", "joi", "vineri", "sâmbătă"], "dayNamesShort": ["D", "L", "Ma", "Mi", "J", "V", "S"], "monthNames": ["ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie", ""], "monthNamesShort": ["ian.", "feb.", "mar.", "apr.", "mai.", "iun.", "iul.", "aug.", "sep.", "oct.", "nov.", "dec.", ""], "timePattern": "H:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("ru-ru", { "dayNames": ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], "dayNamesShort": ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], "monthNames": ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь", ""], "monthNamesShort": ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек", ""], "timePattern": "H:mm", "datePattern": "dd.MM.yyyy", "dateTimePattern": "dd.MM.yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("sk-sk", { "dayNames": ["nedeľa", "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota"], "dayNamesShort": ["ne", "po", "ut", "st", "št", "pi", "so"], "monthNames": ["január", "február", "marec", "apríl", "máj", "jún", "júl", "august", "september", "október", "november", "december", ""], "monthNamesShort": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", ""], "timePattern": "H:mm", "datePattern": "d.M.yyyy", "dateTimePattern": "d.M.yyyy H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("sv-se", { "dayNames": ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"], "dayNamesShort": ["sö", "må", "ti", "on", "to", "fr", "lö"], "monthNames": ["januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december", ""], "monthNamesShort": ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", ""], "timePattern": "HH:mm", "datePattern": "yyyy-MM-dd", "dateTimePattern": "yyyy-MM-dd HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("tr-tr", { "dayNames": ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"], "dayNamesShort": ["Pz", "Pt", "Sa", "Ça", "Pe", "Cu", "Ct"], "monthNames": ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık", ""], "monthNamesShort": ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara", ""], "timePattern": "HH:mm", "datePattern": "d.M.yyyy", "dateTimePattern": "d.M.yyyy HH:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.register(new DayPilot.Locale("zh-cn", { "dayNames": ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], "dayNamesShort": ["日", "一", "二", "三", "四", "五", "六"], "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月", ""], "monthNamesShort": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", ""], "timePattern": "H:mm", "datePattern": "yyyy/M/d", "dateTimePattern": "yyyy/M/d H:mm", "timeFormat": "Clock24Hours", "weekStarts": 1 })), DayPilot.Locale.US = DayPilot.Locale.find("en-us"), DayPilot.Duration = function (e) { var t = this, a = 864e5, r = 36e5, o = 6e4, n = 1e3; if (2 === arguments.length) {
|
|
189
|
+
var i = arguments[0], d = arguments[1];
|
|
190
|
+
if (!(i instanceof DayPilot.Date) && "string" != typeof i)
|
|
191
|
+
throw "DayPilot.Duration(): Invalid start argument, DayPilot.Date expected";
|
|
192
|
+
if (!(d instanceof DayPilot.Date) && "string" != typeof d)
|
|
193
|
+
throw "DayPilot.Duration(): Invalid end argument, DayPilot.Date expected";
|
|
194
|
+
"string" == typeof i && (i = new DayPilot.Date(i)), "string" == typeof d && (d = new DayPilot.Date(d)), e = d.getTime() - i.getTime();
|
|
195
|
+
} return this.ticks = e, DayPilot.Date.Cache.DurationCtor["" + e] ? DayPilot.Date.Cache.DurationCtor["" + e] : (DayPilot.Date.Cache.DurationCtor["" + e] = this, this.toString = function (e) { if (!e)
|
|
196
|
+
return t.days() + "." + t.hours() + ":" + t.minutes() + ":" + t.seconds() + "." + t.milliseconds(); var a = t.minutes(); a = (a < 10 ? "0" : "") + a; var r = e; return r = r.replace("mm", a), r = r.replace("m", t.minutes()), r = r.replace("H", t.hours()), r = r.replace("h", t.hours()), r = r.replace("d", t.days()), r = r.replace("s", t.seconds()); }, this.totalHours = function () { return t.ticks / r; }, this.totalDays = function () { return t.ticks / a; }, this.totalMinutes = function () { return t.ticks / o; }, this.totalSeconds = function () { return t.ticks / n; }, this.days = function () { return Math.floor(t.totalDays()); }, this.hours = function () { var e = t.ticks - t.days() * a; return Math.floor(e / r); }, this.minutes = function () { var e = t.ticks - Math.floor(t.totalHours()) * r; return Math.floor(e / o); }, this.seconds = function () { var e = t.ticks - Math.floor(t.totalMinutes()) * o; return Math.floor(e / n); }, void (this.milliseconds = function () { return t.ticks % n; })); }, DayPilot.Duration.weeks = function (e) { return new DayPilot.Duration(1e3 * e * 60 * 60 * 24 * 7); }, DayPilot.Duration.days = function (e) { return new DayPilot.Duration(1e3 * e * 60 * 60 * 24); }, DayPilot.Duration.hours = function (e) { return new DayPilot.Duration(1e3 * e * 60 * 60); }, DayPilot.Duration.minutes = function (e) { return new DayPilot.Duration(1e3 * e * 60); }, DayPilot.Duration.seconds = function (e) { return new DayPilot.Duration(1e3 * e); }, DayPilot.TimeSpan = function () { throw "Please use DayPilot.Duration class instead of DayPilot.TimeSpan."; };
|
|
197
|
+
try {
|
|
198
|
+
DayPilot.TimeSpan.prototype = Object.create(DayPilot.Duration.prototype);
|
|
199
|
+
}
|
|
200
|
+
catch (e) { }
|
|
201
|
+
DayPilot.Date = function (t, a) { if (t instanceof DayPilot.Date)
|
|
202
|
+
return t; var r; DayPilot.Util.isNullOrUndefined(t) && (r = DayPilot.DateUtil.fromLocal().getTime(), t = r); var o = DayPilot.Date.Cache.Ctor; if (o[t])
|
|
203
|
+
return DayPilot.Stats.cacheHitsCtor += 1, o[t]; var n = !1; if ("string" == typeof t)
|
|
204
|
+
r = DayPilot.DateUtil.fromStringSortable(t, a).getTime(), n = !0;
|
|
205
|
+
else if ("number" == typeof t) {
|
|
206
|
+
if (isNaN(t))
|
|
207
|
+
throw "Cannot create DayPilot.Date from NaN";
|
|
208
|
+
r = t;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
if (!(t instanceof Date))
|
|
212
|
+
throw "Unrecognized parameter: use Date, number or string in ISO 8601 format";
|
|
213
|
+
r = a ? DayPilot.DateUtil.fromLocal(t).getTime() : t.getTime();
|
|
214
|
+
} var i = e(r); return o[i] ? o[i] : (o[i] = this, o[r] = this, n && i !== t && DayPilot.DateUtil.hasTzSpec(t) && (o[t] = this), Object.defineProperty && !DayPilot.browser.ielt9 ? (Object.defineProperty(this, "ticks", { get: function () { return r; } }), Object.defineProperty(this, "value", { "value": i, "writable": !1, "enumerable": !0 })) : (this.ticks = r, this.value = i), DayPilot.Date.Config.legacyShowD && (this.d = new Date(r)), void (DayPilot.Stats.dateObjects += 1)); }, DayPilot.Date.Config = {}, DayPilot.Date.Config.legacyShowD = !1, DayPilot.Date.Cache = {}, DayPilot.Date.Cache.Parsing = {}, DayPilot.Date.Cache.Ctor = {}, DayPilot.Date.Cache.Ticks = {}, DayPilot.Date.Cache.DurationCtor = {}, DayPilot.Date.Cache.clear = function () { DayPilot.Date.Cache.Parsing = {}, DayPilot.Date.Cache.Ctor = {}, DayPilot.Date.Cache.Ticks = {}, DayPilot.Date.Cache.DurationCtor = {}; }, DayPilot.Date.prototype.addDays = function (e) { return e ? new DayPilot.Date(this.ticks + 24 * e * 60 * 60 * 1e3) : this; }, DayPilot.Date.prototype.addHours = function (e) { return e ? this.addTime(60 * e * 60 * 1e3) : this; }, DayPilot.Date.prototype.addMilliseconds = function (e) { return e ? this.addTime(e) : this; }, DayPilot.Date.prototype.addMinutes = function (e) { return e ? this.addTime(60 * e * 1e3) : this; }, DayPilot.Date.prototype.addMonths = function (e) { if (!e)
|
|
215
|
+
return this; var t = new Date(this.ticks), a = t.getUTCFullYear(), r = t.getUTCMonth() + 1; if (e > 0) {
|
|
216
|
+
for (; e >= 12;)
|
|
217
|
+
e -= 12, a++;
|
|
218
|
+
e > 12 - r ? (a++, r = e - (12 - r)) : r += e;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
for (; e <= -12;)
|
|
222
|
+
e += 12, a--;
|
|
223
|
+
r + e <= 0 ? (a--, r = 12 + r + e) : r += e;
|
|
224
|
+
} var o = new Date(t.getTime()); o.setUTCDate(1), o.setUTCFullYear(a), o.setUTCMonth(r - 1); var n = new DayPilot.Date(o).daysInMonth(); return o.setUTCDate(Math.min(n, t.getUTCDate())), new DayPilot.Date(o); }, DayPilot.Date.prototype.addSeconds = function (e) { return e ? this.addTime(1e3 * e) : this; }, DayPilot.Date.prototype.addTime = function (e) { return e ? (e instanceof DayPilot.Duration && (e = e.ticks), new DayPilot.Date(this.ticks + e)) : this; }, DayPilot.Date.prototype.addYears = function (e) { var t = new Date(this.ticks), a = new Date(this.ticks), r = this.getYear() + e, o = this.getMonth(); a.setUTCDate(1), a.setUTCFullYear(r), a.setUTCMonth(o); var n = new DayPilot.Date(a).daysInMonth(); return a.setUTCDate(Math.min(n, t.getUTCDate())), new DayPilot.Date(a); }, DayPilot.Date.prototype.dayOfWeek = function () { return new Date(this.ticks).getUTCDay(); }, DayPilot.Date.prototype.getDayOfWeek = function () { return new Date(this.ticks).getUTCDay(); }, DayPilot.Date.prototype.getDayOfYear = function () { var e = this.firstDayOfYear(); return DayPilot.DateUtil.daysDiff(e, this) + 1; }, DayPilot.Date.prototype.daysInMonth = function () { var e = new Date(this.ticks), t = e.getUTCMonth() + 1, a = e.getUTCFullYear(), r = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; return 2 !== t ? r[t - 1] : a % 4 !== 0 ? r[1] : a % 100 === 0 && a % 400 !== 0 ? r[1] : r[1] + 1; }, DayPilot.Date.prototype.daysInYear = function () { var e = this.getYear(); return e % 4 !== 0 ? 365 : e % 100 === 0 && e % 400 !== 0 ? 365 : 366; }, DayPilot.Date.prototype.dayOfYear = function () { return Math.ceil((this.getDatePart().getTime() - this.firstDayOfYear().getTime()) / 864e5) + 1; }, DayPilot.Date.prototype.equals = function (e) { if (null === e)
|
|
225
|
+
return !1; if (e instanceof DayPilot.Date)
|
|
226
|
+
return this === e; throw "The parameter must be a DayPilot.Date object (DayPilot.Date.equals())"; }, DayPilot.Date.prototype.firstDayOfMonth = function () { var e = new Date; return e.setUTCFullYear(this.getYear(), this.getMonth(), 1), e.setUTCHours(0), e.setUTCMinutes(0), e.setUTCSeconds(0), e.setUTCMilliseconds(0), new DayPilot.Date(e); }, DayPilot.Date.prototype.firstDayOfYear = function () { var e = this.getYear(), t = new Date; return t.setUTCFullYear(e, 0, 1), t.setUTCHours(0), t.setUTCMinutes(0), t.setUTCSeconds(0), t.setUTCMilliseconds(0), new DayPilot.Date(t); }, DayPilot.Date.prototype.firstDayOfWeek = function (e) { var t = this; if (e instanceof DayPilot.Locale)
|
|
227
|
+
e = e.weekStarts;
|
|
228
|
+
else if ("string" == typeof e && DayPilot.Locale.find(e)) {
|
|
229
|
+
var a = DayPilot.Locale.find(e);
|
|
230
|
+
e = a.weekStarts;
|
|
231
|
+
}
|
|
232
|
+
else
|
|
233
|
+
e = e || 0; for (var r = t.dayOfWeek(); r !== e;)
|
|
234
|
+
t = t.addDays(-1), r = t.dayOfWeek(); return new DayPilot.Date(t); }, DayPilot.Date.prototype.getDay = function () { return new Date(this.ticks).getUTCDate(); }, DayPilot.Date.prototype.getDatePart = function () { var e = new Date(this.ticks); return e.setUTCHours(0), e.setUTCMinutes(0), e.setUTCSeconds(0), e.setUTCMilliseconds(0), new DayPilot.Date(e); }, DayPilot.Date.prototype.getYear = function () { return new Date(this.ticks).getUTCFullYear(); }, DayPilot.Date.prototype.getHours = function () { return new Date(this.ticks).getUTCHours(); }, DayPilot.Date.prototype.getMilliseconds = function () { return new Date(this.ticks).getUTCMilliseconds(); }, DayPilot.Date.prototype.getMinutes = function () { return new Date(this.ticks).getUTCMinutes(); }, DayPilot.Date.prototype.getMonth = function () { return new Date(this.ticks).getUTCMonth(); }, DayPilot.Date.prototype.getSeconds = function () { return new Date(this.ticks).getUTCSeconds(); }, DayPilot.Date.prototype.getTotalTicks = function () { return this.getTime(); }, DayPilot.Date.prototype.getTime = function () { return this.ticks; }, DayPilot.Date.prototype.getTimePart = function () { var e = this.getDatePart(); return DayPilot.DateUtil.diff(this, e); }, DayPilot.Date.prototype.lastDayOfMonth = function () { var e = new Date(this.firstDayOfMonth().getTime()), t = this.daysInMonth(); return e.setUTCDate(t), new DayPilot.Date(e); }, DayPilot.Date.prototype.weekNumber = function () { var e = this.firstDayOfYear(), t = (this.getTime() - e.getTime()) / 864e5; return Math.ceil((t + e.dayOfWeek() + 1) / 7); }, DayPilot.Date.prototype.weekNumberISO = function () { var e = !1, t = this.dayOfYear(), a = this.firstDayOfYear().dayOfWeek(), r = this.firstDayOfYear().addYears(1).addDays(-1).dayOfWeek(); 0 === a && (a = 7), 0 === r && (r = 7); var o = 8 - a; 4 !== a && 4 !== r || (e = !0); var n = Math.ceil((t - o) / 7), i = n; return o >= 4 && (i += 1), i > 52 && !e && (i = 1), 0 === i && (i = this.firstDayOfYear().addDays(-1).weekNumberISO()), i; }, DayPilot.Date.prototype.toDateLocal = function () { var e = new Date(this.ticks), t = new Date; return t.setFullYear(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()), t.setHours(e.getUTCHours()), t.setMinutes(e.getUTCMinutes()), t.setSeconds(e.getUTCSeconds()), t.setMilliseconds(e.getUTCMilliseconds()), t; }, DayPilot.Date.prototype.toDate = function () { return new Date(this.ticks); }, DayPilot.Date.prototype.toJSON = function () { return this.value; }, DayPilot.Date.prototype.toString = function (e, a) { return e ? new t(e, a).print(this) : this.toStringSortable(); }, DayPilot.Date.prototype.toStringSortable = function () { return e(this.ticks); }, DayPilot.Date.parse = function (e, a, r) { return new t(a, r).parse(e); };
|
|
235
|
+
DayPilot.Date.today = function () { return new DayPilot.Date(DayPilot.DateUtil.localToday(), !0); }, DayPilot.Date.fromYearMonthDay = function (e, t, a) { t = t || 1, a = a || 1; var r = new Date(0); return r.setUTCFullYear(e), r.setUTCMonth(t - 1), r.setUTCDate(a), new DayPilot.Date(r); }, DayPilot.DateUtil = {}, DayPilot.DateUtil.fromStringSortable = function (e, t) { if (!e)
|
|
236
|
+
throw "Can't create DayPilot.Date from an empty string"; var a = e.length, r = 10 === a, o = 19 === a, n = a > 19; if (!r && !o && !n)
|
|
237
|
+
throw "Invalid string format (use '2010-01-01' or '2010-01-01T00:00:00'): " + e; if (DayPilot.Date.Cache.Parsing[e] && !t)
|
|
238
|
+
return DayPilot.Stats.cacheHitsParsing += 1, DayPilot.Date.Cache.Parsing[e]; var i = e.substring(0, 4), d = e.substring(5, 7), s = e.substring(8, 10), l = new Date(0); if (l.setUTCFullYear(i, d - 1, s), r)
|
|
239
|
+
return DayPilot.Date.Cache.Parsing[e] = l, l; var u = e.substring(11, 13), c = e.substring(14, 16), f = e.substring(17, 19); if (l.setUTCHours(u), l.setUTCMinutes(c), l.setUTCSeconds(f), o)
|
|
240
|
+
return DayPilot.Date.Cache.Parsing[e] = l, l; var m = e[19], y = 0; if ("." === m) {
|
|
241
|
+
var h = parseInt(e.substring(20, 23));
|
|
242
|
+
l.setUTCMilliseconds(h), y = DayPilot.DateUtil.getTzOffsetMinutes(e.substring(23));
|
|
243
|
+
}
|
|
244
|
+
else
|
|
245
|
+
y = DayPilot.DateUtil.getTzOffsetMinutes(e.substring(19)); var g = new DayPilot.Date(l); return t || (g = g.addMinutes(-y)), l = g.toDate(), DayPilot.Date.Cache.Parsing[e] = l, l; }, DayPilot.DateUtil.getTzOffsetMinutes = function (e) { if (DayPilot.Util.isNullOrUndefined(e) || "" === e)
|
|
246
|
+
return 0; if ("Z" === e)
|
|
247
|
+
return 0; var t = e[0], a = parseInt(e.substring(1, 3)), r = parseInt(e.substring(4)), o = 60 * a + r; if ("-" === t)
|
|
248
|
+
return -o; if ("+" === t)
|
|
249
|
+
return o; throw "Invalid timezone spec: " + e; }, DayPilot.DateUtil.hasTzSpec = function (e) { return !!e.indexOf("+") || !!e.indexOf("-"); }, DayPilot.DateUtil.daysDiff = function (e, t) { if (e && t || function () { throw "two parameters required"; }(), e = new DayPilot.Date(e), t = new DayPilot.Date(t), e.getTime() > t.getTime())
|
|
250
|
+
return null; for (var a = 0, r = e.getDatePart(), o = t.getDatePart(); r < o;)
|
|
251
|
+
r = r.addDays(1), a++; return a; }, DayPilot.DateUtil.daysSpan = function (e, t) { if (e && t || function () { throw "two parameters required"; }(), e = new DayPilot.Date(e), t = new DayPilot.Date(t), e === t)
|
|
252
|
+
return 0; var a = DayPilot.DateUtil.daysDiff(e, t); return t == t.getDatePart() && a--, a; }, DayPilot.DateUtil.diff = function (e, t) { if (!(e && t && e.getTime && t.getTime))
|
|
253
|
+
throw "Both compared objects must be Date objects (DayPilot.Date.diff)."; return e.getTime() - t.getTime(); }, DayPilot.DateUtil.fromLocal = function (e) { e || (e = new Date); var t = new Date; return t.setUTCFullYear(e.getFullYear(), e.getMonth(), e.getDate()), t.setUTCHours(e.getHours()), t.setUTCMinutes(e.getMinutes()), t.setUTCSeconds(e.getSeconds()), t.setUTCMilliseconds(e.getMilliseconds()), t; }, DayPilot.DateUtil.localToday = function () { var e = new Date; return e.setHours(0), e.setMinutes(0), e.setSeconds(0), e.setMilliseconds(0), e; }, DayPilot.DateUtil.hours = function (e, t) { var a = e.getUTCMinutes(); a < 10 && (a = "0" + a); var r = e.getUTCHours(); if (t) {
|
|
254
|
+
var o = r < 12, r = r % 12;
|
|
255
|
+
0 === r && (r = 12);
|
|
256
|
+
return r + ":" + a + " " + (o ? "AM" : "PM");
|
|
257
|
+
} return r + ":" + a; }, DayPilot.DateUtil.max = function (e, t) { return e.getTime() > t.getTime() ? e : t; }, DayPilot.DateUtil.min = function (e, t) { return e.getTime() < t.getTime() ? e : t; };
|
|
258
|
+
var t = function (e, t) { "string" == typeof t && (t = DayPilot.Locale.find(t)); var t = t || DayPilot.Locale.US, a = [{ "seq": "yyyy", "expr": "[0-9]{4,4}", "str": function (e) { return e.getYear(); } }, { "seq": "yy", "expr": "[0-9]{2,2}", "str": function (e) { return e.getYear() % 100; } }, { "seq": "mm", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getMinutes(); return t < 10 ? "0" + t : t; } }, { "seq": "m", "expr": "[0-9]{1,2}", "str": function (e) { return e.getMinutes(); } }, { "seq": "HH", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getHours(); return t < 10 ? "0" + t : t; } }, { "seq": "H", "expr": "[0-9]{1,2}", "str": function (e) { return e.getHours(); } }, { "seq": "hh", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getHours(), t = t % 12; 0 === t && (t = 12); var a = t; return a < 10 ? "0" + a : a; } }, { "seq": "h", "expr": "[0-9]{1,2}", "str": function (e) { var t = e.getHours(), t = t % 12; return 0 === t && (t = 12), t; } }, { "seq": "ss", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getSeconds(); return t < 10 ? "0" + t : t; } }, { "seq": "s", "expr": "[0-9]{1,2}", "str": function (e) { return e.getSeconds(); } }, { "seq": "MMMM", "expr": "[^\\s0-9]*", "str": function (e) { return t.monthNames[e.getMonth()]; }, "transform": function (e) { var a = DayPilot.indexOf(t.monthNames, e, equalsIgnoreCase); return a < 0 ? null : a + 1; } }, { "seq": "MMM", "expr": "[^\\s0-9]*", "str": function (e) { return t.monthNamesShort[e.getMonth()]; }, "transform": function (e) { var a = DayPilot.indexOf(t.monthNamesShort, e, equalsIgnoreCase); return a < 0 ? null : a + 1; } }, { "seq": "MM", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getMonth() + 1; return t < 10 ? "0" + t : t; } }, { "seq": "M", "expr": "[0-9]{1,2}", "str": function (e) { return e.getMonth() + 1; } }, { "seq": "dddd", "expr": "[^\\s0-9]*", "str": function (e) { return t.dayNames[e.getDayOfWeek()]; } }, { "seq": "ddd", "expr": "[^\\s0-9]*", "str": function (e) { return t.dayNamesShort[e.getDayOfWeek()]; } }, { "seq": "dd", "expr": "[0-9]{2,2}", "str": function (e) { var t = e.getDay(); return t < 10 ? "0" + t : t; } }, { "seq": "%d", "expr": "[0-9]{1,2}", "str": function (e) { return e.getDay(); } }, { "seq": "d", "expr": "[0-9]{1,2}", "str": function (e) { return e.getDay(); } }, { "seq": "tt", "expr": "(AM|PM|am|pm)", "str": function (e) { return e.getHours() < 12 ? "AM" : "PM"; }, "transform": function (e) { return e.toUpperCase(); } }], r = function (e) { return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); }; this.init = function () { this.year = this.findSequence("yyyy"), this.month = this.findSequence("MMMM") || this.findSequence("MMM") || this.findSequence("MM") || this.findSequence("M"), this.day = this.findSequence("dd") || this.findSequence("d"), this.hours = this.findSequence("HH") || this.findSequence("H"), this.minutes = this.findSequence("mm") || this.findSequence("m"), this.seconds = this.findSequence("ss") || this.findSequence("s"), this.ampm = this.findSequence("tt"), this.hours12 = this.findSequence("hh") || this.findSequence("h"); }, this.findSequence = function (t) { function o(e) { return parseInt(e); } return e.indexOf(t) === -1 ? null : { "findValue": function (n) { for (var i = r(e), d = null, s = 0; s < a.length; s++) {
|
|
259
|
+
var l = (a[s].length, t === a[s].seq), u = a[s].expr;
|
|
260
|
+
l && (u = "(" + u + ")", d = a[s].transform), i = i.replace(a[s].seq, u);
|
|
261
|
+
} i = "^" + i + "$"; try {
|
|
262
|
+
var c = new RegExp(i), f = c.exec(n);
|
|
263
|
+
return f ? (d = d || o)(f[1]) : null;
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
throw "unable to create regex from: " + i;
|
|
267
|
+
} } }; }, this.print = function (t) { for (var r = function (e) { for (var t = 0; t < a.length; t++)
|
|
268
|
+
if (a[t] && a[t].seq === e)
|
|
269
|
+
return a[t]; return null; }, o = e.length <= 0, n = 0, i = []; !o;) {
|
|
270
|
+
var d = e.substring(n), s = /%?(.)\1*/.exec(d);
|
|
271
|
+
if (s && s.length > 0) {
|
|
272
|
+
var l = s[0], u = r(l);
|
|
273
|
+
u ? i.push(u) : i.push(l), n += l.length, o = e.length <= n;
|
|
274
|
+
}
|
|
275
|
+
else
|
|
276
|
+
o = !0;
|
|
277
|
+
} for (var c = 0; c < i.length; c++) {
|
|
278
|
+
var f = i[c];
|
|
279
|
+
"string" != typeof f && (i[c] = f.str(t));
|
|
280
|
+
} return i.join(""); }, this.parse = function (e) { var t = this.year.findValue(e); if (!t)
|
|
281
|
+
return null; var a = this.month.findValue(e); if (DayPilot.Util.isNullOrUndefined(a))
|
|
282
|
+
return null; if (a > 12 || a < 1)
|
|
283
|
+
return null; var r = this.day.findValue(e), o = DayPilot.Date.fromYearMonthDay(t, a).daysInMonth(); if (r < 1 || r > o)
|
|
284
|
+
return null; var n = this.hours ? this.hours.findValue(e) : 0, i = this.minutes ? this.minutes.findValue(e) : 0, d = this.seconds ? this.seconds.findValue(e) : 0, s = this.ampm ? this.ampm.findValue(e) : null; if (this.ampm && this.hours12) {
|
|
285
|
+
var l = this.hours12.findValue(e);
|
|
286
|
+
if (l < 1 || l > 12)
|
|
287
|
+
return null;
|
|
288
|
+
n = "PM" === s ? 12 === l ? 12 : l + 12 : 12 === l ? 0 : l;
|
|
289
|
+
} if (n < 0 || n > 23)
|
|
290
|
+
return null; if (i < 0 || i > 59)
|
|
291
|
+
return null; if (d < 0 || d > 59)
|
|
292
|
+
return null; var u = new Date; return u.setUTCFullYear(t, a - 1, r), u.setUTCHours(n), u.setUTCMinutes(i), u.setUTCSeconds(d), u.setUTCMilliseconds(0), new DayPilot.Date(u); }, this.init(); };
|
|
293
|
+
DayPilot.Event = function (e, t, a) { var r = this; this.calendar = t, this.data = e ? e : {}, this.part = a ? a : {}, "undefined" == typeof this.data.id && (this.data.id = this.data.value); var o = {}, n = ["id", "text", "start", "end"]; this.isEvent = !0, this.temp = function () { if (o.dirty)
|
|
294
|
+
return o; for (var e = 0; e < n.length; e++)
|
|
295
|
+
o[n[e]] = r.data[n[e]]; return o.dirty = !0, o; }, this.copy = function () { for (var e = {}, t = 0; t < n.length; t++)
|
|
296
|
+
e[n[t]] = r.data[n[t]]; return e; }, this.commit = function () { if (o.dirty) {
|
|
297
|
+
for (var e = 0; e < n.length; e++)
|
|
298
|
+
r.data[n[e]] = o[n[e]];
|
|
299
|
+
o.dirty = !1;
|
|
300
|
+
} }, this.dirty = function () { return o.dirty; }, this.id = function (e) { return "undefined" == typeof e ? r.data.id : void (this.temp().id = e); }, this.value = function (e) { return "undefined" == typeof e ? r.id() : void r.id(e); }, this.text = function (e) { return "undefined" == typeof e ? r.data.text : (this.temp().text = e, void this.client.innerHTML(e)); }, this.start = function (e) { return "undefined" == typeof e ? new DayPilot.Date(r.data.start) : void (this.temp().start = new DayPilot.Date(e)); }, this.end = function (e) { return "undefined" == typeof e ? new DayPilot.Date(r.data.end) : void (this.temp().end = new DayPilot.Date(e)); }, this.partStart = function () { return new DayPilot.Date(this.part.start); }, this.partEnd = function () { return new DayPilot.Date(this.part.end); }, this.tag = function (e) { var t = r.data.tag; if (!t)
|
|
301
|
+
return null; if ("undefined" == typeof e)
|
|
302
|
+
return r.data.tag; for (var a = r.calendar.tagFields, o = -1, n = 0; n < a.length; n++)
|
|
303
|
+
e === a[n] && (o = n); if (o === -1)
|
|
304
|
+
throw "Field name not found."; return t[o]; }, this.client = {}, this.client.innerHTML = function (e) { return "undefined" == typeof e ? r.cache && "undefined" != typeof r.cache.html ? r.cache.html : "undefined" != typeof r.data.html ? r.data.html : r.data.text : void (r.data.html = e); }, this.client.html = this.client.innerHTML, this.client.header = function (e) { return "undefined" == typeof e ? r.data.header : void (r.data.header = e); }, this.client.cssClass = function (e) { return "undefined" == typeof e ? r.data.cssClass : void (r.data.cssClass = e); }, this.client.toolTip = function (e) { return "undefined" == typeof e ? r.cache && "undefined" != typeof r.cache.toolTip ? r.cache.toolTip : "undefined" != typeof r.data.toolTip ? r.data.toolTip : r.data.text : void (r.data.toolTip = e); }, this.client.barVisible = function (e) { return "undefined" == typeof e ? r.cache && "undefined" != typeof r.cache.barHidden ? !r.cache.barHidden : r.calendar.durationBarVisible && !r.data.barHidden : void (r.data.barHidden = !e); }, this.client.backColor = function (e) { return "undefined" == typeof e ? r.cache && "undefined" != typeof r.cache.backColor ? r.cache.backColor : "undefined" != typeof r.data.backColor ? r.data.backColor : r.calendar.eventBackColor : void (r.data.backColor = e); }, this.client.borderColor = function (e) { return "undefined" == typeof e ? r.cache && "undefined" != typeof r.cache.borderColor ? r.cache.borderColor : "undefined" != typeof r.data.borderColor ? r.data.borderColor : r.calendar.eventBorderColor : void (r.data.borderColor = e); }, this.client.moveEnabled = function (e) { return "undefined" == typeof e ? "Disabled" !== r.calendar.eventMoveHandling && !r.data.moveDisabled : void (r.data.moveDisabled = !e); }, this.client.resizeEnabled = function (e) { return "undefined" == typeof e ? "Disabled" !== r.calendar.eventResizeHandling && !r.data.resizeDisabled : void (r.data.resizeDisabled = !e); }, this.client.clickEnabled = function (e) { return "undefined" == typeof e ? "Disabled" !== r.calendar.eventClickHandling && !r.data.clickDisabled : void (r.data.clickDisabled = !e); }, this.toJSON = function (e) { var t = {}; if (t.value = this.id(), t.id = this.id(), t.text = this.text(), t.start = this.start(), t.end = this.end(), t.tag = {}, r.calendar && r.calendar.tagFields)
|
|
305
|
+
for (var a = r.calendar.tagFields, o = 0; o < a.length; o++)
|
|
306
|
+
t.tag[a[o]] = this.tag(a[o]); return t; }; };
|
|
307
|
+
}
|
|
308
|
+
}(), DayPilot.JSON = {}, function () {
|
|
309
|
+
function e(e) { return e < 10 ? "0" + e : e; }
|
|
310
|
+
function t(e) { return i.lastIndex = 0, i.test(e) ? '"' + e.replace(i, function (e) { var t = d[e]; return "string" == typeof t ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4); }) + '"' : '"' + e + '"'; }
|
|
311
|
+
function a(e, i) {
|
|
312
|
+
var d, s, l, u, c, f = r, m = i[e];
|
|
313
|
+
switch (m && "object" == typeof m && "function" == typeof m.toJSON2 ? m = m.toJSON2(e) : m && "object" == typeof m && "function" == typeof m.toJSON && !m.ignoreToJSON && (m = m.toJSON(e)),
|
|
314
|
+
"function" == typeof n && (m = n.call(i, e, m)), typeof m) {
|
|
315
|
+
case "string": return t(m);
|
|
316
|
+
case "number": return isFinite(m) ? String(m) : "null";
|
|
317
|
+
case "boolean":
|
|
318
|
+
case "null": return String(m);
|
|
319
|
+
case "object":
|
|
320
|
+
if (!m)
|
|
321
|
+
return "null";
|
|
322
|
+
if (r += o, c = [], "number" == typeof m.length && !m.propertyIsEnumerable("length")) {
|
|
323
|
+
for (u = m.length, d = 0; d < u; d += 1)
|
|
324
|
+
c[d] = a(d, m) || "null";
|
|
325
|
+
return l = 0 === c.length ? "[]" : r ? "[\n" + r + c.join(",\n" + r) + "\n" + f + "]" : "[" + c.join(",") + "]", r = f, l;
|
|
326
|
+
}
|
|
327
|
+
if (n && "object" == typeof n)
|
|
328
|
+
for (u = n.length, d = 0; d < u; d += 1)
|
|
329
|
+
s = n[d], "string" == typeof s && (l = a(s, m), l && c.push(t(s) + (r ? ": " : ":") + l));
|
|
330
|
+
else
|
|
331
|
+
for (s in m)
|
|
332
|
+
Object.hasOwnProperty.call(m, s) && (l = a(s, m), l && c.push(t(s) + (r ? ": " : ":") + l));
|
|
333
|
+
return l = 0 === c.length ? "{}" : r ? "{\n" + r + c.join(",\n" + r) + "\n" + f + "}" : "{" + c.join(",") + "}", r = f, l;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
"function" != typeof Date.prototype.toJSON2 && (Date.prototype.toJSON2 = function (t) { return this.getUTCFullYear() + "-" + e(this.getUTCMonth() + 1) + "-" + e(this.getUTCDate()) + "T" + e(this.getUTCHours()) + ":" + e(this.getUTCMinutes()) + ":" + e(this.getUTCSeconds()); }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function (e) { return this.valueOf(); });
|
|
337
|
+
var r, o, n, i = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, d = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" };
|
|
338
|
+
"function" != typeof DayPilot.JSON.stringify && (DayPilot.JSON.stringify = function (e, t, i) { var d; if (r = "", o = "", "number" == typeof i)
|
|
339
|
+
for (d = 0; d < i; d += 1)
|
|
340
|
+
o += " ";
|
|
341
|
+
else
|
|
342
|
+
"string" == typeof i && (o = i); if (n = t, t && "function" != typeof t && ("object" != typeof t || "number" != typeof t.length))
|
|
343
|
+
throw new Error("JSON.stringify"); return a("", { "": e }); });
|
|
344
|
+
}();
|
|
345
|
+
if ("undefined" == typeof DayPilot)
|
|
346
|
+
var DayPilot = {};
|
|
347
|
+
"undefined" == typeof DayPilot.Global && (DayPilot.Global = {}), function () {
|
|
348
|
+
var e = function () { };
|
|
349
|
+
if ("undefined" == typeof DayPilot.Calendar || !DayPilot.Calendar.events) {
|
|
350
|
+
var t = {};
|
|
351
|
+
t.selectedCells = [], t.topSelectedCell = null, t.bottomSelectedCell = null, t.selecting = !1, t.column = null, t.firstSelected = null, t.firstMousePos = null, t.originalMouse = null, t.originalHeight = null, t.originalTop = null, t.resizing = null, t.globalHandlers = !1, t.moving = null, t.register = function (e) { t.registered || (t.registered = []); for (var i = t.registered, n = 0; n < i.length; n++)
|
|
352
|
+
if (i[n] === e)
|
|
353
|
+
return; i.push(e); }, t.unregister = function (e) { var i = t.registered; if (i) {
|
|
354
|
+
var n = DayPilot.indexOf(i, e);
|
|
355
|
+
n !== -1 && i.splice(n, 1);
|
|
356
|
+
} }, t.getCellsAbove = function (e) { for (var i = [], n = t.getColumn(e), s = e.parentNode, l = null; s && l !== t.firstSelected;)
|
|
357
|
+
for (l = s.getElementsByTagName("td")[n], i.push(l), s = s.previousSibling; s && "TR" !== s.tagName;)
|
|
358
|
+
s = s.previousSibling; return i; }, t.getCellsBelow = function (e) { for (var i = [], n = t.getColumn(e), s = e.parentNode, l = null; s && l !== t.firstSelected;)
|
|
359
|
+
for (l = s.getElementsByTagName("td")[n], i.push(l), s = s.nextSibling; s && "TR" !== s.tagName;)
|
|
360
|
+
s = s.nextSibling; return i; }, t.getColumn = function (e) { for (var t = 0; e.previousSibling;)
|
|
361
|
+
e = e.previousSibling, "TD" === e.tagName && t++; return t; }, t.gUnload = function (e) { if (t.registered)
|
|
362
|
+
for (var i = t.registered, n = 0; n < i.length; n++) {
|
|
363
|
+
var s = i[n];
|
|
364
|
+
s.dispose(), t.unregister(s);
|
|
365
|
+
} }, t.gMouseUp = function (i) { if (t.resizing) {
|
|
366
|
+
if (!t.resizingShadow)
|
|
367
|
+
return t.resizing.style.cursor = "default", document.body.style.cursor = "default", void (t.resizing = null);
|
|
368
|
+
var n = t.resizing.event, s = t.resizingShadow.clientHeight + 4, l = t.resizingShadow.offsetTop, a = t.resizing.dpBorder;
|
|
369
|
+
t.deleteShadow(t.resizingShadow), t.resizingShadow = null, t.resizing.style.cursor = "default", n.calendar.nav.top.style.cursor = "auto", t.resizing.onclick = null, t.resizing = null, n.calendar.a(n, s, l, a);
|
|
370
|
+
}
|
|
371
|
+
else if (t.moving) {
|
|
372
|
+
if (!t.movingShadow)
|
|
373
|
+
return t.moving = null, void (document.body.style.cursor = "default");
|
|
374
|
+
var l = t.movingShadow.offsetTop;
|
|
375
|
+
t.deleteShadow(t.movingShadow);
|
|
376
|
+
var n = t.moving.event, o = t.movingShadow.column;
|
|
377
|
+
t.moving = null, t.movingShadow = null, n.calendar.nav.top.style.cursor = "auto";
|
|
378
|
+
var r = i || window.event;
|
|
379
|
+
n.calendar.b(n, o, l, r);
|
|
380
|
+
}
|
|
381
|
+
else if (t.selecting && null !== t.topSelectedCell) {
|
|
382
|
+
var h = t.selecting.calendar;
|
|
383
|
+
t.selecting = !1;
|
|
384
|
+
var c = h.getSelection();
|
|
385
|
+
h.c(c.start, c.end), "Hold" !== h.timeRangeSelectedHandling && "HoldForever" !== h.timeRangeSelectedHandling && e();
|
|
386
|
+
}
|
|
387
|
+
else
|
|
388
|
+
t.selecting = !1; }, t.deleteShadow = function (e) { e && e.parentNode && e.parentNode.removeChild(e); }, t.moveShadow = function (e) { var i = t.movingShadow, n = i.parentNode; n.style.display = "none", i.parentNode.removeChild(i), e.firstChild.appendChild(i), i.style.left = "0px", n.style.display = "", i.style.width = t.movingShadow.parentNode.offsetWidth + 1 + "px"; }, t.Calendar = function (e, i) {
|
|
389
|
+
var n = !1;
|
|
390
|
+
if (this instanceof t.Calendar && !this.d && (n = !0, this.d = !0), !n)
|
|
391
|
+
throw "DayPilot.Calendar() is a constructor and must be called as 'var c = new DayPilot.Calendar(id);'";
|
|
392
|
+
var s = this;
|
|
393
|
+
this.uniqueID = null, this.v = "2021.4.338-lite", this.id = e, this.clientName = e, this.cache = {}, this.cache.pixels = {}, this.elements = {}, this.elements.events = [], this.elements.selection = [], this.nav = {}, this.afterRender = function () { }, this.fasterDispose = !0, this.angularAutoApply = !1, this.api = 2, this.businessBeginsHour = 9, this.businessEndsHour = 18, this.cellHeight = 30, this.columnMarginRight = 5, this.f = !0, this.days = 1, this.durationBarVisible = !0, this.eventHeaderHeight = 14, this.eventHeaderVisible = !0, this.eventsLoadMethod = "GET", this.headerHeight = 30, this.height = 300, this.heightSpec = "BusinessHours", this.hideUntilInit = !0, this.hourWidth = 60, this.initScrollPos = "Auto", this.loadingLabelText = "Loading...", this.loadingLabelVisible = !0, this.loadingLabelBackColor = "ff0000", this.loadingLabelFontColor = "#ffffff", this.loadingLabelFontFamily = "Tahoma, Arial, Helvetica, sans-serif", this.loadingLabelFontSize = "10pt", this.locale = "en-us", this.showToolTip = !0, this.startDate = (new DayPilot.Date).getDatePart(), this.cssClassPrefix = "calendar_default", this.theme = null, this.timeFormat = "Auto", this.viewType = "Days", this.visible = !0, this.timeRangeSelectedHandling = "Enabled", this.eventClickHandling = "Enabled", this.eventResizeHandling = "Update", this.eventMoveHandling = "Update", this.eventDeleteHandling = "Disabled", this.onBeforeEventRender = null, this.onEventClick = null, this.onEventClicked = null, this.onEventDelete = null, this.onEventDeleted = null, this.onEventMove = null, this.onEventMoved = null, this.onEventResize = null, this.onEventResized = null, this.onTimeRangeSelect = null, this.onTimeRangeSelected = null, this.clearSelection = function () { t.topSelectedCell = null, t.bottomSelectedCell = null, this.g(); }, this.g = function () { DayPilot.de(s.elements.selection), s.elements.selection = [], s.nav.activeSelection = null; }, this.h = navigator && navigator.userAgent && navigator.userAgent.indexOf("MSIE") !== -1, this.i = navigator && navigator.userAgent && navigator.userAgent.indexOf("Firefox") !== -1, this.j = function () { if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
|
|
394
|
+
return new Number(RegExp.$1) >= 10.5;
|
|
395
|
+
} return !1; }(), this.k = function () { if (/AppleWebKit[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
|
|
396
|
+
return new Number(RegExp.$1) >= 522;
|
|
397
|
+
} return !1; }(), this.cleanSelection = this.clearSelection, this.l = function (e, t, i) { var n = {}; n.action = e, n.parameters = i, n.data = t, n.header = this.m(); var l = "JSON" + DayPilot.JSON.stringify(n); __doPostBack(s.uniqueID, l); }, this.n = function (e, t, i) { this.callbackTimeout && window.clearTimeout(this.callbackTimeout), this.callbackTimeout = window.setTimeout(function () { s.loadingStart(); }, 100); var n = {}; n.action = e, n.parameters = i, n.data = t, n.header = this.m(); var l = "JSON" + DayPilot.JSON.stringify(n); this.backendUrl ? DayPilot.request(this.backendUrl, this.o, l, this.ajaxError) : "function" == typeof WebForm_DoCallback && WebForm_DoCallback(this.uniqueID, l, this.p, this.clientName, this.onCallbackError, !0); }, this.onCallbackError = function (e, t) { alert("Error!\r\nResult: " + e + "\r\nContext:" + t); }, this.dispose = function () { var e = s; e.q(), e.nav.scroll.root = null, DayPilot.pu(e.nav.loading), e.r(), e.s(), e.nav.select = null, e.nav.cornerRight = null, e.nav.scrollable = null, e.nav.zoom = null, e.nav.loading = null, e.nav.header = null, e.nav.hourTable = null, e.nav.scrolltop = null, e.nav.scroll = null, e.nav.main = null, e.nav.message = null, e.nav.messageClose = null, e.nav.top = null, t.unregister(e); }, this.t = function () { this.nav.top.dispose = this.dispose; }, this.o = function (e) { s.p(e.responseText); }, this.m = function () { var e = {}; return e.control = "dpc", e.id = this.id, e.v = this.v, e.days = s.days, e.startDate = s.startDate, e.heightSpec = s.heightSpec, e.businessBeginsHour = s.businessBeginsHour, e.businessEndsHour = s.businessEndsHour, e.hashes = s.hashes, e.timeFormat = s.timeFormat, e.viewType = s.viewType, e.locale = s.locale, e; }, this.u = function (e, t) { for (var i = e.parentNode; i && "TD" !== i.tagName;)
|
|
398
|
+
i = i.parentNode; var n = document.createElement("div"); n.setAttribute("unselectable", "on"), n.style.position = "absolute", n.style.width = e.offsetWidth + "px", n.style.height = e.offsetHeight + "px", n.style.left = e.offsetLeft + "px", n.style.top = e.offsetTop + "px", n.style.boxSizing = "border-box", n.style.zIndex = 101, n.className = s.w("_shadow"); var l = document.createElement("div"); return l.className = s.w("_shadow_inner"), n.appendChild(l), i.firstChild.appendChild(n), n; }, this.z = {}, this.z.locale = function () { var e = DayPilot.Locale.find(s.locale); return e ? e : DayPilot.Locale.US; }, this.z.timeFormat = function () { return "Auto" !== s.timeFormat ? s.timeFormat : this.locale().timeFormat; };
|
|
399
|
+
var l = this.z;
|
|
400
|
+
this.p = function (e, t) { if (e && 0 === e.indexOf("$$$")) {
|
|
401
|
+
if (!window.console)
|
|
402
|
+
throw "Error received from the server side: " + e;
|
|
403
|
+
return void console.log("Error received from the server side: " + e);
|
|
404
|
+
} var e = JSON.parse(e); if (e.CallBackRedirect)
|
|
405
|
+
return void (document.location.href = e.CallBackRedirect); if ("None" === e.UpdateType)
|
|
406
|
+
return s.loadingStop(), void s.A(); if (s.q(), "Full" === e.UpdateType && (s.columns = e.Columns, s.days = e.Days, s.startDate = new DayPilot.Date(e.StartDate), s.heightSpec = e.HeightSpec ? e.HeightSpec : s.heightSpec, s.businessBeginsHour = e.BusinessBeginsHour ? e.BusinessBeginsHour : s.businessBeginsHour, s.businessEndsHour = e.BusinessEndsHour ? e.BusinessEndsHour : s.businessEndsHour, s.headerDateFormat = e.HeaderDateFormat ? e.HeaderDateFormat : s.headerDateFormat, s.viewType = e.ViewType, s.backColor = e.BackColor ? e.BackColor : s.backColor, s.eventHeaderVisible = e.EventHeaderVisible ? e.EventHeaderVisible : s.eventHeaderVisible, s.timeFormat = e.TimeFormat ? e.TimeFormat : s.timeFormat, s.locale = e.Locale ? e.Locale : s.locale, s.B()), e.Hashes)
|
|
407
|
+
for (var i in e.Hashes)
|
|
408
|
+
s.hashes[i] = e.Hashes[i]; s.events.list = e.Events, s.C(), s.D(), "Full" === e.UpdateType && (s.E(), s.F(), s.G(), s.H()), s.A(), s.I(), s.clearSelection(), s.afterRender(e.CallBackData, !0), s.loadingStop(); }, this.J = function () { return 24; }, this.K = function () { return this.businessBeginsHour > this.businessEndsHour ? 24 - this.businessBeginsHour + this.businessEndsHour : this.businessEndsHour - this.businessBeginsHour; }, this.L = function () { return 48; }, this.M = function () { return 2 === s.api; }, this.eventClickCallBack = function (e, t) { this.n("EventClick", t, e); }, this.eventClickPostBack = function (e, t) { this.l("EventClick", t, e); }, this.N = function (e) { var t = this, i = t.event; if (s.M()) {
|
|
409
|
+
var n = {};
|
|
410
|
+
if (n.e = i, n.originalEvent = e, n.meta = e.metaKey, n.ctrl = e.ctrlKey, n.control = s, n.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof s.onEventClick && (s.O.apply(function () { s.onEventClick(n); }), n.preventDefault.value))
|
|
411
|
+
return;
|
|
412
|
+
switch (s.eventClickHandling) {
|
|
413
|
+
case "CallBack":
|
|
414
|
+
s.eventClickCallBack(i);
|
|
415
|
+
break;
|
|
416
|
+
case "PostBack": s.eventClickPostBack(i);
|
|
417
|
+
}
|
|
418
|
+
"function" == typeof s.onEventClicked && s.O.apply(function () { s.onEventClicked(n); });
|
|
419
|
+
}
|
|
420
|
+
else
|
|
421
|
+
switch (s.eventClickHandling) {
|
|
422
|
+
case "PostBack":
|
|
423
|
+
s.eventClickPostBack(i);
|
|
424
|
+
break;
|
|
425
|
+
case "CallBack":
|
|
426
|
+
s.eventClickCallBack(i);
|
|
427
|
+
break;
|
|
428
|
+
case "JavaScript": s.onEventClick(i);
|
|
429
|
+
} }, this.eventDeleteCallBack = function (e, t) { this.n("EventDelete", t, e); }, this.eventDeletePostBack = function (e, t) { this.l("EventDelete", t, e); }, this.P = function (e) { if (s.M()) {
|
|
430
|
+
var t = {};
|
|
431
|
+
if (t.e = e, t.control = s, t.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof s.onEventDelete && (s.O.apply(function () { s.onEventDelete(t); }), t.preventDefault.value))
|
|
432
|
+
return;
|
|
433
|
+
switch (s.eventDeleteHandling) {
|
|
434
|
+
case "CallBack":
|
|
435
|
+
s.eventDeleteCallBack(e);
|
|
436
|
+
break;
|
|
437
|
+
case "PostBack":
|
|
438
|
+
s.eventDeletePostBack(e);
|
|
439
|
+
break;
|
|
440
|
+
case "Update": s.events.remove(e);
|
|
441
|
+
}
|
|
442
|
+
"function" == typeof s.onEventDeleted && s.O.apply(function () { s.onEventDeleted(t); });
|
|
443
|
+
}
|
|
444
|
+
else
|
|
445
|
+
switch (s.eventDeleteHandling) {
|
|
446
|
+
case "PostBack":
|
|
447
|
+
s.eventDeletePostBack(e);
|
|
448
|
+
break;
|
|
449
|
+
case "CallBack":
|
|
450
|
+
s.eventDeleteCallBack(e);
|
|
451
|
+
break;
|
|
452
|
+
case "JavaScript": s.onEventDelete(e);
|
|
453
|
+
} }, this.eventResizeCallBack = function (e, t, i, n) { if (!t)
|
|
454
|
+
throw "newStart is null"; if (!i)
|
|
455
|
+
throw "newEnd is null"; var s = {}; s.e = e, s.newStart = t, s.newEnd = i, this.n("EventResize", n, s); }, this.eventResizePostBack = function (e, t, i, n) { if (!t)
|
|
456
|
+
throw "newStart is null"; if (!i)
|
|
457
|
+
throw "newEnd is null"; var s = {}; s.e = e, s.newStart = t, s.newEnd = i, this.l("EventResize", n, s); }, this.a = function (e, t, i, n) { var l = 1, a = new Date, o = new Date, r = e.start(), h = e.end(); if ("top" === n) {
|
|
458
|
+
var c = r.getDatePart(), d = Math.floor((i - l) / s.cellHeight), u = 30 * d, v = 60 * u * 1e3;
|
|
459
|
+
a = c.addTime(v), o = e.end();
|
|
460
|
+
}
|
|
461
|
+
else if ("bottom" === n) {
|
|
462
|
+
var c = h.getDatePart(), d = Math.floor((i + t - l) / s.cellHeight), u = 30 * d, v = 60 * u * 1e3;
|
|
463
|
+
a = r, o = c.addTime(v);
|
|
464
|
+
} if (s.M()) {
|
|
465
|
+
var p = {};
|
|
466
|
+
if (p.e = e, p.control = s, p.newStart = a, p.newEnd = o, p.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof s.onEventResize && (s.O.apply(function () { s.onEventResize(p); }), p.preventDefault.value))
|
|
467
|
+
return;
|
|
468
|
+
switch (s.eventResizeHandling) {
|
|
469
|
+
case "PostBack":
|
|
470
|
+
s.eventResizePostBack(e, a, o);
|
|
471
|
+
break;
|
|
472
|
+
case "CallBack":
|
|
473
|
+
s.eventResizeCallBack(e, a, o);
|
|
474
|
+
break;
|
|
475
|
+
case "Update": e.start(a), e.end(o), s.events.update(e);
|
|
476
|
+
}
|
|
477
|
+
"function" == typeof s.onEventResized && s.O.apply(function () { s.onEventResized(p); });
|
|
478
|
+
}
|
|
479
|
+
else
|
|
480
|
+
switch (s.eventResizeHandling) {
|
|
481
|
+
case "PostBack":
|
|
482
|
+
s.eventResizePostBack(e, a, o);
|
|
483
|
+
break;
|
|
484
|
+
case "CallBack":
|
|
485
|
+
s.eventResizeCallBack(e, a, o);
|
|
486
|
+
break;
|
|
487
|
+
case "JavaScript": s.onEventResize(e, a, o);
|
|
488
|
+
} }, this.eventMovePostBack = function (e, t, i, n, s) { if (!t)
|
|
489
|
+
throw "newStart is null"; if (!i)
|
|
490
|
+
throw "newEnd is null"; var l = {}; l.e = e, l.newStart = t, l.newEnd = i, this.l("EventMove", s, l); }, this.eventMoveCallBack = function (e, t, i, n, s) { if (!t)
|
|
491
|
+
throw "newStart is null"; if (!i)
|
|
492
|
+
throw "newEnd is null"; var l = {}; l.e = e, l.newStart = t, l.newEnd = i, this.n("EventMove", s, l); }, this.b = function (e, t, i, n) { var l = 1, a = Math.floor((i - l) / s.cellHeight), o = 30 * a * 60 * 1e3, r = e.start(), h = e.end(), c = new Date; r instanceof DayPilot.Date && (r = r.toDate()), c.setTime(Date.UTC(r.getUTCFullYear(), r.getUTCMonth(), r.getUTCDate())); var d = r.getTime() - (c.getTime() + 3600 * r.getUTCHours() * 1e3 + 30 * Math.floor(r.getUTCMinutes() / 30) * 60 * 1e3), u = h.getTime() - r.getTime(), v = this.columns[t], p = v.Start.getTime(), f = new Date; f.setTime(p + o + d); var g = new DayPilot.Date(f), m = g.addTime(u); if (s.M()) {
|
|
493
|
+
var y = {};
|
|
494
|
+
if (y.e = e, y.newStart = g, y.newEnd = m, y.ctrl = n.ctrlKey, y.shift = n.shiftKey, y.control = s, y.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof s.onEventMove && (s.O.apply(function () { s.onEventMove(y); }), y.preventDefault.value))
|
|
495
|
+
return;
|
|
496
|
+
switch (s.eventMoveHandling) {
|
|
497
|
+
case "PostBack":
|
|
498
|
+
s.eventMovePostBack(e, g, m, v.Value);
|
|
499
|
+
break;
|
|
500
|
+
case "CallBack":
|
|
501
|
+
s.eventMoveCallBack(e, g, m, v.Value);
|
|
502
|
+
break;
|
|
503
|
+
case "Update": e.start(g), e.end(m), s.events.update(e);
|
|
504
|
+
}
|
|
505
|
+
"function" == typeof s.onEventMoved && s.O.apply(function () { s.onEventMoved(y); });
|
|
506
|
+
}
|
|
507
|
+
else
|
|
508
|
+
switch (s.eventMoveHandling) {
|
|
509
|
+
case "PostBack":
|
|
510
|
+
s.eventMovePostBack(e, g, m, v.Value);
|
|
511
|
+
break;
|
|
512
|
+
case "CallBack":
|
|
513
|
+
s.eventMoveCallBack(e, g, m, v.Value);
|
|
514
|
+
break;
|
|
515
|
+
case "JavaScript": s.onEventMove(e, g, m, v.Value, !1);
|
|
516
|
+
} }, this.timeRangeSelectedPostBack = function (e, t, i, n) { var s = {}; s.start = e, s.end = t, this.l("TimeRangeSelected", n, s); }, this.timeRangeSelectedCallBack = function (e, t, i, n) { var s = {}; s.start = e, s.end = t, this.n("TimeRangeSelected", n, s); }, this.c = function (e, t) { if (e = new DayPilot.Date(e), t = new DayPilot.Date(t), this.M()) {
|
|
517
|
+
var i = {};
|
|
518
|
+
if (i.start = e, i.end = t, i.control = s, i.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof s.onTimeRangeSelect && (s.O.apply(function () { s.onTimeRangeSelect(i); }), i.preventDefault.value))
|
|
519
|
+
return;
|
|
520
|
+
switch (s.timeRangeSelectedHandling) {
|
|
521
|
+
case "PostBack":
|
|
522
|
+
s.timeRangeSelectedPostBack(e, t);
|
|
523
|
+
break;
|
|
524
|
+
case "CallBack": s.timeRangeSelectedCallBack(e, t);
|
|
525
|
+
}
|
|
526
|
+
"function" == typeof s.onTimeRangeSelected && s.O.apply(function () { s.onTimeRangeSelected(i); });
|
|
527
|
+
}
|
|
528
|
+
else
|
|
529
|
+
switch (s.timeRangeSelectedHandling) {
|
|
530
|
+
case "PostBack":
|
|
531
|
+
s.timeRangeSelectedPostBack(e, t);
|
|
532
|
+
break;
|
|
533
|
+
case "CallBack":
|
|
534
|
+
s.timeRangeSelectedCallBack(e, t);
|
|
535
|
+
break;
|
|
536
|
+
case "JavaScript": s.onTimeRangeSelected(e, t);
|
|
537
|
+
} }, this.Q = function (e) { if (!t.selecting && "Disabled" !== s.timeRangeSelectedHandling) {
|
|
538
|
+
var i = window.event ? window.event.button : e.which;
|
|
539
|
+
if (1 === i || 0 === i)
|
|
540
|
+
return t.firstMousePos = DayPilot.mc(e || window.event), t.selecting = {}, t.selecting.calendar = s, t.selectedCells && (s.clearSelection(), t.selectedCells = []), t.column = t.getColumn(this), t.selectedCells.push(this), t.firstSelected = this, t.topSelectedCell = this, t.bottomSelectedCell = this, s.R(), !1;
|
|
541
|
+
} }, this.R = function () { this.getSelection(); !function () { return; }(), function () { var e = t.topSelectedCell, i = t.bottomSelectedCell, n = function () { if (e.data)
|
|
542
|
+
return e.data.x; for (var t = e.parentNode.cells, i = 0; i < t.length; i++)
|
|
543
|
+
if (t[i] === e)
|
|
544
|
+
return i; return -1; }(), l = s.columns[n]; if (l) {
|
|
545
|
+
var a = l.Start, o = s.getPixels(e.start, a).boxTop, r = s.getPixels(i.end, a).boxBottom, h = r - o, c = function () { if (s.nav.activeSelection)
|
|
546
|
+
return s.nav.activeSelection; var e = document.createElement("div"); e.setAttribute("unselectable", "on"), e.style.position = "absolute", e.style.left = "0px", e.style.width = "100%"; var t = document.createElement("div"); return t.setAttribute("unselectable", "on"), t.className = s.w("_shadow_inner"), e.appendChild(t), s.nav.events.rows[0].cells[n].selection.appendChild(e), s.elements.selection.push(e), s.nav.activeSelection = e, e; }();
|
|
547
|
+
c.className = s.w("_shadow"), c.firstChild.innerHTML = "", c.style.top = o + "px", c.style.height = h + "px";
|
|
548
|
+
} }(); }, this.S = function (e) { if ("undefined" != typeof t && t.selecting) {
|
|
549
|
+
var i = DayPilot.mc(e || window.event);
|
|
550
|
+
t.getColumn(this) === t.column && (s.clearSelection(), i.y < t.firstMousePos.y ? (t.selectedCells = t.getCellsBelow(this), t.topSelectedCell = t.selectedCells[0], t.bottomSelectedCell = t.firstSelected) : (t.selectedCells = t.getCellsAbove(this), t.topSelectedCell = t.firstSelected, t.bottomSelectedCell = t.selectedCells[0]), s.R());
|
|
551
|
+
} }, this.getSelection = function () { var e = t.topSelectedCell.start, i = t.bottomSelectedCell.end; return new DayPilot.Selection(e, i, null, s); }, this.T = function (e) { }, this.U = function (e) { if (e < 0)
|
|
552
|
+
return null; for (var t = 0, i = s.nav.events.rows[0].cells, n = 0; n < i.length; n++) {
|
|
553
|
+
if (t += i[n].offsetWidth, e < t)
|
|
554
|
+
return n;
|
|
555
|
+
} return null; }, this.V = {}, this.V.getCellCoords = function () { var e = {}; if (e.x = 0, e.y = 0, !s.coords)
|
|
556
|
+
return null; e.x = s.U(s.coords.x); var t = 0, i = Math.floor((s.coords.y - t) / s.cellHeight); return e.y = i, e.x < 0 ? null : e; }, this.B = function () { this.columns = this.W(); for (var e = 0; e < this.columns.length; e++)
|
|
557
|
+
this.X(this.columns[e]); }, this.X = function (e) { e.Start = new DayPilot.Date(e.Start), e.putIntoBlock = function (e) { for (var t = 0; t < this.blocks.length; t++) {
|
|
558
|
+
var i = this.blocks[t];
|
|
559
|
+
if (i.overlapsWith(e.part.top, e.part.height))
|
|
560
|
+
return i.events.push(e), i.min = Math.min(i.min, e.part.top), i.max = Math.max(i.max, e.part.top + e.part.height), t;
|
|
561
|
+
} var i = []; return i.lines = [], i.events = [], i.overlapsWith = function (e, t) { return !(e + t - 1 < this.min || e > this.max - 1); }, i.putIntoLine = function (e) { for (var t = 0; t < this.lines.length; t++) {
|
|
562
|
+
var i = this.lines[t];
|
|
563
|
+
if (i.isFree(e.part.top, e.part.height))
|
|
564
|
+
return i.push(e), t;
|
|
565
|
+
} var i = []; return i.isFree = function (e, t) { for (var i = e + t - 1, n = this.length, s = 0; s < n; s++) {
|
|
566
|
+
var l = this[s];
|
|
567
|
+
if (!(i < l.part.top || e > l.part.top + l.part.height - 1))
|
|
568
|
+
return !1;
|
|
569
|
+
} return !0; }, i.push(e), this.lines.push(i), this.lines.length - 1; }, i.events.push(e), i.min = e.part.top, i.max = e.part.top + e.part.height, this.blocks.push(i), this.blocks.length - 1; }, e.putIntoLine = function (e) { for (var t = 0; t < this.lines.length; t++) {
|
|
570
|
+
var i = this.lines[t];
|
|
571
|
+
if (i.isFree(e.part.top, e.part.height))
|
|
572
|
+
return i.push(e), t;
|
|
573
|
+
} var i = []; return i.isFree = function (e, t) { for (var i = e + t - 1, n = this.length, s = 0; s < n; s++) {
|
|
574
|
+
var l = this[s];
|
|
575
|
+
if (!(i < l.part.top || e > l.part.top + l.part.height - 1))
|
|
576
|
+
return !1;
|
|
577
|
+
} return !0; }, i.push(e), this.lines.push(i), this.lines.length - 1; }; }, this.W = function () { var e = [], t = this.startDate.getDatePart(), i = this.days; switch (this.viewType) {
|
|
578
|
+
case "Day":
|
|
579
|
+
i = 1;
|
|
580
|
+
break;
|
|
581
|
+
case "Week":
|
|
582
|
+
i = 7, t = t.firstDayOfWeek(l.locale().weekStarts);
|
|
583
|
+
break;
|
|
584
|
+
case "WorkWeek": i = 5, t = t.firstDayOfWeek(1);
|
|
585
|
+
} for (var n = 0; n < i; n++) {
|
|
586
|
+
var a = s.headerDateFormat ? s.headerDateFormat : l.locale().datePattern, o = {};
|
|
587
|
+
o.Start = t.addDays(n), o.Name = o.Start.toString(a, l.locale()), o.InnerHTML = o.Name, e.push(o);
|
|
588
|
+
} return e; }, this.visibleStart = function () { return this.columns[0].Start; }, this.visibleEnd = function () { var e = this.columns.length - 1; return this.columns[e].Start.addDays(1); }, this.w = function (e) { var t = this.theme || this.cssClassPrefix; return t ? t + e : ""; }, this.q = function () { if (this.elements.events)
|
|
589
|
+
for (var e = 0; e < this.elements.events.length; e++) {
|
|
590
|
+
var t = this.elements.events[e], i = t.event;
|
|
591
|
+
if (i && (i.calendar = null), t.onclick = null, t.onclickSave = null, t.onmouseover = null, t.onmouseout = null, t.onmousemove = null, t.onmousedown = null, t.firstChild && t.firstChild.firstChild && t.firstChild.firstChild.tagName && "IMG" === t.firstChild.firstChild.tagName.toUpperCase()) {
|
|
592
|
+
var n = t.firstChild.firstChild;
|
|
593
|
+
n.onmousedown = null, n.onmousemove = null, n.onclick = null;
|
|
594
|
+
}
|
|
595
|
+
t.helper = null, t.data = null, t.event = null, DayPilot.de(t);
|
|
596
|
+
} this.elements.events = []; }, this.Y = function (e) { var i = e.cache || e.data, n = this.nav.events, l = document.createElement("div"); l.style.position = "absolute", l.style.left = e.part.left + "%", l.style.top = e.part.top + "px", l.style.width = e.part.width + "%", l.style.height = Math.max(e.part.height, 2) + "px", l.style.overflow = "hidden", l.data = e, l.event = e, l.unselectable = "on", l.style.MozUserSelect = "none", l.style.KhtmlUserSelect = "none", l.className = this.w("_event"), i.cssClass && DayPilot.Util.addClass(l, i.cssClass), l.isFirst = e.part.start.getTime() === e.start().getTime(), l.isLast = e.part.end.getTime() === e.end().getTime(), l.onclick = this.N, l.onmouseout = function (e) { l.deleteIcon && (l.deleteIcon.style.display = "none"); }, l.onmousemove = function (e) { var i = s.eventHeaderVisible ? s.eventHeaderHeight : 10; if ("undefined" != typeof t) {
|
|
597
|
+
var n = DayPilot.mo3(l, e);
|
|
598
|
+
if (n && !t.resizing && !t.moving) {
|
|
599
|
+
l.deleteIcon && (l.deleteIcon.style.display = "");
|
|
600
|
+
var a = this.isLast;
|
|
601
|
+
n.y <= i && "Disabled" !== s.eventResizeHandling ? (this.style.cursor = "n-resize", this.dpBorder = "top") : this.offsetHeight - n.y <= 5 && "Disabled" !== s.eventResizeHandling ? a ? (this.style.cursor = "s-resize", this.dpBorder = "bottom") : this.style.cursor = "not-allowed" : t.resizing || t.moving || ("Disabled" !== s.eventClickHandling ? this.style.cursor = "pointer" : this.style.cursor = "default");
|
|
602
|
+
}
|
|
603
|
+
} }, l.onmousedown = function (e) { e = e || window.event; var i = e.which || e.button; if ("n-resize" !== this.style.cursor && "s-resize" !== this.style.cursor || 1 !== i) {
|
|
604
|
+
if (1 === i && "Disabled" !== s.eventMoveHandling) {
|
|
605
|
+
t.moving = this, t.moving.event = this.event;
|
|
606
|
+
var n = t.moving.helper = {};
|
|
607
|
+
n.oldColumn = s.columns[this.data.part.dayIndex].Value, t.originalMouse = DayPilot.mc(e), t.originalTop = this.offsetTop;
|
|
608
|
+
var l = DayPilot.mo3(this, e);
|
|
609
|
+
l ? t.moveOffsetY = l.y : t.moveOffsetY = 0, s.nav.top.style.cursor = "move";
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
else
|
|
613
|
+
t.resizing = this, t.originalMouse = DayPilot.mc(e), t.originalHeight = this.offsetHeight, t.originalTop = this.offsetTop, s.nav.top.style.cursor = this.style.cursor; return !1; }; var a = document.createElement("div"); if (a.setAttribute("unselectable", "on"), a.className = s.w("_event_inner"), a.innerHTML = e.client.html(), i.borderColor && (a.style.borderColor = i.borderColor), i.backColor && (a.style.background = i.backColor, (DayPilot.browser.ie9 || DayPilot.browser.ielt9) && (a.style.filter = "")), i.fontColor && (a.style.color = i.fontColor), l.appendChild(a), e.client.barVisible()) {
|
|
614
|
+
var o = e.part.height - 2, r = 100 * e.part.barTop / o, h = Math.ceil(100 * e.part.barHeight / o), c = document.createElement("div");
|
|
615
|
+
c.setAttribute("unselectable", "on"), c.className = this.w("_event_bar"), c.style.position = "absolute", i.barBackColor && (c.style.backgroundColor = i.barBackColor);
|
|
616
|
+
var d = document.createElement("div");
|
|
617
|
+
d.setAttribute("unselectable", "on"), d.className = this.w("_event_bar_inner"), d.style.top = r + "%", 0 < h && h <= 1 ? d.style.height = "1px" : d.style.height = h + "%", i.barColor && (d.style.backgroundColor = i.barColor), c.appendChild(d), l.appendChild(c);
|
|
618
|
+
} if ("Disabled" !== s.eventDeleteHandling) {
|
|
619
|
+
var u = document.createElement("div");
|
|
620
|
+
u.style.position = "absolute", u.style.right = "2px", u.style.top = "2px", u.style.width = "17px", u.style.height = "17px", u.className = s.w("_event_delete"), u.onclick = function (e) { var t = this.parentNode.event; t && s.P(t); }, u.style.display = "none", l.deleteIcon = u, l.appendChild(u);
|
|
621
|
+
} if (n.rows[0].cells[e.part.dayIndex]) {
|
|
622
|
+
n.rows[0].cells[e.part.dayIndex].firstChild.appendChild(l), s.Z(l);
|
|
623
|
+
} s.elements.events.push(l); }, this.Z = function (e) { for (var t = e && e.childNodes ? e.childNodes.length : 0, i = 0; i < t; i++)
|
|
624
|
+
try {
|
|
625
|
+
var n = e.childNodes[i];
|
|
626
|
+
1 === n.nodeType && (n.unselectable = "on", this.Z(n));
|
|
627
|
+
}
|
|
628
|
+
catch (e) { } }, this.I = function () { for (var e = 0; e < this.columns.length; e++) {
|
|
629
|
+
var t = this.columns[e];
|
|
630
|
+
if (t.blocks)
|
|
631
|
+
for (var i = 0; i < t.blocks.length; i++)
|
|
632
|
+
for (var n = t.blocks[i], s = 0; s < n.lines.length; s++)
|
|
633
|
+
for (var l = n.lines[s], a = 0; a < l.length; a++) {
|
|
634
|
+
var o = l[a];
|
|
635
|
+
o.part.width = 100 / n.lines.length, o.part.left = o.part.width * s;
|
|
636
|
+
var r = s === n.lines.length - 1;
|
|
637
|
+
r || (o.part.width = 1.5 * o.part.width), this.Y(o);
|
|
638
|
+
}
|
|
639
|
+
} }, this.$ = function () { this.nav.top.innerHTML = "", this.f ? DayPilot.Util.addClass(this.nav.top, this.w("_main")) : (this.nav.top.style.lineHeight = "1.2", this.nav.top.style.textAlign = "left"), this.nav.top.style.MozUserSelect = "none", this.nav.top.style.KhtmlUserSelect = "none", this.nav.top.style.position = "relative", this.nav.top.style.width = this.width ? this.width : "100%", this.hideUntilInit && (this.nav.top.style.visibility = "hidden"), this.visible || (this.nav.top.style.display = "none"), this.nav.scroll = document.createElement("div"), this.nav.scroll.style.height = this._() + "px", "BusinessHours" === this.heightSpec ? this.nav.scroll.style.overflow = "auto" : this.nav.scroll.style.overflow = "hidden", this.nav.scroll.style.position = "relative", !this.f; var e = this.aa(); this.nav.top.appendChild(e), this.nav.scroll.style.zoom = 1; var t = this.ba(); this.nav.scrollable = t.firstChild, this.nav.scroll.appendChild(t), this.nav.top.appendChild(this.nav.scroll), this.nav.scrollLayer = document.createElement("div"), this.nav.scrollLayer.style.position = "absolute", this.nav.scrollLayer.style.top = "0px", this.nav.scrollLayer.style.left = "0px", this.nav.top.appendChild(this.nav.scrollLayer), this.nav.loading = document.createElement("div"), this.nav.loading.style.position = "absolute", this.nav.loading.style.top = "0px", this.nav.loading.style.left = this.hourWidth + 5 + "px", this.nav.loading.style.backgroundColor = this.loadingLabelBackColor, this.nav.loading.style.fontSize = this.loadingLabelFontSize, this.nav.loading.style.fontFamily = this.loadingLabelFontFamily, this.nav.loading.style.color = this.loadingLabelFontColor, this.nav.loading.style.padding = "2px", this.nav.loading.innerHTML = this.loadingLabelText, this.nav.loading.style.display = "none", this.nav.top.appendChild(this.nav.loading); }, this.G = function () { this.fasterDispose || DayPilot.pu(this.nav.hourTable), this.nav.scrollable.rows[0].cells[0].innerHTML = "", this.nav.hourTable = this.ca(), this.nav.scrollable.rows[0].cells[0].appendChild(this.nav.hourTable); }, this.ba = function () { var e = document.createElement("div"); e.style.zoom = 1, e.style.position = "relative"; var t = document.createElement("table"); t.cellSpacing = "0", t.cellPadding = "0", t.border = "0", t.style.border = "0px none", t.style.width = "100%", t.style.position = "absolute"; var i, n = t.insertRow(-1); if (i = n.insertCell(-1), i.valign = "top", i.style.padding = "0px", i.style.border = "0px none", this.nav.hourTable = this.ca(), i.appendChild(this.nav.hourTable), i = n.insertCell(-1), i.valign = "top", i.width = "100%", i.style.padding = "0px", i.style.border = "0px none", this.f) {
|
|
640
|
+
var s = document.createElement("div");
|
|
641
|
+
s.style.position = "relative", i.appendChild(s), s.appendChild(this.da()), s.appendChild(this.ea());
|
|
642
|
+
}
|
|
643
|
+
else
|
|
644
|
+
i.appendChild(this.da()); return e.appendChild(t), this.nav.zoom = e, e; }, this.da = function () { var e = document.createElement("table"); return e.cellPadding = "0", e.cellSpacing = "0", e.border = "0", e.style.width = "100%", e.style.border = "0px none", e.style.tableLayout = "fixed", this.f || (e.style.borderLeft = "1px solid " + this.borderColor), this.nav.main = e, this.nav.events = e, e; }, this.ea = function () { var e = document.createElement("table"); e.style.top = "0px", e.cellPadding = "0", e.cellSpacing = "0", e.border = "0", e.style.position = "absolute", e.style.width = "100%", e.style.border = "0px none", e.style.tableLayout = "fixed", this.nav.events = e; for (var t = this.columns, i = t.length, n = e.insertRow(-1), l = 0; l < i; l++) {
|
|
645
|
+
var a = n.insertCell(-1);
|
|
646
|
+
a.style.padding = "0px", a.style.border = "0px none", a.style.height = "0px", a.style.overflow = "visible", s.rtl || (a.style.textAlign = "left");
|
|
647
|
+
var o = document.createElement("div");
|
|
648
|
+
o.style.marginRight = s.columnMarginRight + "px", o.style.position = "relative", o.style.height = "1px", this.f || (o.style.fontSize = "1px", o.style.lineHeight = "1.2"), o.style.marginTop = "-1px";
|
|
649
|
+
var r = document.createElement("div");
|
|
650
|
+
a.selection = r, a.appendChild(o), a.appendChild(r);
|
|
651
|
+
} return e; }, this.ca = function () { var e = document.createElement("table"); if (e.cellSpacing = "0", e.cellPadding = "0", e.border = "0", e.style.border = "0px none", e.style.width = this.hourWidth + "px", e.oncontextmenu = function () { return !1; }, this.f ? 0 : 1) {
|
|
652
|
+
var t = e.insertRow(-1);
|
|
653
|
+
t.style.height = "1px", t.style.backgroundColor = "white";
|
|
654
|
+
var i = t.insertCell(-1);
|
|
655
|
+
i.style.padding = "0px", i.style.border = "0px none";
|
|
656
|
+
} for (var n = 24, s = 0; s < n; s++)
|
|
657
|
+
this.fa(e, s); return e; }, this.fa = function (e, t) { var i = 2 * this.cellHeight, n = e.insertRow(-1); n.style.height = i + "px"; var s = n.insertCell(-1); s.valign = "bottom", s.unselectable = "on", !this.f, s.style.cursor = "default", s.style.padding = "0px", s.style.border = "0px none"; var a = document.createElement("div"); a.style.position = "relative", this.f && (a.className = this.w("_rowheader")), a.style.width = this.hourWidth + "px", a.style.height = i + "px", a.style.overflow = "hidden", a.unselectable = "on"; var o = document.createElement("div"); this.f && (o.className = this.w("_rowheader_inner")), o.unselectable = "on"; var r = document.createElement("div"); r.unselectable = "on"; var h = this.startDate.addHours(t), c = h.getHours(), d = c < 12, u = l.timeFormat(); "Clock12Hours" === u && (c %= 12, 0 === c && (c = 12)), r.innerHTML = c; var v = document.createElement("span"); v.unselectable = "on", this.f ? v.className = this.w("_rowheader_minutes") : (v.style.fontSize = "10px", v.style.verticalAlign = "super"); var p; p = "Clock12Hours" === u ? d ? "AM" : "PM" : "00", this.f ? v.innerHTML = p : v.innerHTML = " " + p, r.appendChild(v), o.appendChild(r), a.appendChild(o), s.appendChild(a); }, this._ = function () { switch (this.heightSpec) {
|
|
658
|
+
case "Full": return 48 * this.cellHeight;
|
|
659
|
+
case "BusinessHours":
|
|
660
|
+
var e = this.K();
|
|
661
|
+
return e * this.cellHeight * 2;
|
|
662
|
+
case "BusinessHoursNoScroll":
|
|
663
|
+
var e = this.K();
|
|
664
|
+
return e * this.cellHeight * 2;
|
|
665
|
+
default: throw "DayPilot.Calendar: Unexpected 'heightSpec' value.";
|
|
666
|
+
} }, this.ga = function () { var e = s.nav.corner ? s.nav.corner.parentNode : null; if (e) {
|
|
667
|
+
e.innerHTML = "";
|
|
668
|
+
var t = this.ha();
|
|
669
|
+
e.appendChild(t), s.nav.corner = t;
|
|
670
|
+
} }, this.aa = function () { var e = document.createElement("div"); this.f || (e.style.borderLeft = "1px solid " + this.borderColor, e.style.borderRight = "1px solid " + this.borderColor), e.style.overflow = "auto"; var t = document.createElement("table"); t.cellPadding = "0", t.cellSpacing = "0", t.border = "0", t.style.width = "100%", t.style.borderCollapse = "separate", t.style.border = "0px none"; var i = t.insertRow(-1), n = i.insertCell(-1); n.style.padding = "0px", n.style.border = "0px none"; var s = this.ha(); n.appendChild(s), this.nav.corner = s, n = i.insertCell(-1), n.style.width = "100%", !this.f, n.valign = "top", n.style.position = "relative", n.style.padding = "0px", n.style.border = "0px none", this.nav.header = document.createElement("table"), this.nav.header.cellPadding = "0", this.nav.header.cellSpacing = "0", this.nav.header.border = "0", this.nav.header.width = "100%", this.nav.header.style.tableLayout = "fixed", this.f || (this.nav.header.style.borderBottom = "0px none #000000", this.nav.header.style.borderRight = "0px none #000000", this.nav.header.style.borderLeft = "1px solid " + this.borderColor, this.nav.header.style.borderTop = "1px solid " + this.borderColor), this.nav.header.oncontextmenu = function () { return !1; }; var l = "hidden" !== this.nav.scroll.style.overflow; if (this.f || l && (this.nav.header.style.borderRight = "1px solid " + this.borderColor), n.appendChild(this.nav.header), l) {
|
|
671
|
+
n = i.insertCell(-1), n.unselectable = "on", !this.f;
|
|
672
|
+
var a = document.createElement("div");
|
|
673
|
+
if (a.unselectable = "on", a.style.position = "relative", a.style.width = "16px", this.f) {
|
|
674
|
+
a.style.height = this.headerHeight + "px", a.className = this.w("_cornerright");
|
|
675
|
+
var o = document.createElement("div");
|
|
676
|
+
o.className = this.w("_cornerright_inner"), a.appendChild(o);
|
|
677
|
+
}
|
|
678
|
+
else
|
|
679
|
+
;
|
|
680
|
+
n.appendChild(a), this.nav.cornerRight = a;
|
|
681
|
+
} return e.appendChild(t), e; }, this.ha = function () { var e = document.createElement("div"); e.style.position = "relative", this.f && (e.className = this.w("_corner")), e.style.width = this.hourWidth + "px", e.style.height = this.headerHeight + "px", e.oncontextmenu = function () { return !1; }; var t = document.createElement("div"); return t.unselectable = "on", this.f && (t.className = this.w("_corner_inner")), e.appendChild(t), e; }, this.r = function () { var e = this.nav.main; e.root = null, e.onmouseup = null; for (var t = 0; t < e.rows.length; t++)
|
|
682
|
+
for (var i = e.rows[t], n = 0; n < i.cells.length; n++) {
|
|
683
|
+
var s = i.cells[n];
|
|
684
|
+
s.root = null, s.onmousedown = null, s.onmousemove = null, s.onmouseout = null, s.onmouseup = null;
|
|
685
|
+
} this.fasterDispose || DayPilot.pu(e); }, this.F = function () {
|
|
686
|
+
var e = this.nav.main, i = 18e5, n = this.L(), l = s.columns;
|
|
687
|
+
for (e && this.r(); e && e.rows && e.rows.length > 0;)
|
|
688
|
+
this.fasterDispose || DayPilot.pu(e.rows[0]), e.deleteRow(0);
|
|
689
|
+
this.tableCreated = !0;
|
|
690
|
+
var a = l.length;
|
|
691
|
+
if (this.f) {
|
|
692
|
+
for (var o = this.nav.events; o && o.rows && o.rows.length > 0;)
|
|
693
|
+
this.fasterDispose || DayPilot.pu(o.rows[0]), o.deleteRow(0);
|
|
694
|
+
for (var a = l.length, r = o.insertRow(-1), h = 0; h < a; h++) {
|
|
695
|
+
var c = r.insertCell(-1);
|
|
696
|
+
c.style.padding = "0px", c.style.border = "0px none", c.style.height = "0px", c.style.overflow = "visible", s.rtl || (c.style.textAlign = "left");
|
|
697
|
+
var d = document.createElement("div");
|
|
698
|
+
d.style.marginRight = s.columnMarginRight + "px", d.style.position = "relative", d.style.height = "1px", this.f || (d.style.fontSize = "1px", d.style.lineHeight = "1.2"), d.style.marginTop = "-1px";
|
|
699
|
+
var u = document.createElement("div");
|
|
700
|
+
u.style.position = "relative", c.selection = u, c.appendChild(d), c.appendChild(u);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
if (!this.f) {
|
|
704
|
+
var r = e.insertRow(-1);
|
|
705
|
+
r.style.backgroundColor = "white";
|
|
706
|
+
for (var h = 0; h < a; h++) {
|
|
707
|
+
var c = r.insertCell(-1);
|
|
708
|
+
c.style.padding = "0px", c.style.border = "0px none", c.style.height = "1px", c.style.overflow = "visible", c.style.width = 100 / l.length + "%";
|
|
709
|
+
var d = document.createElement("div");
|
|
710
|
+
d.style.display = "block", d.style.marginRight = s.columnMarginRight + "px", d.style.position = "relative", d.style.height = "1px", d.style.fontSize = "1px", d.style.lineHeight = "1.2", d.style.marginTop = "-1px", c.appendChild(d);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
for (var v = 0; v < n; v++) {
|
|
714
|
+
var r = (this.f ? 0 : 1, e.insertRow(-1));
|
|
715
|
+
r.style.MozUserSelect = "none", r.style.KhtmlUserSelect = "none";
|
|
716
|
+
for (var h = 0; h < a; h++) {
|
|
717
|
+
var p = this.columns[h], c = r.insertCell(-1);
|
|
718
|
+
if (c.start = p.Start.addTime(v * i), c.end = c.start.addTime(i),
|
|
719
|
+
c.onmousedown = this.Q, c.onmouseup = function () { return !1; }, c.onclick = function () { return !1; }, c.root = this, c.style.padding = "0px", c.style.border = "0px none", c.style.verticalAlign = "top", !this.f, c.style.height = s.cellHeight + "px", c.style.overflow = "hidden", c.unselectable = "on", this.f) {
|
|
720
|
+
var d = document.createElement("div");
|
|
721
|
+
d.unselectable = "on", d.style.height = s.cellHeight + "px", d.style.position = "relative", d.className = this.w("_cell");
|
|
722
|
+
this.ia(c.start, c.end) && this.f && DayPilot.Util.addClass(d, s.w("_cell_business"));
|
|
723
|
+
var f = document.createElement("div");
|
|
724
|
+
f.setAttribute("unselectable", "on"), f.className = this.w("_cell_inner"), d.appendChild(f), c.appendChild(d);
|
|
725
|
+
}
|
|
726
|
+
else
|
|
727
|
+
;
|
|
728
|
+
c.appendChild(d);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
e.onmouseup = this.T, e.root = this, s.nav.scrollable.onmousemove = function (e) { e = e || window.event; var i = s.nav.scrollable; s.coords = DayPilot.mo3(i, e); var n = DayPilot.mc(e); if (t.resizing) {
|
|
732
|
+
t.resizingShadow || (t.resizingShadow = s.u(t.resizing, !1, s.shadow));
|
|
733
|
+
var l = s.cellHeight, a = 1, o = n.y - t.originalMouse.y;
|
|
734
|
+
if ("bottom" === t.resizing.dpBorder) {
|
|
735
|
+
var r = Math.floor((t.originalHeight + t.originalTop + o + l / 2) / l) * l - t.originalTop + a;
|
|
736
|
+
r < l && (r = l);
|
|
737
|
+
var h = s.nav.main.clientHeight;
|
|
738
|
+
t.originalTop + r > h && (r = h - t.originalTop), t.resizingShadow.style.height = r + "px";
|
|
739
|
+
}
|
|
740
|
+
else if ("top" === t.resizing.dpBorder) {
|
|
741
|
+
var c = Math.floor((t.originalTop + o - a + l / 2) / l) * l + a;
|
|
742
|
+
c < a && (c = a), c > t.originalTop + t.originalHeight - l && (c = t.originalTop + t.originalHeight - l);
|
|
743
|
+
var r = t.originalHeight - (c - t.originalTop);
|
|
744
|
+
r < l ? r = l : t.resizingShadow.style.top = c + "px", t.resizingShadow.style.height = r + "px";
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
else if (t.moving) {
|
|
748
|
+
if (t.movingShadow || (t.movingShadow = s.u(t.moving, !s.h, s.shadow), t.movingShadow.style.width = t.movingShadow.parentNode.offsetWidth + 1 + "px"), !s.coords)
|
|
749
|
+
return;
|
|
750
|
+
var l = s.cellHeight, a = 1, d = t.moveOffsetY;
|
|
751
|
+
d || (d = l / 2);
|
|
752
|
+
var c = Math.floor((s.coords.y - d - a + l / 2) / l) * l + a;
|
|
753
|
+
c < a && (c = a);
|
|
754
|
+
var u = s.nav.events, h = s.nav.main.clientHeight, v = parseInt(t.movingShadow.style.height);
|
|
755
|
+
c + v > h && (c = h - v), t.movingShadow.parentNode.style.display = "none", t.movingShadow.style.top = c + "px", t.movingShadow.parentNode.style.display = "";
|
|
756
|
+
var p = u.clientWidth / u.rows[0].cells.length, f = Math.floor((s.coords.x - 45) / p);
|
|
757
|
+
f < 0 && (f = 0), f < u.rows[0].cells.length && f >= 0 && t.movingShadow.column !== f && (t.movingShadow.column = f, t.moveShadow(u.rows[0].cells[f]));
|
|
758
|
+
}
|
|
759
|
+
else if (t.selecting) {
|
|
760
|
+
var n = DayPilot.mc(e || window.event), g = s.V.getCellCoords(), m = t.column, y = s.nav.main.rows[g.y].cells[m];
|
|
761
|
+
n.y < t.firstMousePos.y ? (t.selectedCells = t.getCellsBelow(y), t.topSelectedCell = t.selectedCells[0], t.bottomSelectedCell = t.firstSelected) : (t.selectedCells = t.getCellsAbove(y), t.topSelectedCell = t.firstSelected, t.bottomSelectedCell = t.selectedCells[0]), s.R();
|
|
762
|
+
} }, s.nav.scrollable.style.display = "";
|
|
763
|
+
}, this.ia = function (e, t) { return this.businessBeginsHour < this.businessEndsHour ? !(e.getHours() < this.businessBeginsHour || e.getHours() >= this.businessEndsHour || 6 === e.getDayOfWeek() || 0 === e.getDayOfWeek()) : e.getHours() >= this.businessBeginsHour || e.getHours() < this.businessEndsHour; }, this.s = function () { var e = this.nav.header; if (e && e.rows)
|
|
764
|
+
for (var t = 0; t < e.rows.length; t++)
|
|
765
|
+
for (var i = e.rows[t], n = 0; n < i.cells.length; n++) {
|
|
766
|
+
var s = i.cells[n];
|
|
767
|
+
s.onclick = null, s.onmousemove = null, s.onmouseout = null;
|
|
768
|
+
} this.fasterDispose || DayPilot.pu(e); }, this.ja = function (e) { for (var t = e ? this.nav.header.insertRow(-1) : this.nav.header.rows[0], i = this.columns, n = i.length, l = 0; l < n; l++) {
|
|
769
|
+
var a = i[l], o = e ? t.insertCell(-1) : t.cells[l];
|
|
770
|
+
o.data = a, o.style.overflow = "hidden", o.style.padding = "0px", o.style.border = "0px none", o.style.height = this.headerHeight + "px";
|
|
771
|
+
var r = e ? document.createElement("div") : o.firstChild;
|
|
772
|
+
if (e) {
|
|
773
|
+
r.unselectable = "on", r.style.MozUserSelect = "none", r.style.backgroundColor = a.BackColor, r.style.cursor = "default", r.style.position = "relative", this.f && (r.className = s.w("_colheader")), r.style.height = this.headerHeight + "px";
|
|
774
|
+
var h = document.createElement("div");
|
|
775
|
+
this.f ? h.className = s.w("_colheader_inner") : (h.style.position = "absolute", h.style.left = "0px", h.style.width = "100%", h.style.padding = "2px", r.style.textAlign = "center"), h.unselectable = "on", r.appendChild(h), o.appendChild(r);
|
|
776
|
+
}
|
|
777
|
+
var h = r.firstChild;
|
|
778
|
+
h.innerHTML = a.InnerHTML;
|
|
779
|
+
} }, this.ka = function () { return this.width && this.width.indexOf("px") !== -1 ? "Pixel" : "Percentage"; }, this.E = function () { var e = this.nav.header, t = !0, i = this.columns; for (i.length; this.headerCreated && e && e.rows && e.rows.length > 0;)
|
|
780
|
+
this.fasterDispose || DayPilot.pu(e.rows[0]), e.deleteRow(0); this.headerCreated = !0; this.ja(t); }, this.loadingStart = function () { this.loadingLabelVisible && (this.nav.loading.innerHTML = this.loadingLabelText, this.nav.loading.style.top = this.headerHeight + 5 + "px", this.nav.loading.style.display = ""); }, this.commandCallBack = function (e, t) { var i = {}; i.command = e, this.n("Command", t, i); }, this.loadingStop = function (e) { this.callbackTimeout && window.clearTimeout(this.callbackTimeout), this.nav.loading.style.display = "none"; }, this.la = function () { var e = this.nav.scroll; e.onscroll || (e.onscroll = function () { s.ma(); }); var t = "undefined" != typeof this.na.scrollpos ? this.na.scrollpos : this.initScrollPos; t && ("Auto" === t && (t = "BusinessHours" === this.heightSpec ? 2 * this.cellHeight * this.businessBeginsHour : 0), e.root = this, 0 === e.scrollTop && (e.scrollTop = t)); }, this.callbackError = function (e, t) { alert("Error!\r\nResult: " + e + "\r\nContext:" + t); }, this.oa = function () { var e = DayPilot.sw(this.nav.scroll), t = this.nav.cornerRight; t && e > 0 && (this.f ? t.style.width = e + "px" : t.style.width = e - 3 + "px"); }, this.pa = function () { t.globalHandlers || (t.globalHandlers = !0, DayPilot.re(document, "mouseup", t.gMouseUp), DayPilot.re(window, "unload", t.gUnload)); }, this.events = {}, this.events.add = function (e) { var t = null; if (e instanceof DayPilot.Event)
|
|
781
|
+
t = e.data;
|
|
782
|
+
else {
|
|
783
|
+
if ("object" != typeof e)
|
|
784
|
+
throw "DayPilot.Calendar.events.add() expects an object or DayPilot.Event instance.";
|
|
785
|
+
t = e;
|
|
786
|
+
} s.events.list || (s.events.list = []), s.events.list.push(t), s.update(), s.O.notify(); }, this.events.find = function (e) { for (var t = 0; t < s.events.list.length; t++) {
|
|
787
|
+
var i = s.events.list[t];
|
|
788
|
+
if (i.id === e)
|
|
789
|
+
return new DayPilot.Event(i, s);
|
|
790
|
+
} return null; }, this.events.update = function (e) { if (e instanceof DayPilot.Event)
|
|
791
|
+
e.commit();
|
|
792
|
+
else if ("object" == typeof e) {
|
|
793
|
+
var t = s.events.find(e.id);
|
|
794
|
+
if (t) {
|
|
795
|
+
var i = DayPilot.indexOf(s.events.list, t.data);
|
|
796
|
+
s.events.list.splice(i, 1, e);
|
|
797
|
+
}
|
|
798
|
+
} s.update(), s.O.notify(); }, this.events.remove = function (e) { var t; if (e instanceof DayPilot.Event)
|
|
799
|
+
t = e.data;
|
|
800
|
+
else if ("object" == typeof e) {
|
|
801
|
+
var i = s.events.find(e.id);
|
|
802
|
+
i && (t = i.data);
|
|
803
|
+
}
|
|
804
|
+
else if ("string" == typeof e || "number" == typeof e) {
|
|
805
|
+
var i = s.events.find(e);
|
|
806
|
+
i && (t = i.data);
|
|
807
|
+
} var n = DayPilot.indexOf(s.events.list, t); s.events.list.splice(n, 1), s.update(), s.O.notify(); }, this.events.load = function (e, t, i) { var n = function (e) { var t = {}; t.exception = e.exception, t.request = e.request, "function" == typeof i && i(t); }, l = function (e) { var i, l = e.request; try {
|
|
808
|
+
i = JSON.parse(l.responseText);
|
|
809
|
+
}
|
|
810
|
+
catch (e) {
|
|
811
|
+
var a = {};
|
|
812
|
+
return a.exception = e, void n(a);
|
|
813
|
+
} if (DayPilot.isArray(i)) {
|
|
814
|
+
var o = {};
|
|
815
|
+
if (o.preventDefault = function () { this.preventDefault.value = !0; }, o.data = i, "function" == typeof t && t(o), o.preventDefault.value)
|
|
816
|
+
return;
|
|
817
|
+
s.events.list = i, s.qa && s.update();
|
|
818
|
+
} }; if (s.eventsLoadMethod && "POST" === s.eventsLoadMethod.toUpperCase())
|
|
819
|
+
DayPilot.Http.ajax({ "method": "POST", "data": { "start": s.visibleStart().toString(), "end": s.visibleEnd().toString() }, "url": e, "success": l, "error": n });
|
|
820
|
+
else {
|
|
821
|
+
var a = e, o = "start=" + s.visibleStart().toString() + "&end=" + s.visibleEnd().toString();
|
|
822
|
+
a += a.indexOf("?") > -1 ? "&" + o : "?" + o, DayPilot.Http.ajax({ "method": "GET", "url": a, "success": l, "error": n });
|
|
823
|
+
} }, this.update = function (e) { s.ra(), s.sa(e), s.ta(), s.q(), s.nav.top.style.cursor = "auto"; s.B(), s.E(), s.F(), s.G(), s.H(), s.ga(), s.ua(), s.C(), s.D(), s.A(), s.I(), s.clearSelection(), this.visible ? this.show() : this.hide(); }, this.va = null, this.sa = function (e) { if (e) {
|
|
824
|
+
var t = { "events": { "preInit": function () { var e = this.data; e && (DayPilot.isArray(e.list) ? s.events.list = e.list : s.events.list = e); } } };
|
|
825
|
+
this.va = t;
|
|
826
|
+
for (var i in e)
|
|
827
|
+
if (t[i]) {
|
|
828
|
+
var n = t[i];
|
|
829
|
+
n.data = e[i], n.preInit && n.preInit();
|
|
830
|
+
}
|
|
831
|
+
else
|
|
832
|
+
s[i] = e[i];
|
|
833
|
+
} }, this.wa = function () { var e = this.va; for (var t in e) {
|
|
834
|
+
var i = e[t];
|
|
835
|
+
i.postInit && i.postInit();
|
|
836
|
+
} }, this.xa = function () { if (this.id && this.id.tagName)
|
|
837
|
+
this.nav.top = this.id;
|
|
838
|
+
else {
|
|
839
|
+
if ("string" != typeof this.id)
|
|
840
|
+
throw "DayPilot.Calendar() constructor requires the target element or its ID as a parameter";
|
|
841
|
+
if (this.nav.top = document.getElementById(this.id), !this.nav.top)
|
|
842
|
+
throw "DayPilot.Calendar: The placeholder element not found: '" + e + "'.";
|
|
843
|
+
} }, this.ya = {}, this.ya.events = [], this.za = function (e) { var t = this.ya.events, i = this.events.list[e], n = {}; for (var s in i)
|
|
844
|
+
n[s] = i[s]; if ("function" == typeof this.onBeforeEventRender) {
|
|
845
|
+
var l = {};
|
|
846
|
+
l.data = n, this.onBeforeEventRender(l);
|
|
847
|
+
} t[e] = n; }, this.C = function () { var e = this.events.list; if (s.ya.events = [], e) {
|
|
848
|
+
var t = e.length, i = 864e5;
|
|
849
|
+
this.cache.pixels = {};
|
|
850
|
+
var n = [];
|
|
851
|
+
this.scrollLabels = [], this.minStart = 1e4, this.maxEnd = 0;
|
|
852
|
+
for (var l = 0; l < t; l++) {
|
|
853
|
+
var a = e[l];
|
|
854
|
+
a.start = new DayPilot.Date(a.start), a.end = new DayPilot.Date(a.end);
|
|
855
|
+
}
|
|
856
|
+
if ("function" == typeof this.onBeforeEventRender)
|
|
857
|
+
for (var l = 0; l < t; l++)
|
|
858
|
+
this.za(l);
|
|
859
|
+
for (var l = 0; l < this.columns.length; l++) {
|
|
860
|
+
var o = {};
|
|
861
|
+
o.minEnd = 1e6, o.maxStart = -1, this.scrollLabels.push(o);
|
|
862
|
+
var r = this.columns[l];
|
|
863
|
+
r.events = [], r.lines = [], r.blocks = [];
|
|
864
|
+
for (var h = new DayPilot.Date(r.Start), c = h.getTime(), d = h.addTime(i), u = d.getTime(), v = 0; v < t; v++)
|
|
865
|
+
if (!n[v]) {
|
|
866
|
+
var a = e[v], p = a.start, f = a.end, g = p.getTime(), m = f.getTime();
|
|
867
|
+
if (!(m < g)) {
|
|
868
|
+
var y = !(m <= c || g >= u);
|
|
869
|
+
if (y) {
|
|
870
|
+
var b = new DayPilot.Event(a, s);
|
|
871
|
+
b.part.dayIndex = l, b.part.start = c < g ? a.start : h, b.part.end = u > m ? a.end : d;
|
|
872
|
+
var w = this.getPixels(b.part.start, r.Start), C = this.getPixels(b.part.end, r.Start), S = w.top, D = C.top;
|
|
873
|
+
if (S === D && (w.cut || C.cut))
|
|
874
|
+
continue;
|
|
875
|
+
var x = C.boxBottom;
|
|
876
|
+
b.part.top = Math.floor(S / this.cellHeight) * this.cellHeight + 1, b.part.height = Math.max(Math.ceil(x / this.cellHeight) * this.cellHeight - b.part.top, this.cellHeight - 1) + 1, b.part.barTop = Math.max(S - b.part.top - 1, 0), b.part.barHeight = Math.max(D - S - 2, 1);
|
|
877
|
+
var p = b.part.top, f = b.part.top + b.part.height;
|
|
878
|
+
p > o.maxStart && (o.maxStart = p), f < o.minEnd && (o.minEnd = f), p < this.minStart && (this.minStart = p), f > this.maxEnd && (this.maxEnd = f), r.events.push(b), "function" == typeof this.onBeforeEventRender && (b.cache = this.ya.events[v]), b.part.start.getTime() === g && b.part.end.getTime() === m && (n[v] = !0);
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
for (var l = 0; l < this.columns.length; l++) {
|
|
884
|
+
var r = this.columns[l];
|
|
885
|
+
r.events.sort(this.Aa);
|
|
886
|
+
for (var v = 0; v < r.events.length; v++) {
|
|
887
|
+
var a = r.events[v];
|
|
888
|
+
r.putIntoBlock(a);
|
|
889
|
+
}
|
|
890
|
+
for (var v = 0; v < r.blocks.length; v++) {
|
|
891
|
+
var k = r.blocks[v];
|
|
892
|
+
k.events.sort(this.Aa);
|
|
893
|
+
for (var H = 0; H < k.events.length; H++) {
|
|
894
|
+
var a = k.events[H];
|
|
895
|
+
k.putIntoLine(a);
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
} }, this.Aa = function (e, t) { if (!(e && t && e.start && t.start))
|
|
900
|
+
return 0; var i = e.start().getTime() - t.start().getTime(); return 0 !== i ? i : t.end().getTime() - e.end().getTime(); }, this.debug = function (e, t) { this.debuggingEnabled && (s.debugMessages || (s.debugMessages = []), s.debugMessages.push(e), "undefined" != typeof console && console.log(e)); }, this.getPixels = function (e, t) { t || (t = this.startDate); var i = t.getTime(), n = e.getTime(), s = this.cache.pixels[n + "_" + i]; if (s)
|
|
901
|
+
return s; i = t.getTime(); var l = 18e5, a = n - i, o = a % l, r = a - o, h = r + l; 0 === o && (h = r); var c = {}; return c.cut = !1, c.top = this.Ba(a), c.boxTop = this.Ba(r), c.boxBottom = this.Ba(h), this.cache.pixels[n + "_" + i] = c, c; }, this.Ba = function (e) { return Math.floor(this.cellHeight * e / 18e5); }, this.ta = function () { this.startDate = new DayPilot.Date(this.startDate).getDatePart(); }, this.D = function () { this.nav.corner && (this.nav.corner.style.height = this.headerHeight + "px"); }, this.H = function () { var e = this._(); this.nav.scroll && e > 0 && (this.nav.scroll.style.height = e + "px"); }, this.O = {}, this.O.scope = null, this.O.notify = function () { s.O.scope && s.O.scope["$apply"](); }, this.O.apply = function (e) { e(); }, this.ma = function () { var e = s.nav.scroll.scrollTop, t = e / (2 * s.cellHeight); s.na.scrollHour = t; }, this.ua = function () { var e = 0; s.na.scrollHour ? e = 2 * s.cellHeight * s.na.scrollHour : "Auto" === s.initScrollPos && (e = "BusinessHours" === this.heightSpec ? 2 * this.cellHeight * this.businessBeginsHour : 0), s.nav.scroll.scrollTop = e; }, this.Ca = function () { return !(!this.backendUrl && "function" != typeof WebForm_DoCallback) && ("undefined" == typeof s.events.list || !s.events.list); }, this.A = function () { "hidden" === this.nav.top.style.visibility && (this.nav.top.style.visibility = "visible"); }, this.show = function () { s.visible = !0, s.nav.top.style.display = ""; }, this.hide = function () { s.visible = !1, s.nav.top.style.display = "none"; }, this.Da = function () { this.ta(), this.B(), this.$(), this.E(), this.F(), this.oa(), this.la(), this.pa(), t.register(this), this.Ea(), this.n("Init"); }, this.na = {}, this.Fa = function () { this.na.themes = [], this.na.themes.push(this.theme || this.cssClassPrefix); }, this.Ga = function () { for (var e = this.na.themes, t = 0; t < e.length; t++) {
|
|
902
|
+
var i = e[t];
|
|
903
|
+
DayPilot.Util.removeClass(this.nav.top, i + "_main");
|
|
904
|
+
} this.na.themes = []; }, this.Ha = function () { if (this.afterRender(null, !1), "function" == typeof this.onAfterRender) {
|
|
905
|
+
var e = {};
|
|
906
|
+
e.isCallBack = !1, this.onAfterRender(e);
|
|
907
|
+
} }, this.Ia = function () { if ("function" == typeof this.onInit && !this.Ja) {
|
|
908
|
+
this.Ja = !0;
|
|
909
|
+
var e = {};
|
|
910
|
+
this.onInit(e);
|
|
911
|
+
} }, this.ra = function () { s.f || (s.f = !0, window.console && window.console.log && window.console.log("DayPilot: cssOnly = false mode is not supported anymore.")); }, this.Ka = function () { var e = s.nav.top; return e.offsetWidth > 0 && e.offsetHeight > 0; }, this.Ea = function () { var e = s.Ka; e() || (s.La = setInterval(function () { e() && (s.la(), s.oa(), clearInterval(s.La)); }, 100)); }, this.init = function () { this.xa(); var e = this.Ca(); return this.ra(), this.Fa(), e ? void this.Da() : (this.ta(), this.B(), this.C(), this.$(), this.E(), this.F(), this.A(), this.oa(), this.la(), this.pa(), t.register(this), this.events && (this.D(), this.I()), this.Ha(), this.Ia(), this.Ea(), this.qa = !0, this); }, this.Init = this.init, this.sa(i);
|
|
912
|
+
}, t.Cell = function (e, t, i) { this.start = e, this.end = t, this.column = function () { }; }, t.Column = function (e, t, i) { this.value = e, this.name = t, this.date = new DayPilot.Date(i); }, DayPilot.Calendar = t.Calendar, "undefined" != typeof jQuery && !function (e) { e.fn.daypilotCalendar = function (e) { var t = null, i = this.each(function () { if (!this.daypilot) {
|
|
913
|
+
var i = new DayPilot.Calendar(this.id);
|
|
914
|
+
this.daypilot = i;
|
|
915
|
+
for (name in e)
|
|
916
|
+
i[name] = e[name];
|
|
917
|
+
i.init(), t || (t = i);
|
|
918
|
+
} }); return 1 === this.length ? t : i; }; }(jQuery), function () { var e = DayPilot.am(); e && e.directive("daypilotCalendar", ["$parse", function (e) { return { "restrict": "E", "template": "<div></div>", "replace": !0, "link": function (t, i, n) { var s = new DayPilot.Calendar(i[0]); s.O.scope = t, s.init(); var l = n["id"]; l && (t[l] = s); var a = n["publishAs"]; if (a) {
|
|
919
|
+
(0, e(a).assign)(t, s);
|
|
920
|
+
} for (var o in n)
|
|
921
|
+
0 === o.indexOf("on") && !function (i) { s[i] = function (s) { var l = e(n[i]); t["$apply"](function () { l(t, { "args": s }); }); }; }(o); var r = t["$watch"], h = n["config"] || n["daypilotConfig"], c = n["events"] || n["daypilotEvents"]; r.call(t, h, function (e) { for (var t in e)
|
|
922
|
+
s[t] = e[t]; s.update(), s.Ia(); }, !0), r.call(t, c, function (e) { s.events.list = e, s.update(); }, !0); } }; }]); }();
|
|
923
|
+
}
|
|
924
|
+
}();
|
|
925
|
+
if ("undefined" == typeof DayPilot)
|
|
926
|
+
var DayPilot = {};
|
|
927
|
+
!function () { "undefined" != typeof DayPilot.DatePicker && DayPilot.DatePicker.close || (DayPilot.DatePicker = function (t) { this.v = "2021.4.338-lite"; var e = "navigator_" + (new Date).getTime(), i = this; this.prepare = function () { if (this.locale = "en-us", this.target = null, this.resetTarget = !0, this.pattern = this.a.locale().datePattern, this.cssClassPrefix = "navigator_default", this.theme = null, this.patterns = [], t)
|
|
928
|
+
for (var e in t)
|
|
929
|
+
this[e] = t[e]; this.init(); }, this.init = function () { this.date = new DayPilot.Date(this.date); var t = this.b(); this.resetTarget && !t && this.c(this.date), DayPilot.re(document, "mousedown", function () { i.close(); }); }, this.close = function () { this.d && (this.navigator && this.navigator.dispose(), this.div.innerHTML = "", this.div && this.div.parentNode === document.body && document.body.removeChild(this.div)); }, this.b = function () { var t = this.e(); if (!t)
|
|
930
|
+
return this.date; var e = null; if (e = "INPUT" === t.tagName ? t.value : t.innerText, !e)
|
|
931
|
+
return null; for (var a = DayPilot.Date.parse(e, i.pattern), n = 0; n < i.patterns.length; n++) {
|
|
932
|
+
if (a)
|
|
933
|
+
return a;
|
|
934
|
+
a = DayPilot.Date.parse(e, i.patterns[n]);
|
|
935
|
+
} return a; }, this.c = function (t) { var e = this.e(); if (e) {
|
|
936
|
+
var a = t.toString(i.pattern, i.locale);
|
|
937
|
+
"INPUT" === e.tagName ? e.value = a : e.innerHTML = a;
|
|
938
|
+
} }, this.a = {}, this.a.locale = function () { return DayPilot.Locale.find(i.locale); }, this.e = function () { var t = this.target; return t && t.nodeType && 1 === t.nodeType ? t : document.getElementById(t); }, this.show = function () { var t = this.e(), a = this.navigator, a = new DayPilot.Navigator(e); a.api = 2, a.f = !0, a.theme = i.theme || i.cssClassPrefix, a.weekStarts = "Auto", a.locale = i.locale, a.timeRangeSelectedHandling = "JavaScript", a.onTimeRangeSelected = function (t) { i.date = t.start; var e = t.start, a = e.toString(i.pattern, i.locale), t = {}; t.start = e, t.date = e, t.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof i.onTimeRangeSelect && (i.onTimeRangeSelect(t), t.preventDefault.value) || (i.c(a), i.close(), "function" == typeof i.onTimeRangeSelected && i.onTimeRangeSelected(t)); }, this.navigator = a; var n = DayPilot.abs(t), o = t.offsetHeight, r = document.createElement("div"); r.style.position = "absolute", r.style.left = n.x + "px", r.style.top = n.y + o + "px"; var s = document.createElement("div"); s.id = e, r.appendChild(s), DayPilot.re(r, "mousedown", function (t) { var t = t || window.event; t.cancelBubble = !0, t.stopPropagation && t.stopPropagation(); }), document.body.appendChild(r), this.div = r; var l = i.b() || (new DayPilot.Date).getDatePart(); a.startDate = l, a.selectionDay = l, a.init(), this.d = !0; }, this.prepare(); }); }();
|
|
939
|
+
"undefined" == typeof DayPilot && (DayPilot = {}), function (DayPilot) {
|
|
940
|
+
"use strict";
|
|
941
|
+
function e(t, i, a) { var n = i.indexOf("."); if (n === -1)
|
|
942
|
+
return void ("__proto__" !== i && "constructor" !== i && (t[i] = a)); var o = i.substring(0, n); if ("__proto__" !== o && "constructor" !== o) {
|
|
943
|
+
var l = i.substring(n + 1), d = t[o];
|
|
944
|
+
"object" == typeof d && null !== d || (t[o] = {}, d = t[o]), e(d, l, a);
|
|
945
|
+
} }
|
|
946
|
+
function t(e, i, a) { i = i || {}, a = a || ""; for (var n in e) {
|
|
947
|
+
var o = e[n];
|
|
948
|
+
"object" == typeof o ? "[object Array]" === Object.prototype.toString.call(o) ? i[a + n] = o : o && o.toJSON ? i[a + n] = o.toJSON() : t(o, i, a + n + ".") : i[a + n] = o;
|
|
949
|
+
} return i; }
|
|
950
|
+
if (!DayPilot.ModalStatic) {
|
|
951
|
+
DayPilot.ModalStatic = {}, DayPilot.ModalStatic.list = [], DayPilot.ModalStatic.hide = function () { if (this.list.length > 0) {
|
|
952
|
+
var e = this.list.pop();
|
|
953
|
+
e && e.hide();
|
|
954
|
+
} }, DayPilot.ModalStatic.remove = function (e) { for (var t = DayPilot.ModalStatic.list, i = 0; i < t.length; i++)
|
|
955
|
+
if (t[i] === e)
|
|
956
|
+
return void t.splice(i, 1); }, DayPilot.ModalStatic.close = function (e) { DayPilot.ModalStatic.result(e), DayPilot.ModalStatic.hide(); }, DayPilot.ModalStatic.result = function (e) { var t = DayPilot.ModalStatic.list; t.length > 0 && (t[t.length - 1].result = e); }, DayPilot.ModalStatic.displayed = function (e) { for (var t = DayPilot.ModalStatic.list, i = 0; i < t.length; i++)
|
|
957
|
+
if (t[i] === e)
|
|
958
|
+
return !0; return !1; }, DayPilot.ModalStatic.stretch = function () { if (this.list.length > 0) {
|
|
959
|
+
var e = this.list[this.list.length - 1];
|
|
960
|
+
e && e.stretch();
|
|
961
|
+
} }, DayPilot.ModalStatic.last = function () { var e = DayPilot.ModalStatic.list; return e.length > 0 ? e[e.length - 1] : null; };
|
|
962
|
+
var i = function () { var e = document.createElement("style"); e.setAttribute("type", "text/css"), e.styleSheet || e.appendChild(document.createTextNode("")), (document.head || document.getElementsByTagName("head")[0]).appendChild(e); var t = !!e.styleSheet, i = {}; return i.rules = [], i.commit = function () { try {
|
|
963
|
+
t && (e.styleSheet.cssText = this.rules.join("\n"));
|
|
964
|
+
}
|
|
965
|
+
catch (e) { } }, i.add = function (i, a, n) { if (t)
|
|
966
|
+
return void this.rules.push(i + "{" + a + "}"); if (e.sheet.insertRule)
|
|
967
|
+
"undefined" == typeof n && (n = e.sheet.cssRules.length), e.sheet.insertRule(i + "{" + a + "}", n);
|
|
968
|
+
else {
|
|
969
|
+
if (!e.sheet.addRule)
|
|
970
|
+
throw "No CSS registration method found";
|
|
971
|
+
e.sheet.addRule(i, a, n);
|
|
972
|
+
} }, i; }, a = new i;
|
|
973
|
+
a.add(".modal_default_main", "border: 10px solid #ccc; max-width: 90%;"), a.add(".modal_default_main:focus", "outline: none;"), a.add(".modal_default_content", "padding: 10px 0px;"), a.add(".modal_default_inner", "padding: 20px;"), a.add(".modal_default_input", "padding: 10px 0px;"), a.add(".modal_default_buttons", "margin-top: 10px;"), a.add(".modal_default_buttons", "padding: 10px 0px;"), a.add(".modal_default_form_item", "padding: 10px 0px; position: relative;"), a.add(".modal_default_form_item_level1", "border-left: 2px solid #ccc; margin-left: 10px; padding-left: 20px;"), a.add(".modal_default_form_item.modal_default_form_title", "font-size: 1.5rem; font-weight: bold;"), a.add(".modal_default_form_item input[type=text]", "width: 100%; box-sizing: border-box;"), a.add(".modal_default_form_item textarea", "width: 100%; height: 200px; box-sizing: border-box;"), a.add(".modal_default_form_item input[type=select]", "width: 100%; box-sizing: border-box;"), a.add(".modal_default_form_item label", "display: block;"), a.add(".modal_default_form_item select", "width: 100%; box-sizing: border-box;"), a.add(".modal_default_form_item_label", "margin: 2px 0px;"), a.add(".modal_default_form_item_image img", "max-width: 100%; height: auto;"), a.add(".modal_default_form_item_invalid", ""), a.add(".modal_default_form_item_invalid_message", "position: absolute; right: 0px; top: 9px; background-color: red; color: #ffffff; padding: 2px; border-radius: 2px;"), a.add(".modal_default_background", "opacity: 0.5; background-color: #000;"), a.add(".modal_default_ok", "padding: 3px; width: 80px;"), a.add(".modal_default_cancel", "padding: 3px; width: 80px;"), a.add(".modal_default_form_item_date", "position: relative;"), a.add(".modal_default_form_item_date:after", "content: ''; position: absolute; right: 7px; top: 50%; margin-top: 3px; width: 10px; height: 15px; background-image:url(" + "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB3aWR0aD0iMTAiCiAgIGhlaWdodD0iMTUiCj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDUpIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojY2NjY2NjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjM4MDM3MzM2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBpZD0icmVjdDE5MjgiCiAgICAgICB3aWR0aD0iOS45MTUzMDYxIgogICAgICAgaGVpZ2h0PSIxMS4zNjkzNyIKICAgICAgIHg9IjAuMTE3MTg3NSIKICAgICAgIHk9Ii0zLjAwOTk5NTciCiAgICAgICByeT0iMS4zMTE4NTA1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNjY2NjY2M7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNTk4MTQwMTI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGlkPSJyZWN0MTkzMCIKICAgICAgIHdpZHRoPSIxLjUzNDQxMzYiCiAgICAgICBoZWlnaHQ9IjIuMjE5ODI1IgogICAgICAgeD0iMi4xNTU4NDgzIgogICAgICAgeT0iLTQuMzkzNzAwMSIKICAgICAgIHJ5PSIwLjY3MTc4OTE3IiAvPgogICAgPHJlY3QKICAgICAgIHJ5PSIwLjI5NjAxNDciCiAgICAgICB5PSItMS4xNjU4NDY2IgogICAgICAgeD0iMS41MjM5NTA2IgogICAgICAgaGVpZ2h0PSIxLjgyOTkwOTEiCiAgICAgICB3aWR0aD0iMS44MzQyMjUxIgogICAgICAgaWQ9InJlY3QxOTQ4IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS40MjE4OTE5MztzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHJlY3QKICAgICAgIHJ5PSIwLjY3MTc4OTE3IgogICAgICAgeT0iLTQuMzkzNzAwMSIKICAgICAgIHg9IjYuNDUyNzIzNSIKICAgICAgIGhlaWdodD0iMi4yMTk4MjUiCiAgICAgICB3aWR0aD0iMS41MzQ0MTM2IgogICAgICAgaWQ9InJlY3QyMDAzIgogICAgICAgc3R5bGU9ImZpbGw6I2NjY2NjYztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS41OTgxNDAxMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNDIxODkxOTM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGlkPSJyZWN0MjAwNSIKICAgICAgIHdpZHRoPSIxLjgzNDIyNTEiCiAgICAgICBoZWlnaHQ9IjEuODI5OTA5MSIKICAgICAgIHg9IjQuMjE5MjYzMSIKICAgICAgIHk9Ii0xLjE2NTg0NjYiCiAgICAgICByeT0iMC4yOTYwMTQ3IiAvPgogICAgPHJlY3QKICAgICAgIHJ5PSIwLjI5NjAxNDciCiAgICAgICB5PSItMS4xNjU4NDY2IgogICAgICAgeD0iNi45OTI3MDA2IgogICAgICAgaGVpZ2h0PSIxLjgyOTkwOTEiCiAgICAgICB3aWR0aD0iMS44MzQyMjUxIgogICAgICAgaWQ9InJlY3QyMDA3IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS40MjE4OTE5MztzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNDIxODkxOTM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGlkPSJyZWN0MjAxMyIKICAgICAgIHdpZHRoPSIxLjgzNDIyNTEiCiAgICAgICBoZWlnaHQ9IjEuODI5OTA5MSIKICAgICAgIHg9IjEuNTIzOTUwNiIKICAgICAgIHk9IjEuODAyOTAzNCIKICAgICAgIHJ5PSIwLjI5NjAxNDciIC8+CiAgICA8cmVjdAogICAgICAgcnk9IjAuMjk2MDE0NyIKICAgICAgIHk9IjEuODAyOTAzNCIKICAgICAgIHg9IjQuMjE5MjYzMSIKICAgICAgIGhlaWdodD0iMS44Mjk5MDkxIgogICAgICAgd2lkdGg9IjEuODM0MjI1MSIKICAgICAgIGlkPSJyZWN0MjAxNSIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNDIxODkxOTM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjQyMTg5MTkzO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBpZD0icmVjdDIwMTciCiAgICAgICB3aWR0aD0iMS44MzQyMjUxIgogICAgICAgaGVpZ2h0PSIxLjgyOTkwOTEiCiAgICAgICB4PSI2Ljk5MjcwMDYiCiAgICAgICB5PSIxLjgwMjkwMzQiCiAgICAgICByeT0iMC4yOTYwMTQ3IiAvPgogICAgPHJlY3QKICAgICAgIHJ5PSIwLjI5NjAxNDciCiAgICAgICB5PSI0LjczMjU5MDciCiAgICAgICB4PSIxLjU2MzAxMzEiCiAgICAgICBoZWlnaHQ9IjEuODI5OTA5MSIKICAgICAgIHdpZHRoPSIxLjgzNDIyNTEiCiAgICAgICBpZD0icmVjdDIwMTkiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjQyMTg5MTkzO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS40MjE4OTE5MztzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgaWQ9InJlY3QyMDIxIgogICAgICAgd2lkdGg9IjEuODM0MjI1MSIKICAgICAgIGhlaWdodD0iMS44Mjk5MDkxIgogICAgICAgeD0iNC4yNTgzMjU2IgogICAgICAgeT0iNC43MzI1OTA3IgogICAgICAgcnk9IjAuMjk2MDE0NyIgLz4KICAgIDxyZWN0CiAgICAgICByeT0iMC4yOTYwMTQ3IgogICAgICAgeT0iNC43MzI1OTA3IgogICAgICAgeD0iNy4wMzE3NjMxIgogICAgICAgaGVpZ2h0PSIxLjgyOTkwOTEiCiAgICAgICB3aWR0aD0iMS44MzQyMjUxIgogICAgICAgaWQ9InJlY3QyMDIzIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS40MjE4OTE5MztzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDwvZz4KPC9zdmc+Cg==" + ")"), navigator.userAgent.indexOf("Edge") !== -1 && a.add(".modal_default_form_item_date input::-ms-clear", "display: none;"), a.add(".modal_default_form_item_scrollable_scroll", "width: 100%; height: 200px; box-sizing: border-box; border: 1px solid #ccc; overflow-y: auto;"), a.add(".modal_default_form_item_scrollable_scroll_content", "padding: 5px;"), a.add(".modal_default_form_item_searchable", "position: relative;"), a.add(".modal_default_form_item_searchable_icon", ""), a.add(".modal_default_form_item_searchable_icon:after", "content:''; position: absolute; right: 5px; top: 50%; margin-top: -8px; width: 10px; height: 15px; background-image:url(" + "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB3aWR0aD0iMTAiCiAgIGhlaWdodD0iMTUiCj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDUpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMxNzMiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojOTk5OTk5O3N0cm9rZS13aWR0aDoxLjg1MTk2ODUzO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICAgIGQ9Ik0gMC45NTQxNDgzOCwwLjY4MTYwMzEgNS4wMzkwNjI1LDUuNDExNTM4NiA5LjEyMzk3NjYsMC42ODE2MDMxIgogICAgICAgIC8+CiAgPC9nPgo8L3N2Zz4K" + ");"), a.add(".modal_default_form_item_searchable_list", "box-sizing: border-box; border: 1px solid #999; max-height: 150px; overflow-y: auto;"), a.add(".modal_default_form_item_searchable_list_item", "background: white; padding: 2px; cursor: default;"), a.add(".modal_default_form_item_searchable_list_item_highlight", "background: #ccc;"), a.add(".modal_default_form_item_tabular_main", "margin-top: 10px;"), a.add(".modal_default_form_item_tabular_table", "display: table; width: 100%; xbackground-color: #fff; border-collapse: collapse;"), a.add(".modal_default_form_item_tabular_tbody", "display: table-row-group;"), a.add(".modal_default_form_item_tabular_row", "display: table-row;"), a.add(".modal_default_form_item_tabular_row.modal_default_form_item_tabular_header", ""), a.add(".modal_default_form_item_tabular_cell.modal_default_form_item_tabular_rowaction", "padding: 0px; width: 23px;"), a.add(".modal_default_form_item_tabular_cell", "display: table-cell; border: 0px; padding: 2px 2px 2px 0px; cursor: default; vertical-align: bottom;"), a.add(".modal_default_form_item_tabular_header .modal_default_form_item_tabular_cell", "padding-left: 0px; padding-bottom: 0px;"), a.add(".modal_default_form_item_tabular_table input[type=text], .modal_default_form_item_tabular_table input[type=number]", "width:100%; box-sizing: border-box;"), a.add(".modal_default_form_item_tabular_table select", "width:100%; height:100%; box-sizing: border-box;"), a.add(".modal_default_form_item_tabular_plus", "display: inline-block; background-color: #ccc; color: white; width: 20px; height: 20px; border-radius: 10px; box-sizing: border-box; position: relative; margin-left: 3px; margin-top: 3px; cursor: pointer;"), a.add(".modal_default_form_item_tabular_plus:after", "content: ''; position: absolute; left: 5px; top: 5px; width: 10px; height: 10px; background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAnIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTSA1LjAgMC41IEwgNS4wIDkuNSBNIDAuNSA1LjAgTCA5LjUgNS4wJyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbGluZWNhcDpidXR0JyAvPjwvc3ZnPg==\")"), a.add(".modal_default_form_item_tabular_delete", "display: inline-block; background-color: #ccc; color: white; width: 20px; height: 20px; border-radius: 10px; box-sizing: border-box; position: relative; margin-left: 3px; margin-top: 3px; cursor: pointer;"), a.add(".modal_default_form_item_tabular_delete:after", "content: ''; position: absolute; left: 5px; top: 5px; width: 10px; height: 10px; background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAnIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTSAwLjUgMC41IEwgOS41IDkuNSBNIDAuNSA5LjUgTCA5LjUgMC41JyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbGluZWNhcDpidXR0JyAvPjwvc3ZnPg==\")"), a.add(".modal_default_form_item_tabular_disabled .modal_default_form_item_tabular_plus", "display: none;"), a.add(".modal_default_form_item_tabular_plus_max.modal_default_form_item_tabular_plus", "display: none;"), a.add(".modal_default_form_item_tabular_disabled .modal_default_form_item_tabular_delete", "visibility: hidden;"), a.add(".modal_default_form_item_tabular_empty", "height: 1px; margin: 5px 23px 5px 0px; background-color: #ccc;"), a.add(".modal_default_form_item_tabular_spacer .modal_default_form_item_tabular_cell", "padding: 0px;"), a.add(".modal_min_main", "border: 1px solid #ccc; max-width: 90%;"), a.add(".modal_min_background", "opacity: 0.5; background-color: #000;"), a.add(".modal_min_ok", "padding: 3px 10px;"), a.add(".modal_min_cancel", "padding: 3px 10px;"), a.add(".navigator_modal_main", "border-left: 1px solid #c0c0c0;border-right: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;background-color: white;color: #000000; box-sizing: content-box;"), a.add(".navigator_modal_main *, .navigator_modal_main *:before, .navigator_modal_main *:after", "box-sizing: content-box;"), a.add(".navigator_modal_month", "font-size: 11px;"), a.add(".navigator_modal_day", "color: black;"), a.add(".navigator_modal_weekend", "background-color: #f0f0f0;"), a.add(".navigator_modal_dayheader", "color: black;"), a.add(".navigator_modal_line", "border-bottom: 1px solid #c0c0c0;"), a.add(".navigator_modal_dayother", "color: gray;"), a.add(".navigator_modal_todaybox", "border: 1px solid red;"), a.add(".navigator_modal_title, .navigator_modal_titleleft, .navigator_modal_titleright", "border-top: 1px solid #c0c0c0;border-bottom: 1px solid #c0c0c0;color: #333;background: #f3f3f3;"), a.add(".navigator_modal_busy", "font-weight: bold;"), a.add(".navigator_modal_cell", "text-align: center;"), a.add(".navigator_modal_select .navigator_modal_cell_box", "background-color: #FFE794; opacity: 0.5;"), a.add(".navigator_modal_title", "text-align: center;"), a.add(".navigator_modal_titleleft, .navigator_modal_titleright", "text-align: center;"), a.add(".navigator_modal_dayheader", "text-align: center;"), a.add(".navigator_modal_weeknumber", "text-align: center;"), a.add(".navigator_modal_cell_text", "cursor: pointer;"), a.commit(), DayPilot.Modal = function (e) { this.autoFocus = !0, this.focus = null, this.autoStretch = !0, this.autoStretchFirstLoadOnly = !1, this.className = null, this.theme = "modal_default", this.disposeOnClose = !0, this.dragDrop = !0, this.loadingHtml = null, this.maxHeight = null, this.scrollWithPage = !0, this.useIframe = !0, this.zIndex = 99999, this.left = null, this.width = 600, this.top = 20, this.height = 200, this.locale = null, this.closed = null, this.onClose = null, this.onClosed = null, this.onShow = null; var t = this; this.id = "_" + (new Date).getTime() + "n" + 10 * Math.random(), this.a = !1, this.b = null, this.c = null, this.showHtml = function (e) { if (DayPilot.ModalStatic.displayed(this))
|
|
974
|
+
throw "This modal dialog is already displayed."; if (this.div || this.d(), this.e(), this.useIframe) {
|
|
975
|
+
var t = function (e, t) { return function () { e.setInnerHTML(e.id + "iframe", t); }; };
|
|
976
|
+
window.setTimeout(t(this, e), 0);
|
|
977
|
+
}
|
|
978
|
+
else
|
|
979
|
+
e.nodeType ? this.div.appendChild(e) : this.div.innerHTML = e; this.e(), this.f(), this.g(); }, this.showUrl = function (e) { if (DayPilot.ModalStatic.displayed(this))
|
|
980
|
+
throw "This modal dialog is already displayed."; if (this.useIframe) {
|
|
981
|
+
this.div || this.d();
|
|
982
|
+
var i = this.loadingHtml;
|
|
983
|
+
i && (this.iframe.src = "about:blank", this.setInnerHTML(this.id + "iframe", i)), this.re(this.iframe, "load", this.h), this.iframe.src = e, this.e(), this.f(), this.g();
|
|
984
|
+
}
|
|
985
|
+
else
|
|
986
|
+
t.i({ "url": e, "success": function (e) { var i = e.request.responseText; t.showHtml(i); }, "error": function (e) { t.showHtml("Error loading the modal dialog"); } }); }, this.g = function () { if ("function" == typeof t.onShow) {
|
|
987
|
+
var e = {};
|
|
988
|
+
e.root = t.j(), e.modal = t, t.onShow(e);
|
|
989
|
+
} }, this.j = function () { return t.iframe ? t.iframe.contentWindow.document : t.div; }, this.i = function (e) { var t = new XMLHttpRequest; if (t) {
|
|
990
|
+
var i = e.method || "GET", a = e.success || function () { }, n = e.error || function () { }, o = e.data, l = e.url;
|
|
991
|
+
t.open(i, l, !0), t.setRequestHeader("Content-type", "text/plain"), t.onreadystatechange = function () { if (4 === t.readyState)
|
|
992
|
+
if (200 === t.status || 304 === t.status) {
|
|
993
|
+
var e = {};
|
|
994
|
+
e.request = t, a(e);
|
|
995
|
+
}
|
|
996
|
+
else if (n) {
|
|
997
|
+
var e = {};
|
|
998
|
+
e.request = t, n(e);
|
|
999
|
+
}
|
|
1000
|
+
else
|
|
1001
|
+
window.console && console.log("HTTP error " + t.status); }, 4 !== t.readyState && ("object" == typeof o && (o = JSON.stringify(o)), t.send(o));
|
|
1002
|
+
} }, this.e = function () { delete this.result; var e = window, i = document, a = e.pageYOffset ? e.pageYOffset : i.documentElement && i.documentElement.scrollTop ? i.documentElement.scrollTop : i.body.scrollTop; this.theme && (this.hideDiv.className = this.theme + "_background"), this.zIndex && (this.hideDiv.style.zIndex = this.zIndex), this.hideDiv.style.display = "", window.setTimeout(function () { t.hideDiv && (t.hideDiv.onclick = function () { t.hide({ "backgroundClick": !0 }); }); }, 500), this.theme ? this.div.className = this.theme + "_main" : this.div.className = "", this.className && (this.div.className += " " + this.className), this.left ? this.div.style.left = this.left + "px" : this.div.style.marginLeft = "-" + Math.floor(this.width / 2) + "px", this.div.style.position = "absolute", this.div.style.boxSizing = "content-box", this.div.style.top = a + this.top + "px", this.div.style.width = this.width + "px", this.zIndex && (this.div.style.zIndex = this.zIndex), this.height && (this.useIframe || !this.autoStretch ? this.div.style.height = this.height + "px" : this.div.style.height = ""), this.useIframe && this.height && (this.iframe.style.height = this.height + "px"), this.div.style.display = "", this.l(), DayPilot.ModalStatic.remove(this), DayPilot.ModalStatic.list.push(this); }, this.h = function () { t.iframe.contentWindow.modal = t, t.autoStretch && t.stretch(); }, this.stretch = function () { var e = function () { return t.k().y; }, i = function () { return t.k().x; }; if (this.useIframe) {
|
|
1003
|
+
for (var a = i() - 40, n = this.width; n < a && this.m(); n += 10)
|
|
1004
|
+
this.div.style.width = n + "px", this.div.style.marginLeft = "-" + Math.floor(n / 2) + "px";
|
|
1005
|
+
for (var o = this.maxHeight || e() - 2 * this.top, l = this.height; l < o && this.n(); l += 10)
|
|
1006
|
+
this.iframe.style.height = l + "px", this.div.style.height = l + "px";
|
|
1007
|
+
this.autoStretchFirstLoadOnly && this.ue(this.iframe, "load", this.h);
|
|
1008
|
+
}
|
|
1009
|
+
else
|
|
1010
|
+
this.div.style.height = ""; }, this.m = function () { for (var e = this.iframe.contentWindow.document, t = "BackCompat" === e.compatMode ? e.body : e.documentElement, i = t.scrollWidth, a = e.body.children, n = 0; n < a.length; n++) {
|
|
1011
|
+
var o = a[n].offsetLeft + a[n].offsetWidth;
|
|
1012
|
+
i = Math.max(i, o);
|
|
1013
|
+
} return i > t.clientWidth; }, this.n = function () { for (var e = this.iframe.contentWindow.document, t = "BackCompat" === e.compatMode ? e.body : e.documentElement, i = t.scrollHeight, a = e.body.children, n = 0; n < a.length; n++) {
|
|
1014
|
+
var o = a[n].offsetTop + a[n].offsetHeight;
|
|
1015
|
+
i = Math.max(i, o);
|
|
1016
|
+
} return i > t.clientHeight; }, this.k = function () { var e = document; if ("CSS1Compat" === e.compatMode && e.documentElement && e.documentElement.clientWidth) {
|
|
1017
|
+
var t = e.documentElement.clientWidth, i = e.documentElement.clientHeight;
|
|
1018
|
+
return { x: t, y: i };
|
|
1019
|
+
} var t = e.body.clientWidth, i = e.body.clientHeight; return { x: t, y: i }; }, this.f = function () { this.a || (this.re(window, "resize", this.o), this.re(window, "scroll", this.p), this.dragDrop && (this.re(document, "mousemove", this.q), this.re(document, "mouseup", this.r)), this.a = !0); }, this.s = function () { this.ue(window, "resize", this.o), this.ue(window, "scroll", this.p), this.dragDrop && (this.ue(document, "mousemove", this.q), this.ue(document, "mouseup", this.r)), this.a = !1; }, this.t = function (e) { e.target === t.div && (e.preventDefault(), t.div.style.cursor = "move", t.u(), t.c = t.mc(e || window.event), t.b = { x: t.div.offsetLeft, y: t.div.offsetTop }); }, this.q = function (e) { if (t.c) {
|
|
1020
|
+
var e = e || window.event, i = t.mc(e), a = i.x - t.c.x, n = i.y - t.c.y;
|
|
1021
|
+
t.div.style.marginLeft = "0px", t.div.style.top = t.b.y + n + "px", t.div.style.left = t.b.x + a + "px";
|
|
1022
|
+
} }, this.r = function (e) { t.c && (t.v(), t.div.style.cursor = null, t.c = null); }, this.u = function () { if (this.useIframe) {
|
|
1023
|
+
var e = document.createElement("div");
|
|
1024
|
+
e.style.backgroundColor = "#ffffff", e.style.filter = "alpha(opacity=80)", e.style.opacity = "0.80", e.style.width = "100%", e.style.height = this.height + "px", e.style.position = "absolute", e.style.left = "0px", e.style.top = "0px", this.div.appendChild(e), this.mask = e;
|
|
1025
|
+
} }, this.v = function () { this.useIframe && (this.div.removeChild(this.mask), this.mask = null); }, this.o = function () { t.w(), t.l(); }, this.p = function () { t.w(); }, this.l = function () { if (!t.left && t.div) {
|
|
1026
|
+
var e = t.div.offsetWidth;
|
|
1027
|
+
t.div.style.marginLeft = "-" + Math.floor(e / 2) + "px";
|
|
1028
|
+
} }, this.w = function () { if (t.hideDiv && t.div && "none" !== t.hideDiv.style.display && "none" !== t.div.style.display) {
|
|
1029
|
+
var e = t.z.scrollY();
|
|
1030
|
+
t.scrollWithPage || (t.div.style.top = e + t.top + "px");
|
|
1031
|
+
} }, this.z = {}, this.z.container = function () { return t.container || document.body; }, this.z.scrollY = function () { var e = t.z.container(); return e === document.body ? window.pageYOffset ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop : e.scrollTop; }, this.re = function (e, t, i) { e.addEventListener ? e.addEventListener(t, i, !1) : e.attachEvent && e.attachEvent("on" + t, i); }, this.ue = function (e, t, i) { e.removeEventListener ? e.removeEventListener(t, i, !1) : e.detachEvent && e.detachEvent("on" + t, i); }, this.mc = function (e) { return e.pageX || e.pageY ? { x: e.pageX, y: e.pageY } : { x: e.clientX + document.documentElement.scrollLeft, y: e.clientY + document.documentElement.scrollTop }; }, this.abs = function (e) { for (var t = { x: e.offsetLeft, y: e.offsetTop }; e.offsetParent;)
|
|
1032
|
+
e = e.offsetParent, t.x += e.offsetLeft, t.y += e.offsetTop; return t; }, this.d = function () { var e = t.z.container(), i = e === document.body, a = i ? "fixed" : "absolute", n = document.createElement("div"); n.id = this.id + "hide", n.style.position = a, n.style.left = "0px", n.style.top = "0px", n.style.right = "0px", n.style.bottom = "0px", n.oncontextmenu = function () { return !1; }, n.onmousedown = function () { return !1; }, e.appendChild(n); var o = document.createElement("div"); o.id = this.id + "popup", o.style.position = a, o.style.left = "50%", o.style.top = "0px", o.style.backgroundColor = "white", o.style.width = "50px", o.style.height = "50px", this.dragDrop && (o.onmousedown = this.t), o.addEventListener("keydown", function (e) { e.stopPropagation(); }); var l = null; this.useIframe && (l = document.createElement("iframe"), l.id = this.id + "iframe", l.name = this.id + "iframe", l.frameBorder = "0", l.style.width = "100%", l.style.height = "50px", o.appendChild(l)), e.appendChild(o), this.div = o, this.iframe = l, this.hideDiv = n; }, this.setInnerHTML = function (e, i) { var a = window.frames[e], n = a.contentWindow || a.document || a.contentDocument; n.document && (n = n.document), null == n.body && n.write("<body></body>"), i.nodeType ? n.body.appendChild(i) : n.body.innerHTML = i, t.autoStretch && (t.autoStretchFirstLoadOnly && t.A || (t.stretch(), t.A = !0)); }, this.close = function (e) { this.result = e, this.hide(); }, this.closeSerialized = function () { for (var e = t.j(), i = e.querySelectorAll("input, textarea, select"), a = {}, n = 0; n < i.length; n++) {
|
|
1033
|
+
var o = i[n], l = o.name;
|
|
1034
|
+
if (l) {
|
|
1035
|
+
var d = o.value;
|
|
1036
|
+
a[l] = d;
|
|
1037
|
+
}
|
|
1038
|
+
} t.close(a); }, this.hide = function (e) { e = e || {}; var i = {}; i.backgroundClick = !!e.backgroundClick, i.result = this.result, i.canceled = "undefined" == typeof this.result, i.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof this.onClose && (this.onClose(i), i.preventDefault.value) || (this.div && (this.div.style.display = "none", this.hideDiv.style.display = "none", this.useIframe || (this.div.innerHTML = null)), window.focus(), DayPilot.ModalStatic.remove(this), "function" == typeof this.onClosed ? this.onClosed(i) : this.closed && this.closed(), delete this.result, this.disposeOnClose && (t.s(), t.B(t.div), t.B(t.hideDiv), t.div = null, t.hideDiv = null, t.iframe = null)); }, this.B = function (e) { e && e.parentNode && e.parentNode.removeChild(e); }, this.C = function () { if (e)
|
|
1039
|
+
for (var t in e)
|
|
1040
|
+
this[t] = e[t]; }, this.C(); }, DayPilot.Modal.alert = function (e, t) { t = t || {}, t.height = t.height || 40, t.useIframe = !1; var i = t.okText || "OK"; t.cancelText || "Cancel"; return DayPilot.getPromise(function (a, n) { t.onClosed = function (e) { a(e); }; var o = new DayPilot.Modal(t), l = document.createElement("div"); l.className = o.theme + "_inner"; var d = document.createElement("div"); d.className = o.theme + "_content", d.innerHTML = e; var r = document.createElement("div"); r.className = o.theme + "_buttons"; var s = document.createElement("button"); s.innerText = i, s.className = o.theme + "_ok", s.onclick = function (e) { DayPilot.ModalStatic.close("OK"); }, r.appendChild(s), l.appendChild(d), l.appendChild(r), o.showHtml(l), o.autoFocus && s.focus(); }); }, DayPilot.Modal.confirm = function (e, t) { t = t || {}, t.height = t.height || 40, t.useIframe = !1; var i = t.okText || "OK", a = t.cancelText || "Cancel"; return DayPilot.getPromise(function (n, o) { t.onClosed = function (e) { n(e); }; var l = new DayPilot.Modal(t), d = document.createElement("div"); d.className = l.theme + "_inner"; var r = document.createElement("div"); r.className = l.theme + "_content", r.innerHTML = e; var s = document.createElement("div"); s.className = l.theme + "_buttons"; var c = document.createElement("button"); c.innerText = i, c.className = l.theme + "_ok", c.onclick = function (e) { DayPilot.ModalStatic.close("OK"); }; var u = document.createTextNode(" "), m = document.createElement("button"); m.innerText = a, m.className = l.theme + "_cancel", m.onclick = function (e) { DayPilot.ModalStatic.close(); }, s.appendChild(c), s.appendChild(u), s.appendChild(m), d.appendChild(r), d.appendChild(s), l.showHtml(d), l.autoFocus && c.focus(); }); }, DayPilot.Modal.prompt = function (e, t, i) { "object" == typeof t && (i = t, t = ""), i = i || {}, i.height = i.height || 40, i.useIframe = !1; var a = i.okText || "OK", n = i.cancelText || "Cancel", o = t || ""; return DayPilot.getPromise(function (t, l) { i.onClosed = function (e) { t(e); }; var d = new DayPilot.Modal(i), r = document.createElement("div"); r.className = d.theme + "_inner"; var s = document.createElement("div"); s.className = d.theme + "_content", s.innerHTML = e; var c = document.createElement("div"); c.className = d.theme + "_input"; var u = document.createElement("input"); u.value = o, u.style.width = "100%", u.onkeydown = function (e) { var t = !1; switch (e.keyCode) {
|
|
1041
|
+
case 13:
|
|
1042
|
+
d.close(this.value);
|
|
1043
|
+
break;
|
|
1044
|
+
case 27:
|
|
1045
|
+
d.close();
|
|
1046
|
+
break;
|
|
1047
|
+
default: t = !0;
|
|
1048
|
+
} t || (e.preventDefault(), e.stopPropagation()); }, c.appendChild(u); var m = document.createElement("div"); m.className = d.theme + "_buttons"; var h = document.createElement("button"); h.innerText = a, h.className = d.theme + "_ok", h.onclick = function (e) { d.close(u.value); }; var p = document.createTextNode(" "), f = document.createElement("button"); f.innerText = n, f.className = d.theme + "_cancel", f.onclick = function (e) { d.close(); }, m.appendChild(h), m.appendChild(p), m.appendChild(f), r.appendChild(s), r.appendChild(c), r.appendChild(m), d.showHtml(r), d.autoFocus && u.focus(); }); };
|
|
1049
|
+
var n = function (e) { return "[object Array]" === Object.prototype.toString.call(e); };
|
|
1050
|
+
DayPilot.Modal.form = function (t, i, a) { if (1 === arguments.length) {
|
|
1051
|
+
var l = t;
|
|
1052
|
+
if (n(l))
|
|
1053
|
+
i = {};
|
|
1054
|
+
else {
|
|
1055
|
+
if ("object" != typeof l)
|
|
1056
|
+
throw "Invalid DayPilot.Modal.form() parameter";
|
|
1057
|
+
i = t, t = [];
|
|
1058
|
+
for (var d in i) {
|
|
1059
|
+
var r = {};
|
|
1060
|
+
r.name = d, r.id = d, t.push(r);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
} var s = {}; for (var d in a)
|
|
1064
|
+
s[d] = a[d]; s.height = s.height || 40, s.useIframe = !1; var c = s.okText || "OK", u = s.cancelText || "Cancel"; return DayPilot.getPromise(function (a, n) { s.onClosed = function (t) { if (t.result) {
|
|
1065
|
+
var n = JSON.parse(JSON.stringify(i));
|
|
1066
|
+
for (var o in t.result)
|
|
1067
|
+
e(n, o, t.result[o]);
|
|
1068
|
+
t.result = n;
|
|
1069
|
+
} a(t); }; var l = new DayPilot.Modal(s), d = document.createElement("div"); d.className = l.theme + "_inner"; var r = document.createElement("div"); r.className = l.theme + "_input"; var m = new o({ theme: l.theme, form: t, data: i, zIndex: l.zIndex, locale: l.locale, plugins: l.plugins, onKey: function (e) { switch (e.key) {
|
|
1070
|
+
case "Enter":
|
|
1071
|
+
m.validate() && l.close(m.serialize());
|
|
1072
|
+
break;
|
|
1073
|
+
case "Escape": l.close();
|
|
1074
|
+
} }, onChange: function (e) { "function" == typeof l.onChange && l.onChange(e); } }), h = m.create(); r.append(h); var p = document.createElement("div"); p.className = l.theme + "_buttons"; var f = document.createElement("button"); f.innerText = c, f.className = l.theme + "_ok", s.okDisabled && (f.disabled = !0), f.onclick = function (e) { m.validate() && l.close(m.serialize()); }; var v = document.createTextNode(" "), g = document.createElement("button"); if (g.innerText = u, g.className = l.theme + "_cancel", g.onclick = function (e) { l.close(); }, g.onmousedown = function (e) { m.canceling = !0; }, p.appendChild(f), p.appendChild(v), p.appendChild(g), d.appendChild(r), d.appendChild(p), l.showHtml(d), l.div.setAttribute("tabindex", "-1"), l.div.addEventListener("keydown", function (e) { switch (e.keyCode) {
|
|
1075
|
+
case 27:
|
|
1076
|
+
l.close();
|
|
1077
|
+
break;
|
|
1078
|
+
case 13: m.validate() && l.close(m.serialize());
|
|
1079
|
+
} }), l.focus) {
|
|
1080
|
+
var b = null;
|
|
1081
|
+
if ("object" == typeof l.focus) {
|
|
1082
|
+
var y = l.focus.id, I = l.focus.value;
|
|
1083
|
+
b = m.findViewById(y, I);
|
|
1084
|
+
}
|
|
1085
|
+
else
|
|
1086
|
+
"string" == typeof l.focus && (b = m.findViewById(l.focus));
|
|
1087
|
+
b && b.focus();
|
|
1088
|
+
}
|
|
1089
|
+
else {
|
|
1090
|
+
var _ = m.firstFocusable();
|
|
1091
|
+
l.autoFocus && _ ? _.focus() : l.div.focus();
|
|
1092
|
+
} }); }, DayPilot.Modal.close = function (e) { var t = DayPilot.Modal.opener(); t && t.close(e); }, DayPilot.Modal.stretch = function (e) { var t = DayPilot.Modal.opener(); if (!t)
|
|
1093
|
+
throw "Unable to find the opener DayPilot.Modal instance."; t.stretch(); }, DayPilot.Modal.closeSerialized = function () { var e = DayPilot.Modal.opener() || DayPilot.ModalStatic.last(); e && e.closeSerialized(); }, DayPilot.Modal.opener = function () { return "undefined" != typeof DayPilot && "undefined" != typeof DayPilot.ModalStatic && DayPilot.ModalStatic.list.length > 0 ? DayPilot.ModalStatic.list[DayPilot.ModalStatic.list.length - 1] : parent && parent.DayPilot && parent.DayPilot.ModalStatic && parent.DayPilot.ModalStatic.list[parent.DayPilot.ModalStatic.list.length - 1]; }, DayPilot.Modal.Experimental = {}, DayPilot.Modal.Experimental.Form = o, "undefined" == typeof DayPilot.getPromise && (DayPilot.getPromise = function (e) { return "undefined" != typeof Promise ? new Promise(e) : (DayPilot.Promise = function (e) { var t = this; this.then = function (t, i) { return t = t || function () { }, i = i || function () { }, e(t, i), DayPilot.getPromise(e); }, this["catch"] = function (i) { return t.then(null, i), DayPilot.getPromise(e); }; }, new DayPilot.Promise(e)); });
|
|
1094
|
+
var o = function (e) { this.form = [], this.data = {}, this.theme = "form_default", this.zIndex = 99999, this.locale = "en-us", this.plugins = {}, this.onKey = null, this.D = [], this.E = null, this.canceling = !1, this.F = [], this.G = [], this.H = null, e = e || {}; for (var t in e)
|
|
1095
|
+
this[t] = e[t]; };
|
|
1096
|
+
o.prototype.create = function () { return this.load(), this.render(), this.H; }, o.prototype.render = function () { var e = this; this.H = document.createElement("div"), this.D.forEach(function (t) { e.createView(t); }), this.applyState(); }, o.prototype.createView = function (e) { var t = this.theme, i = this, a = document.createElement("div"); if (a.className = t + "_form_item " + t + "_form_item_level" + e.level, e.interactive || "title" !== e.type ? a.className += " " + t + "_form_item_" + e.type : a.className += " " + t + "_form_title", e.data.cssClass && (a.className += " " + e.data.cssClass), !e.isValue) {
|
|
1097
|
+
var n = document.createElement("div");
|
|
1098
|
+
n.className = t + "_form_item_label", n.innerText = e.text, a.appendChild(n);
|
|
1099
|
+
} var o = this.createInteractive(e); o.onInput = function (e) { if (e = e || {}, i.I(o, { "debounce": !e.immediate }), "function" == typeof i.onChange) {
|
|
1100
|
+
var t = {};
|
|
1101
|
+
t.result = i.serialize(), i.onChange(t);
|
|
1102
|
+
} }, o.onBlur = function () { i.canceling || i.I(o); }, o.apply(e), o.H = a, o.row = e, o.element && a.appendChild(o.element), this.G.push(o), this.H.appendChild(a); }, o.prototype.validate = function () { var e = this, t = !0; return this.G.forEach(function (i) { var a = e.I(i); t = t && a; }), t; }, o.prototype.I = function (e, t) {
|
|
1103
|
+
function i() {
|
|
1104
|
+
e.J && (e.J.remove(), e.J = null), e.H.classList.add(u);
|
|
1105
|
+
var t = document.createElement("div");
|
|
1106
|
+
t.classList.add(m), t.innerText = c.message, e.J = t, e.H.appendChild(t);
|
|
1107
|
+
}
|
|
1108
|
+
t = t || {};
|
|
1109
|
+
var a = t.debounce, n = t.silent, o = e.row, l = !0, d = "function" == typeof o.data.onValidate ? o.data.onValidate : null, r = "function" == typeof o.data.validate ? o.data.validate : null, s = d || r;
|
|
1110
|
+
if (s) {
|
|
1111
|
+
var c = {};
|
|
1112
|
+
c.valid = !0, c.value = e.save()[o.field], c.message = "Error", c.values = this.serialize(), c.result = this.serialize(), s(c);
|
|
1113
|
+
var u = this.theme + "_form_item_invalid", m = this.theme + "_form_item_invalid_message";
|
|
1114
|
+
if (c.valid)
|
|
1115
|
+
clearTimeout(this.F[o.field]), e.J && (e.J.remove(), e.J = null), e.H.classList.remove(u);
|
|
1116
|
+
else if (!n)
|
|
1117
|
+
if (a) {
|
|
1118
|
+
var h = 1e3;
|
|
1119
|
+
clearTimeout(this.F[o.field]), this.F[o.field] = setTimeout(function () { i(); }, h);
|
|
1120
|
+
}
|
|
1121
|
+
else
|
|
1122
|
+
i();
|
|
1123
|
+
l = c.valid;
|
|
1124
|
+
}
|
|
1125
|
+
return l;
|
|
1126
|
+
}, o.prototype.load = function () { var e = this; this.form.forEach(function (t) { e.processFormItem(t, 0); }); var i; try {
|
|
1127
|
+
var a = JSON.stringify(this.data);
|
|
1128
|
+
i = t(JSON.parse(a));
|
|
1129
|
+
}
|
|
1130
|
+
catch (e) {
|
|
1131
|
+
throw new Error("The 'data' object is not serializable (it may contain circular dependencies): " + e);
|
|
1132
|
+
} for (var n in i)
|
|
1133
|
+
this.setValue(n, i[n]); }, o.prototype.setValue = function (e, t) { this.D.forEach(function (i) { i.applyValue(e, t); }); }, o.prototype.updateDependentState = function () { var e = this, t = [!0]; (this.E ? this.E : this.D).forEach(function (i) { var a = e.updateState(i, { enabled: t[i.level] && !i.data.disabled }); a.isValue && (t[a.level + 1] = a.enabled && a.checked); }); }, o.prototype.processFormItem = function (e, t) { var i = this, a = this.getFieldType(e), n = []; if ("radio" === a) {
|
|
1134
|
+
if (e.name) {
|
|
1135
|
+
var o = new l;
|
|
1136
|
+
o.field = e.id, o.data = e, o.level = t, o.type = "label", o.interactive = !1, o.text = e.name, i.D.push(o), n.push(o);
|
|
1137
|
+
}
|
|
1138
|
+
e.options.forEach(function (o) { var d = new l; d.field = e.id, d.data = o, d.level = t, d.type = a, d.isValue = !0, d.text = o.name, d.resolved = o.id, i.D.push(d), n.push(d), o.children && o.children.forEach(function (e) { var a = i.processFormItem(e, t + 1); n = n.concat(a); }); });
|
|
1139
|
+
}
|
|
1140
|
+
else if ("title" === a) {
|
|
1141
|
+
var o = new l;
|
|
1142
|
+
o.field = e.id, o.data = e, o.level = t, o.type = a, o.interactive = !1, o.text = e.name, i.D.push(o), n.push(o);
|
|
1143
|
+
}
|
|
1144
|
+
else if ("image" === a) {
|
|
1145
|
+
var o = new l;
|
|
1146
|
+
o.isValue = !0, o.field = e.id, o.data = e, o.level = t, o.type = a, o.interactive = !1, o.text = null, i.D.push(o), n.push(o);
|
|
1147
|
+
}
|
|
1148
|
+
else if ("html" === a) {
|
|
1149
|
+
var o = new l;
|
|
1150
|
+
o.isValue = !0, o.field = e.id, o.data = e, o.level = t, o.type = a, o.interactive = !1, o.text = null, i.D.push(o), n.push(o);
|
|
1151
|
+
}
|
|
1152
|
+
else if ("scrollable" === a) {
|
|
1153
|
+
var o = new l;
|
|
1154
|
+
o.isValue = !0, o.field = e.id, o.data = e, o.level = t, o.type = a, o.interactive = !1, o.text = null, i.D.push(o), n.push(o);
|
|
1155
|
+
}
|
|
1156
|
+
else {
|
|
1157
|
+
var o = new l;
|
|
1158
|
+
o.field = e.id, o.data = e, o.level = t, o.type = a, o.text = e.name, o.children = [], i.D.push(o), n.push(o);
|
|
1159
|
+
} return "checkbox" === a && (o.isValue = !0, o.resolved = !0, e.children && e.children.forEach(function (e) { var a = i.processFormItem(e, t + 1); n = n.concat(a); })), n; }, o.prototype.doOnKey = function (e) { if ("function" == typeof this.onKey) {
|
|
1160
|
+
var t = { key: e };
|
|
1161
|
+
this.onKey(t);
|
|
1162
|
+
} }, o.prototype.createInteractive = function (e) { var t = this, i = { "label": function () { return new d; }, "title": function () { return new d; }, "image": function () { var t = new d, i = document.createElement("img"); return i.src = e.data.image, t.element = i, t; }, "html": function () { var t = new d, i = document.createElement("div"); return "string" == typeof e.data.text ? i.innerText = e.data.text : "string" == typeof e.data.html && (i.innerHTML = e.data.html), t.element = i, t; }, "scrollable": function () { var i = new d, a = document.createElement("div"); a.className = t.theme + "_form_item_scrollable_scroll", e.data.height && (a.style.height = e.data.height + "px"); var n = document.createElement("div"); return n.className = t.theme + "_form_item_scrollable_scroll_content", "string" == typeof e.data.text ? n.innerText = e.data.text : "string" == typeof e.data.html && (n.innerHTML = e.data.html), a.appendChild(n), i.element = a, i; }, "text": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.element; t.value = e.value, t.disabled = !e.enabled; }; var a = document.createElement("input"); return a.name = e.field, a.type = "text", a.autocomplete = "off", a.onkeydown = function (e) { var i = !1; switch (e.keyCode) {
|
|
1163
|
+
case 13:
|
|
1164
|
+
t.doOnKey("Enter");
|
|
1165
|
+
break;
|
|
1166
|
+
case 27:
|
|
1167
|
+
t.doOnKey("Escape");
|
|
1168
|
+
break;
|
|
1169
|
+
default: i = !0;
|
|
1170
|
+
} i || (e.preventDefault(), e.stopPropagation()); }, a.oninput = function (e) { i.onInput(); }, a.onblur = function (e) { i.onBlur(); }, i.element = a, i.canFocus = function () { return !i.element.disabled; }, i.focus = function () { i.element.focus(), i.element.setSelectionRange(0, i.element.value.length); }, i.save = function () { var t = {}; return t[e.field] = a.value, t; }, i; }, "textarea": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.element; t.value = e.value, t.disabled = !e.enabled; }; var a = document.createElement("textarea"); return a.name = e.field, e.data.height && (a.style.height = e.data.height + "px"), a.onkeydown = function (e) { var i = !1; switch (e.keyCode) {
|
|
1171
|
+
case 13:
|
|
1172
|
+
(e.ctrlKey || e.metaKey) && t.doOnKey("Enter"), i = !1;
|
|
1173
|
+
break;
|
|
1174
|
+
case 27:
|
|
1175
|
+
t.doOnKey("Escape");
|
|
1176
|
+
break;
|
|
1177
|
+
default: i = !0;
|
|
1178
|
+
} i || e.stopPropagation(); }, a.oninput = function (e) { i.onInput(); }, a.onblur = function (e) { i.onBlur(); }, i.element = a, i.canFocus = function () { return !i.element.disabled; }, i.focus = function () { i.element.focus(), i.element.setSelectionRange(0, 0); }, i.save = function () { var t = {}; return t[e.field] = a.value, t; }, i; }, "date": function () { var i = new d; i.apply = function (e) { i.row = e; var a = i.element, n = i.picker; e.data.dateFormat && (n.pattern = e.data.dateFormat); var o = e.data.locale || t.locale; o && (n.locale = o), a.disabled = !e.enabled, n.date = new DayPilot.Date(e.value); var l = new DayPilot.Date(e.value).toString(e.data.dateFormat || n.pattern, n.locale); a.value = l; }; var a = document.createElement("input"); a.name = e.field; var n = new DayPilot.DatePicker({ target: a, theme: "navigator_modal", zIndex: t.zIndex + 1, resetTarget: !1, targetAlignment: "left", onTimeRangeSelect: function (e) { i.onInput({ "immediate": !0 }); } }); return a.picker = n, a.className = t.theme + "_input_date", a.type = "text", a.onkeydown = function (e) { var i = !1; switch (e.keyCode) {
|
|
1179
|
+
case 13:
|
|
1180
|
+
n.visible ? n.close() : t.doOnKey("Enter");
|
|
1181
|
+
break;
|
|
1182
|
+
case 27:
|
|
1183
|
+
n.visible ? n.close() : t.doOnKey("Escape");
|
|
1184
|
+
break;
|
|
1185
|
+
case 9:
|
|
1186
|
+
n.close(), i = !0;
|
|
1187
|
+
break;
|
|
1188
|
+
default: i = !0;
|
|
1189
|
+
} i || (e.preventDefault(), e.stopPropagation()); }, a.onfocus = function () { n.show(); }, a.onclick = function () { n.show(); }, a.oninput = function (e) { i.onInput(); }, a.onblur = function (e) { i.onBlur(); }, i.element = a, i.picker = n, i.canFocus = function () { return !i.element.disabled; }, i.focus = function () { i.element.focus(); }, i.save = function () { var t = n.date ? n.date.toString() : null, i = {}; return i[e.field] = t, i; }, i; }, "select": function () { var t = new d; t.apply = function (e) { t.row = e; var i = t.element; i.value = e.value, i.disabled = !e.enabled; }; var i = document.createElement("select"); return i.name = e.field, e.data.options && e.data.options.forEach && e.data.options.forEach(function (e) { var t = document.createElement("option"); t.innerText = e.name || e.id, t.value = e.id, t.K = e.id, i.appendChild(t); }), i.onchange = function (e) { t.onInput({ "immediate": !0 }); }, i.onblur = function (e) { t.onBlur(); }, t.element = i, t.canFocus = function () { return !t.element.disabled; }, t.focus = function () { t.element.focus(); }, t.save = function () { var t = null, a = i.options[i.selectedIndex]; a && "undefined" != typeof a.K && (t = a.K); var n = {}; return n[e.field] = t, n; }, t; }, "searchable": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.searchable; t.disabled = !e.enabled, t.select(e.value); }; var a = new r({ data: e.data.options || [], name: e.field, theme: t.theme + "_form_item_searchable", listZIndex: t.zIndex + 1, onSelect: function (e) { e.ui && i.onInput({ "immediate": !0 }); } }), n = a.create(); return i.element = n, i.searchable = a, i.canFocus = function () { return !i.searchable.disabled; }, i.focus = function () { i.searchable.focus(); }, i.save = function () { var t = a.selected && a.selected.id, i = {}; return i[e.field] = t, i; }, i; }, "radio": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.radio; t.checked = e.checked, t.disabled = !e.enabled; }; var a = document.createElement("label"), n = document.createElement("input"); n.type = "radio", n.name = e.field, n.K = e.resolved, n.onchange = function (e) { var a = i.row; t.findRowsByField(a.field).forEach(function (e) { t.updateState(e, { checked: !1 }); }), t.updateState(a, { checked: !0 }), t.applyState(), i.onInput({ "immediate": !0 }); }, n.onblur = function (e) { i.onBlur(); }, a.appendChild(n); var o = document.createTextNode(e.text); return a.append(o), i.element = a, i.radio = n, i.canFocus = function () { return !1; }, i.focus = function () { i.radio.focus(); }, i.save = function () { if (!n.checked)
|
|
1190
|
+
return {}; var t = n.K, i = {}; return i[e.field] = t, i; }, i; }, "checkbox": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.checkbox; t.checked = e.checked, t.disabled = !e.enabled; }; var a = document.createElement("label"), n = document.createElement("input"); n.type = "checkbox", n.name = e.field, n.K = e.resolved, n.onchange = function (e) { var a = i.row; t.updateState(a, { checked: this.checked }), t.applyState(), i.onInput({ "immediate": !0 }); }, n.onblur = function (e) { i.onBlur(); }, a.appendChild(n); var o = document.createTextNode(e.text); return a.append(o), i.element = a, i.checkbox = n, i.canFocus = function () { return !1; }, i.focus = function () { i.checkbox.focus(); }, i.save = function () { var t = n.checked, i = {}; return i[e.field] = t, i; }, i; }, "table": function () { var i = new d; i.apply = function (e) { i.row = e; var t = i.table; t.disabled = !e.enabled, t.load(e.value || []); }; var a = new s({ name: e.field, form: t, theme: t.theme + "_form_item_tabular", item: e.data, onInput: function (e) { i.onInput(); } }), n = a.create(); return i.element = n, i.table = a, i.canFocus = function () { return !1; }, i.focus = function () { i.table.focus(); }, i.save = function () { var t = a.save(), i = {}; return i[e.field] = t, i; }, i; } }; return t.plugins && t.plugins[e.type] ? t.plugins[e.type](e) : i[e.type](); }, o.prototype.findRowsByField = function (e) { return this.D.filter(function (t) { return t.field === e; }); }, o.prototype.findViewById = function (e, t) { return this.G.find(function (i) { return i.row.field === e && ("radio" !== i.row.type || i.row.resolved === t); }); }, o.prototype.firstFocusable = function () { return this.G.find(function (e) { return e.canFocus && e.canFocus(); }); }, o.prototype.updateState = function (e, t) { var i = this.E ? this.E : this.D, a = i.indexOf(e); return this.E = i.map(function (i) { if (i !== e)
|
|
1191
|
+
return i; if (e.propsEqual(t))
|
|
1192
|
+
return e; var a = e.clone(); for (var n in t)
|
|
1193
|
+
a[n] = t[n]; return a; }), this.E[a]; }, o.prototype.updateInteractive = function (e) { var t = this.E.indexOf(e); this.G[t].apply(e); }, o.prototype.applyState = function () { var e = this; if (this.updateDependentState(), this.E) {
|
|
1194
|
+
this.E.filter(function (t, i) { return e.D[i] !== t; }).forEach(function (t) { e.updateInteractive(t); }), this.D = this.E, this.E = null;
|
|
1195
|
+
} }, o.prototype.getFieldType = function (e) { return ["text", "date", "select", "searchable", "radio", "checkbox", "table", "title", "image", "html", "textarea", "scrollable"].indexOf(e.type) !== -1 ? e.type : e.type && this.plugins && this.plugins[e.type] ? e.type : e.image ? "image" : e.html || e.text ? "html" : e.id ? e.options ? "searchable" : e.dateFormat ? "date" : e.columns ? "table" : "text" : "title"; }, o.prototype.serialize = function () { var e = {}; return this.G.forEach(function (t) { var i = t.save(); for (var a in i)
|
|
1196
|
+
e[a] = i[a]; }), e; };
|
|
1197
|
+
var l = function () { this.id = this.guid(), this.field = null, this.data = null, this.type = null, this.level = 0, this.enabled = !0, this.value = null, this.text = null, this.interactive = !0, this.isValue = !1, this.checked = !1, this.resolved = null; };
|
|
1198
|
+
l.prototype.clone = function () { var e = new l; for (var t in this)
|
|
1199
|
+
"id" !== t && (e[t] = this[t]); return e; }, l.prototype.propsEqual = function (e) { for (var t in e)
|
|
1200
|
+
if (this[t] !== e[t])
|
|
1201
|
+
return !1; return !0; }, l.prototype.guid = function () { var e = function () { return (65536 * (1 + Math.random()) | 0).toString(16).substring(1); }; return "" + e() + e() + "-" + e() + "-" + e() + "-" + e() + "-" + e() + e() + e(); }, l.prototype.applyValue = function (e, t) { this.field === e && (this.value = t, this.isValue && t === this.resolved && (this.checked = !0)); };
|
|
1202
|
+
var d = function () { this.element = null, this.canFocus = function () { return !1; }, this.apply = function (e) { }, this.focus = function () { }, this.save = function () { return {}; }; }, r = function (e) { this.data = [], this.name = null, this.theme = "searchable_default", this.L = !1, this.listZIndex = 1e5, this.onSelect = null, this.M = null, this.N = null, this.O = !1, this.P = null, this.Q = null, this.R = [], this.S = null, e = e || {}; var t = this, i = { "selected": { post: function (e) { "object" == typeof e && e.id ? t.M = e : "string" != typeof e && "number" != typeof e || t.select(e); } } }; Object.defineProperty(this, "selected", { get: function () { return this.M; } }), Object.defineProperty(this, "disabled", { get: function () { return this.L; }, set: function (e) { this.L = e, this.P && (this.P.disabled = e, e && this.T()); } }); for (var a in e)
|
|
1203
|
+
i[a] || (this[a] = e[a]); for (var a in e)
|
|
1204
|
+
i[a] && i[a].post(e[a]); };
|
|
1205
|
+
r.prototype.select = function (e) { return this.M = this.data.find(function (t) { return t.id === e; }), this.U(!1), this; }, r.prototype.create = function () { function e() { m.style.display = "", m.style.top = p.offsetHeight + "px", m.style.left = "0px", m.style.width = p.offsetWidth + "px", m.innerHTML = "", m.addEventListener("mousedown", function (e) { e.preventDefault(); }), r.N = null, r.R = []; var e = null; r.data.forEach(function (i) { var n = i.name || i.id; if (n.toLowerCase().indexOf(p.value.toLowerCase()) !== -1) {
|
|
1206
|
+
var o = document.createElement("div");
|
|
1207
|
+
o.className = r.theme + "_list_item", o.innerText = n, o.item = i, i === r.M && (r.N = o), e || (e = o), o.addEventListener("mousedown", function (e) { a(o), e.preventDefault(); }), o.addEventListener("mousemove", function (e) { r.N !== o && (r.N = o, t({ dontScroll: !0 })); }), m.appendChild(o), r.R.push(o);
|
|
1208
|
+
} }), r.N || (r.N = e), t(); } function t(e) { e = e || {}; var t = !e.dontScroll; document.querySelectorAll("." + r.theme + "_list_item_highlight").forEach(function (e) { e.className = e.className.replace(r.theme + "_list_item_highlight", ""); }), r.N && (r.N.className += " " + r.theme + "_list_item_highlight", t && !i(r.N, m) && r.N.scrollIntoView()); } function i(e, t) { var i = e.getBoundingClientRect(), a = t.getBoundingClientRect(); return i.top >= a.top && i.bottom <= a.bottom; } function a(e) { var t = e.item; r.M = t, r.U(!0), o(), l(); } function n() { r.T(); } function o() { r.V(); } function l() { r.O = !0, p.setAttribute("readonly", "readonly"), p.focus(); } function d() { r.O = !1, p.removeAttribute("readonly"), p.value = "", e(); } var r = this, s = this, c = document.createElement("div"); c.className = this.theme + "_main", c.style.position = "relative"; var u = document.createElement("div"); u.className = this.theme + "_icon", u.style.position = "absolute", u.style.right = "0", u.style.top = "0", u.style.bottom = "0", u.style.width = "20px", u.addEventListener("mousedown", function (e) { e.preventDefault(), r.O ? (r.focus(), d()) : (n(), l()); }); var m = document.createElement("div"); m.className = this.theme + "_list", m.style.display = "none", m.style.position = "absolute", m.style.zIndex = this.listZIndex; var h = document.createElement("input"); h.type = "hidden", h.name = this.name, h.searchable = s, this.S = h; var p = document.createElement("input"); return p.type = "text", p.className = this.theme + "_input", p.disabled = this.L, p.addEventListener("click", function (e) { d(); }), p.addEventListener("focus", function (t) { p.value = "", e(); }), p.addEventListener("input", function (t) { e(); }), p.addEventListener("blur", function (e) { p.removeAttribute("readonly"), n(); }), p.addEventListener("keydown", function (e) { if (r.O) {
|
|
1209
|
+
if ("Enter" === e.key)
|
|
1210
|
+
return;
|
|
1211
|
+
if ("Esc" === e.key || "Escape" === e.key)
|
|
1212
|
+
return;
|
|
1213
|
+
d();
|
|
1214
|
+
} if ("ArrowDown" === e.key) {
|
|
1215
|
+
var i = s.R.indexOf(s.N);
|
|
1216
|
+
i + 1 < s.R.length && (s.N = s.R[i + 1]), t();
|
|
1217
|
+
}
|
|
1218
|
+
else if ("ArrowUp" === e.key) {
|
|
1219
|
+
var i = s.R.indexOf(s.N);
|
|
1220
|
+
i - 1 >= 0 && (s.N = s.R[i - 1]), t();
|
|
1221
|
+
}
|
|
1222
|
+
else
|
|
1223
|
+
"Enter" === e.key ? r.N ? (e.stopPropagation(), a(r.N)) : (e.stopPropagation(), n(), l()) : "Esc" !== e.key && "Escape" !== e.key || (e.stopPropagation(), n(), l()); }), this.P = p, this.Q = m, this.M || (this.M = this.data[0], this.M && (p.value = this.M.name)), c.appendChild(p), c.appendChild(u), c.appendChild(h), c.appendChild(m), c; }, r.prototype.T = function () { this.V(), this.M ? this.P.value = this.M.name : (this.P.value = "", this.U(!0)); }, r.prototype.focus = function () { this.O = !0, this.P.setAttribute("readonly", "readonly"), this.P.focus(), this.T(); }, r.prototype.V = function () { this.Q.style.display = "none"; }, r.prototype.U = function (e) { if (this.S.value = this.selected ? this.selected.id : null, this.M ? this.P.value = this.M.name : this.P.value = "", "function" == typeof this.onSelect) {
|
|
1224
|
+
var t = { control: this, ui: e };
|
|
1225
|
+
this.onSelect(t);
|
|
1226
|
+
} };
|
|
1227
|
+
var s = function (e) { this.form = null, this.item = null, this.data = null, this.name = null, this.theme = "edit_table_default", this.onInput = null, this.nav = {}, this.W = null, this.D = [], e = e || {}; for (var t in e)
|
|
1228
|
+
this[t] = e[t]; };
|
|
1229
|
+
s.prototype.create = function () { var e = this, t = document.createElement("div"); t.className = this.theme + "_main", t.style.position = "relative"; var i = document.createElement("input"); i.type = "hidden", i.name = e.name, i.table = this, t.appendChild(i); var a = document.createElement("div"); a.className = this.theme + "_table"; var n = this.X(); a.appendChild(n); var o = e.Y({}); o.spacer = !0; var l = this.Z(o); l.classList.add(e.theme + "_spacer"), a.appendChild(l); var d = document.createElement("div"); d.className = e.theme + "_tbody", a.appendChild(d), t.appendChild(a); var r = document.createElement("div"); t.appendChild(r), this.nav.body = d, this.nav.table = a, this.nav.main = t, this.nav.after = r; var s = document.createElement("div"), c = document.createElement("span"); return c.className = this.theme + "_plus", c.addEventListener("click", function (t) { if (!e.disabled) {
|
|
1230
|
+
var i = e.item.onNewRow, a = {};
|
|
1231
|
+
if ("function" == typeof i) {
|
|
1232
|
+
var n = {};
|
|
1233
|
+
n.result = e.form.serialize(), n.value = {}, i(n), a = n.value;
|
|
1234
|
+
}
|
|
1235
|
+
var o = e.Y(a);
|
|
1236
|
+
e.D.push(o), e.$(), e._();
|
|
1237
|
+
} }), this.nav.plus = c, s.appendChild(c), t.appendChild(s), t; }, s.prototype.X = function () { var e = this, t = document.createElement("div"); return t.classList.add(this.theme + "_row"), t.classList.add(this.theme + "_header"), this.item.columns.forEach(function (i) { var a = document.createElement("div"); a.classList.add(e.theme + "_cell"), a.innerText = i.name, t.appendChild(a); }), t; }, s.prototype.aa = function () { var e = this.item.max || 0; return !!(e && this.D.length >= e); }, s.prototype.save = function () { var e = this, t = []; return e.D.forEach(function (e) { var i = {}; e.cells.forEach(function (e) { i[e.id] = e.value; }), t.push(i); }), t; }, s.prototype.load = function (e) { if ("[object Array]" !== Object.prototype.toString.call(e))
|
|
1238
|
+
throw new Error("Array expected"); this.data = e, this.ba(), this.$(); }, s.prototype.ca = function () { this.disabled ? this.nav.main.classList.add(this.theme + "_disabled") : this.nav.main.classList.remove(this.theme + "_disabled"), this.aa() ? this.nav.plus.classList.add(this.theme + "_plus_max") : this.nav.plus.classList.remove(this.theme + "_plus_max"); }, s.prototype.ba = function () { var e = this; this.D = [], this.data.forEach(function (t) { var i = e.Y(t); e.D.push(i); }); }, s.prototype.da = function (e) { var t = this, i = t.D.indexOf(e); t.D.splice(i, 1); }, s.prototype.Y = function (e) { var t = this, i = {}; return i.data = e, i.cells = [], t.item.columns.forEach(function (a) { var n = a.id, o = e[n], l = t.ea(a); if ("undefined" == typeof o)
|
|
1239
|
+
if ("text" === l)
|
|
1240
|
+
o = "";
|
|
1241
|
+
else if ("number" === l)
|
|
1242
|
+
o = 0;
|
|
1243
|
+
else if ("select" === l) {
|
|
1244
|
+
var d = a.options;
|
|
1245
|
+
o = d && d[0].id;
|
|
1246
|
+
} var r = {}; r.id = n, r.value = o, r.type = l, r.data = a, i.cells.push(r); }), i; }, s.prototype.ea = function (e) { var t = e.type; return t || (t = e.options ? "select" : "text"), t; }, s.prototype.$ = function () { var e = this; if (this.nav.body.innerHTML = "", this.nav.after.innerHTML = "", this.D.forEach(function (t) { var i = e.Z(t); e.nav.body.appendChild(i); }), 0 === this.D.length) {
|
|
1247
|
+
var t = e.fa();
|
|
1248
|
+
e.nav.after.appendChild(t);
|
|
1249
|
+
} this.ca(); }, s.prototype.fa = function () { var e = document.createElement("div"); return e.className = this.theme + "_empty", e; }, s.prototype.Z = function (e) { var t = this, i = document.createElement("div"); i.className = t.theme + "_row", e.cells.forEach(function (a) { var n = document.createElement("div"); n.className = t.theme + "_cell"; var o = t.ga(a); if (e.spacer) {
|
|
1250
|
+
var l = document.createElement("div");
|
|
1251
|
+
l.style.height = "0px", l.style.overflow = "hidden", l.appendChild(o), n.appendChild(l);
|
|
1252
|
+
}
|
|
1253
|
+
else
|
|
1254
|
+
n.appendChild(o); i.appendChild(n); }); var a = document.createElement("div"); a.classList.add(t.theme + "_cell"), a.classList.add(t.theme + "_rowaction"); var n = document.createElement("span"); return n.className = this.theme + "_delete", n.addEventListener("click", function (i) { t.disabled || (t.da(e), t.$(), t._()); }), e.spacer || a.appendChild(n), i.appendChild(a), i; }, s.prototype._ = function () { var e = this; if ("function" == typeof e.onInput) {
|
|
1255
|
+
var t = {};
|
|
1256
|
+
e.onInput(t);
|
|
1257
|
+
} }, s.prototype.ga = function (e) { var t = this, i = e.type; if ("text" === i || "number" === i) {
|
|
1258
|
+
var a = document.createElement("input");
|
|
1259
|
+
return a.type = i, t.disabled && (a.disabled = !0), e.value && (a.value = e.value), a.addEventListener("keyup", function (a) { "number" === i ? e.value = Number(this.value) : e.value = this.value, t._(); }), a;
|
|
1260
|
+
} if ("select" === i) {
|
|
1261
|
+
var n = document.createElement("select");
|
|
1262
|
+
return t.disabled && (n.disabled = !0), e.data.options.forEach(function (t) { var i = document.createElement("option"); i.innerText = t.name, i.value = t.id, i.K = t.id, n.appendChild(i), e.value === t.id && i.setAttribute("selected", !0); }), n.addEventListener("change", function (i) { var a = n.options[n.selectedIndex]; a && "undefined" != typeof a.K && (e.value = a.K), t._(); }), n;
|
|
1263
|
+
} throw new Error("Unsupported item type: " + i); }, s.prototype.focus = function () { };
|
|
1264
|
+
}
|
|
1265
|
+
}(DayPilot);
|
|
1266
|
+
if ("undefined" == typeof DayPilot)
|
|
1267
|
+
var DayPilot = {};
|
|
1268
|
+
"undefined" == typeof DayPilot.Global && (DayPilot.Global = {}), function () { if ("undefined" == typeof DayPilot.Month || !DayPilot.Month.events) {
|
|
1269
|
+
var t = {};
|
|
1270
|
+
t.Month = function (e, i) { this.v = "2021.4.338-lite", this.nav = {}; var n = this; this.id = e, this.isMonth = !0, this.api = 2, this.backendUrl = null, this.cellHeaderHeight = 24, this.cellHeight = 100, this.cssClassPrefix = "month_default", this.eventHeight = 30, this.eventsLoadMethod = "GET", this.a = !0, this.headerHeight = 30, this.hideUntilInit = !0, this.lineSpace = 1, this.locale = "en-us", this.showToolTip = !0, this.startDate = new DayPilot.Date, this.theme = null, this.visible = !0, this.weekStarts = 1, this.width = "100%", this.afterRender = function () { }, this.eventClickHandling = "Enabled", this.eventMoveHandling = "Update", this.eventResizeHandling = "Update", this.timeRangeSelectedHandling = "Enabled", this.onEventClick = null, this.onEventClicked = null, this.onEventMove = null, this.onEventMoved = null, this.onEventResize = null, this.onEventResized = null, this.onTimeRangeSelect = null, this.onTimeRangeSelected = null, this.cellEvents = [], this.elements = {}, this.elements.events = [], this.cache = {}, this.b = function (t, e) { var t = JSON.parse(t); return t.CallBackRedirect ? void (document.location.href = t.CallBackRedirect) : "None" === t.UpdateType ? void n.fireAfterRenderDetached(t.CallBackData, !0) : (n.events.list = t.Events, "Full" === t.UpdateType && (n.startDate = t.StartDate, n.timeFormat = t.TimeFormat ? t.TimeFormat : n.timeFormat, "undefined" != typeof t.WeekStarts && (n.weekStarts = t.WeekStarts), n.hashes = t.Hashes), n.c(), n.d(), n.f(), "Full" === t.UpdateType && (n.g(), n.h()), n.i(), n.show(), n.j(), void n.fireAfterRenderDetached(t.CallBackData, !0)); }, this.fireAfterRenderDetached = function (t, e) { var i = function (t, e) { return function () { n.afterRender && n.afterRender(t, e); }; }; window.setTimeout(i(t, e), 0); }, this.lineHeight = function () { return this.eventHeight + this.lineSpace; }, this.events = {}, this.events.add = function (t) { t.calendar = n, n.events.list || (n.events.list = []), n.events.list.push(t.data), n.update(), n.k.notify(); }, this.events.update = function (t) { t.commit(), n.update(), n.k.notify(); }, this.events.remove = function (t) { var e = DayPilot.indexOf(n.events.list, t.data); n.events.list.splice(e, 1), n.update(), n.k.notify(); }, this.events.load = function (t, e, i) { var s = function (t) { var e = {}; e.exception = t.exception, e.request = t.request, "function" == typeof i && i(e); }, a = function (t) { var i, a = t.request; try {
|
|
1271
|
+
i = JSON.parse(a.responseText);
|
|
1272
|
+
}
|
|
1273
|
+
catch (t) {
|
|
1274
|
+
var l = {};
|
|
1275
|
+
return l.exception = t, void s(l);
|
|
1276
|
+
} if (DayPilot.isArray(i)) {
|
|
1277
|
+
var o = {};
|
|
1278
|
+
if (o.preventDefault = function () { this.preventDefault.value = !0; }, o.data = i, "function" == typeof e && e(o), o.preventDefault.value)
|
|
1279
|
+
return;
|
|
1280
|
+
n.events.list = i, n.l && n.update();
|
|
1281
|
+
} }; if (n.eventsLoadMethod && "POST" === n.eventsLoadMethod.toUpperCase())
|
|
1282
|
+
DayPilot.Http.ajax({ "method": "POST", "data": { "start": n.visibleStart().toString(), "end": n.visibleEnd().toString() }, "url": t, "success": a, "error": s });
|
|
1283
|
+
else {
|
|
1284
|
+
var l = t, o = "start=" + n.visibleStart().toString() + "&end=" + n.visibleEnd().toString();
|
|
1285
|
+
l += l.indexOf("?") > -1 ? "&" + o : "?" + o, DayPilot.Http.ajax({ "method": "GET", "url": l, "success": a, "error": s });
|
|
1286
|
+
} }, this.update = function (t) { if (this.cells) {
|
|
1287
|
+
this.m(), n.n(t), n.c(), n.d(), n.f(), n.g(), n.h(), n.i(), n.o(), n.j(), this.visible ? this.show() : this.hide();
|
|
1288
|
+
} }, this.p = null, this.n = function (t) { if (t) {
|
|
1289
|
+
var e = { "events": { "preInit": function () { var t = this.data; t && (DayPilot.isArray(t.list) ? n.events.list = t.list : n.events.list = t); } } };
|
|
1290
|
+
this.p = e;
|
|
1291
|
+
for (var i in t)
|
|
1292
|
+
if (e[i]) {
|
|
1293
|
+
var s = e[i];
|
|
1294
|
+
s.data = t[i], s.preInit && s.preInit();
|
|
1295
|
+
}
|
|
1296
|
+
else
|
|
1297
|
+
n[i] = t[i];
|
|
1298
|
+
} }, this.q = function () { var t = this.p; for (var e in t) {
|
|
1299
|
+
var i = t[e];
|
|
1300
|
+
i.postInit && i.postInit();
|
|
1301
|
+
} }, this.r = {}, this.r.events = [], this.s = function (t) { var e = this.r.events, i = this.events.list[t], n = {}; for (var s in i)
|
|
1302
|
+
n[s] = i[s]; if ("function" == typeof this.onBeforeEventRender) {
|
|
1303
|
+
var a = {};
|
|
1304
|
+
a.data = n, this.onBeforeEventRender(a);
|
|
1305
|
+
} e[t] = n; }, this.f = function () { var t = this.events.list; if (t) {
|
|
1306
|
+
if ("function" == typeof this.onBeforeEventRender)
|
|
1307
|
+
for (var e = 0; e < t.length; e++)
|
|
1308
|
+
this.s(e);
|
|
1309
|
+
for (var i = 0; i < t.length; i++) {
|
|
1310
|
+
var n = t[i];
|
|
1311
|
+
if (n.start = new DayPilot.Date(n.start), n.end = new DayPilot.Date(n.end), !(n.start.getTime() > n.end.getTime()))
|
|
1312
|
+
for (var e = 0; e < this.rows.length; e++) {
|
|
1313
|
+
var s = this.rows[e], a = new DayPilot.Event(n, this);
|
|
1314
|
+
s.belongsHere(a) && (s.events.push(a), "function" == typeof this.onBeforeEventRender && (a.cache = this.r.events[i]));
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
for (var l = 0; l < this.rows.length; l++) {
|
|
1318
|
+
var s = this.rows[l];
|
|
1319
|
+
s.events.sort(this.t);
|
|
1320
|
+
for (var o = 0; o < this.rows[l].events.length; o++) {
|
|
1321
|
+
var r = s.events[o], h = s.getStartColumn(r), d = s.getWidth(r);
|
|
1322
|
+
s.putIntoLine(r, h, d, l);
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
} }, this.c = function () { for (var t = 0; t < this.elements.events.length; t++) {
|
|
1326
|
+
var e = this.elements.events[t];
|
|
1327
|
+
e.event = null, e.click = null, e.parentNode.removeChild(e);
|
|
1328
|
+
} this.elements.events = []; }, this.j = function () { this.u(); }, this.u = function () { this.elements.events = []; for (var t = 0; t < this.rows.length; t++)
|
|
1329
|
+
for (var e = this.rows[t], i = 0; i < e.lines.length; i++)
|
|
1330
|
+
for (var n = e.lines[i], s = 0; s < n.length; s++)
|
|
1331
|
+
this.w(n[s]); }, this.t = function (t, e) { if (!(t && e && t.start && e.start))
|
|
1332
|
+
return 0; var i = t.start().getTime() - e.start().getTime(); return 0 !== i ? i : e.end().getTime() - t.end().getTime(); }, this.drawShadow = function (e, i, n, s, a, l) { a || (a = 0); var o = s; this.shadow = {}, this.shadow.list = [], this.shadow.start = { x: e, y: i }, this.shadow.width = s; var r = 7 * i + e - a; r < 0 && (o += r, e = 0, i = 0); for (var h = a; h >= 7;)
|
|
1333
|
+
i--, h -= 7; if (h > e) {
|
|
1334
|
+
h > e + (7 - this.getColCount()) ? (i--, e = e + 7 - h) : (o = o - h + e, e = 0);
|
|
1335
|
+
}
|
|
1336
|
+
else
|
|
1337
|
+
e -= h; i < 0 && (i = 0, e = 0); var d = null; for (t.resizingEvent ? d = "w-resize" : t.movingEvent && (d = "move"), this.nav.top.style.cursor = d; o > 0 && i < this.rows.length;) {
|
|
1338
|
+
var c = Math.min(this.getColCount() - e, o), v = this.rows[i], u = this.getRowTop(i), f = v.getHeight(), p = document.createElement("div");
|
|
1339
|
+
p.setAttribute("unselectable", "on"), p.style.position = "absolute", p.style.left = this.getCellWidth() * e + "%", p.style.width = this.getCellWidth() * c + "%", p.style.top = u + "px", p.style.height = f + "px", p.style.cursor = d;
|
|
1340
|
+
var g = document.createElement("div");
|
|
1341
|
+
g.setAttribute("unselectable", "on"), p.appendChild(g), g.style.position = "absolute", g.style.top = "0px", g.style.right = "0px", g.style.left = "0px", g.style.bottom = "0px", g.style.backgroundColor = "#aaaaaa", g.style.opacity = .5, g.style.filter = "alpha(opacity=50)", this.nav.top.appendChild(p), this.shadow.list.push(p), o -= c + 7 - this.getColCount(), e = 0, i++;
|
|
1342
|
+
} }, this.clearShadow = function () { if (this.shadow) {
|
|
1343
|
+
for (var t = 0; t < this.shadow.list.length; t++)
|
|
1344
|
+
this.nav.top.removeChild(this.shadow.list[t]);
|
|
1345
|
+
this.shadow = null, this.nav.top.style.cursor = "";
|
|
1346
|
+
} }, this.getEventTop = function (t, e) { for (var i = this.headerHeight, n = 0; n < t; n++)
|
|
1347
|
+
i += this.rows[n].getHeight(); return i += this.cellHeaderHeight, i += e * this.lineHeight(); }, this.getDateFromCell = function (t, e) { return this.firstDate.addDays(7 * e + t); }, this.w = function (e) { var i = e.cache || e.data, s = e.part.row, a = e.part.line, l = e.part.colStart, o = e.part.colWidth, r = this.getCellWidth() * l, h = this.getCellWidth() * o, d = this.getEventTop(s, a), c = document.createElement("div"); c.setAttribute("unselectable", "on"), c.style.height = this.eventHeight + "px", c.className = this.z("_event"), i.cssClass && DayPilot.Util.addClass(c, i.cssClass), c.event = e, c.style.width = h + "%", c.style.position = "absolute", c.style.left = r + "%", c.style.top = d + "px", this.showToolTip && e.client.toolTip() && (c.title = e.client.toolTip()), c.onclick = n.A, c.onmousedown = function (i) { i = i || window.event; var r = i.which || i.button; if (i.cancelBubble = !0, i.stopPropagation && i.stopPropagation(), 1 === r)
|
|
1348
|
+
if (t.movingEvent = null, "w-resize" === this.style.cursor || "e-resize" === this.style.cursor) {
|
|
1349
|
+
var h = {};
|
|
1350
|
+
h.start = {}, h.start.x = l, h.start.y = s, h.event = c.event, h.width = DayPilot.DateUtil.daysSpan(h.event.start(), h.event.end()) + 1, h.direction = this.style.cursor, t.resizingEvent = h;
|
|
1351
|
+
}
|
|
1352
|
+
else if ("move" === this.style.cursor || "Disabled" !== n.eventMoveHandling) {
|
|
1353
|
+
n.clearShadow();
|
|
1354
|
+
var d = DayPilot.mo2(n.nav.top, i);
|
|
1355
|
+
if (!d)
|
|
1356
|
+
return;
|
|
1357
|
+
var v = n.getCellBelowPoint(d.x, d.y), u = DayPilot.DateUtil.daysDiff(e.start(), n.rows[s].start), f = 7 * v.y + v.x - (7 * s + l);
|
|
1358
|
+
u && (f += u);
|
|
1359
|
+
var p = {};
|
|
1360
|
+
p.start = {}, p.start.x = l, p.start.y = s, p.start.line = a, p.offset = n.eventMoveToPosition ? 0 : f, p.colWidth = o, p.event = c.event, p.coords = d, t.movingEvent = p;
|
|
1361
|
+
} }, c.onmousemove = function (i) { if ("undefined" != typeof t && !t.movingEvent && !t.resizingEvent) {
|
|
1362
|
+
var s = DayPilot.mo3(c, i);
|
|
1363
|
+
if (s) {
|
|
1364
|
+
var a = 6;
|
|
1365
|
+
s.x <= a && "Disabled" !== n.eventResizeHandling ? e.part.startsHere ? (c.style.cursor = "w-resize", c.dpBorder = "left") : c.style.cursor = "not-allowed" : c.clientWidth - s.x <= a && "Disabled" !== n.eventResizeHandling ? e.part.endsHere ? (c.style.cursor = "e-resize", c.dpBorder = "right") : c.style.cursor = "not-allowed" : c.style.cursor = "default";
|
|
1366
|
+
}
|
|
1367
|
+
} }, c.onmouseout = function (t) { c.style.cursor = ""; }; var v = document.createElement("div"); v.setAttribute("unselectable", "on"), v.className = this.z("_event_inner"), i.borderColor && (v.style.borderColor = i.borderColor), i.backColor && (v.style.background = i.backColor, (DayPilot.browser.ie9 || DayPilot.browser.ielt9) && (v.style.filter = "")), i.fontColor && (v.style.color = i.fontColor), v.innerHTML = e.client.html(), c.appendChild(v), this.elements.events.push(c), this.nav.events.appendChild(c); }, this.lastVisibleDayOfMonth = function () { return this.startDate.lastDayOfMonth(); }, this.d = function () { "string" == typeof this.startDate && (this.startDate = new DayPilot.Date(this.startDate)), this.startDate = this.startDate.firstDayOfMonth(), this.firstDate = this.startDate.firstDayOfWeek(this.getWeekStart()); var t, e = (this.startDate, this.lastVisibleDayOfMonth()), i = DayPilot.DateUtil.daysDiff(this.firstDate, e) + 1; t = Math.ceil(i / 7), this.days = 7 * t, this.rows = []; for (var s = 0; s < t; s++) {
|
|
1368
|
+
var a = {};
|
|
1369
|
+
a.start = this.firstDate.addDays(7 * s), a.end = a.start.addDays(this.getColCount()), a.events = [], a.lines = [], a.index = s, a.minHeight = this.cellHeight, a.calendar = this, a.belongsHere = function (t) { return t.end().getTime() === t.start().getTime() && t.start().getTime() === this.start.getTime() || !(t.end().getTime() <= this.start.getTime() || t.start().getTime() >= this.end.getTime()); }, a.getPartStart = function (t) { return DayPilot.DateUtil.max(this.start, t.start()); }, a.getPartEnd = function (t) { return DayPilot.DateUtil.min(this.end, t.end()); }, a.getStartColumn = function (t) { var e = this.getPartStart(t); return DayPilot.DateUtil.daysDiff(this.start, e); }, a.getWidth = function (t) { return DayPilot.DateUtil.daysSpan(this.getPartStart(t), this.getPartEnd(t)) + 1; }, a.putIntoLine = function (t, e, i, n) { for (var s = this, a = 0; a < this.lines.length; a++) {
|
|
1370
|
+
var l = this.lines[a];
|
|
1371
|
+
if (l.isFree(e, i))
|
|
1372
|
+
return l.addEvent(t, e, i, n, a), a;
|
|
1373
|
+
} var l = []; return l.isFree = function (t, e) { for (var i = !0, n = 0; n < this.length; n++)
|
|
1374
|
+
t + e - 1 < this[n].part.colStart || t > this[n].part.colStart + this[n].part.colWidth - 1 || (i = !1); return i; }, l.addEvent = function (t, e, i, n, a) { t.part.colStart = e, t.part.colWidth = i, t.part.row = n, t.part.line = a, t.part.startsHere = s.start.getTime() <= t.start().getTime(), t.part.endsHere = s.end.getTime() >= t.end().getTime(), this.push(t); }, l.addEvent(t, e, i, n, this.lines.length), this.lines.push(l), this.lines.length - 1; }, a.getStart = function () { for (var t = 0, e = 0; e < n.rows.length && e < this.index; e++)
|
|
1375
|
+
t += n.rows[e].getHeight(); }, a.getHeight = function () { return Math.max(this.lines.length * n.lineHeight() + n.cellHeaderHeight, this.calendar.cellHeight); }, this.rows.push(a);
|
|
1376
|
+
} this.endDate = this.firstDate.addDays(7 * t); }, this.visibleStart = function () { return n.firstDate; }, this.visibleEnd = function () { return n.endDate; }, this.getHeight = function () { for (var t = this.headerHeight, e = 0; e < this.rows.length; e++)
|
|
1377
|
+
t += this.rows[e].getHeight(); return t; }, this.getWidth = function (t, e) { return 7 * e.y + e.x - (7 * t.y + t.x) + 1; }, this.getMinCoords = function (t, e) { return 7 * t.y + t.x < 7 * e.y + e.x ? t : e; }, this.z = function (t) { var e = this.theme || this.cssClassPrefix; return e ? e + t : ""; }, this.B = function () { var e = this.nav.top; e.setAttribute("unselectable", "on"), e.style.MozUserSelect = "none", e.style.KhtmlUserSelect = "none", e.style.WebkitUserSelect = "none", e.style.position = "relative", this.width && (e.style.width = this.width), e.style.height = this.getHeight() + "px", e.onselectstart = function (t) { return !1; }, this.hideUntilInit && (e.style.visibility = "hidden"), this.visible || (e.style.display = "none"), e.className = this.z("_main"); var i = document.createElement("div"); this.nav.cells = i, i.style.position = "absolute", i.style.left = "0px", i.style.right = "0px", i.setAttribute("unselectable", "on"), e.appendChild(i); var s = document.createElement("div"); this.nav.events = s, s.style.position = "absolute", s.style.left = "0px", s.style.right = "0px", s.setAttribute("unselectable", "on"), e.appendChild(s), e.onmousemove = function (e) { if (t.resizingEvent) {
|
|
1378
|
+
var i = DayPilot.mo2(n.nav.top, e);
|
|
1379
|
+
if (!i)
|
|
1380
|
+
return;
|
|
1381
|
+
var s = n.getCellBelowPoint(i.x, i.y);
|
|
1382
|
+
n.clearShadow();
|
|
1383
|
+
var a, l, o = t.resizingEvent;
|
|
1384
|
+
o.start;
|
|
1385
|
+
if ("w-resize" === o.direction) {
|
|
1386
|
+
l = s;
|
|
1387
|
+
var r = o.event.end();
|
|
1388
|
+
r.getDatePart() === r && (r = r.addDays(-1));
|
|
1389
|
+
var h = n.getCellFromDate(r);
|
|
1390
|
+
a = n.getWidth(s, h);
|
|
1391
|
+
}
|
|
1392
|
+
else
|
|
1393
|
+
l = n.getCellFromDate(o.event.start()), a = n.getWidth(l, s);
|
|
1394
|
+
a < 1 && (a = 1), n.drawShadow(l.x, l.y, 0, a);
|
|
1395
|
+
}
|
|
1396
|
+
else if (t.movingEvent) {
|
|
1397
|
+
var i = DayPilot.mo2(n.nav.top, e);
|
|
1398
|
+
if (!i)
|
|
1399
|
+
return;
|
|
1400
|
+
if (i.x === t.movingEvent.coords.x && i.y === t.movingEvent.coords.y)
|
|
1401
|
+
return;
|
|
1402
|
+
var s = n.getCellBelowPoint(i.x, i.y);
|
|
1403
|
+
n.clearShadow();
|
|
1404
|
+
var d = t.movingEvent.event, c = t.movingEvent.offset, a = n.cellMode ? 1 : DayPilot.DateUtil.daysSpan(d.start(), d.end()) + 1;
|
|
1405
|
+
a < 1 && (a = 1), n.drawShadow(s.x, s.y, 0, a, c, d);
|
|
1406
|
+
}
|
|
1407
|
+
else if (t.timeRangeSelecting) {
|
|
1408
|
+
var i = DayPilot.mo2(n.nav.top, e);
|
|
1409
|
+
if (!i)
|
|
1410
|
+
return;
|
|
1411
|
+
var s = n.getCellBelowPoint(i.x, i.y);
|
|
1412
|
+
n.clearShadow();
|
|
1413
|
+
var l = t.timeRangeSelecting, v = 7 * l.y + l.x, u = 7 * s.y + s.x, a = Math.abs(u - v) + 1;
|
|
1414
|
+
a < 1 && (a = 1);
|
|
1415
|
+
var f = v < u ? l : s;
|
|
1416
|
+
t.timeRangeSelecting.from = { x: f.x, y: f.y }, t.timeRangeSelecting.width = a, t.timeRangeSelecting.moved = !0, n.drawShadow(f.x, f.y, 0, a, 0, null);
|
|
1417
|
+
} }; }, this.i = function () { this.nav.top.style.height = this.getHeight() + "px"; for (var t = 0; t < this.cells.length; t++)
|
|
1418
|
+
for (var e = 0; e < this.cells[t].length; e++)
|
|
1419
|
+
this.cells[t][e].style.top = this.getRowTop(e) + "px", this.cells[t][e].style.height = this.rows[e].getHeight() + "px"; }, this.getCellBelowPoint = function (t, e) { for (var i = Math.floor(this.nav.top.clientWidth / this.getColCount()), n = Math.min(Math.floor(t / i), this.getColCount() - 1), s = null, a = this.headerHeight, l = 0, o = 0; o < this.rows.length; o++) {
|
|
1420
|
+
var r = a;
|
|
1421
|
+
if (a += this.rows[o].getHeight(), e < a) {
|
|
1422
|
+
l = e - r, s = o;
|
|
1423
|
+
break;
|
|
1424
|
+
}
|
|
1425
|
+
} null === s && (s = this.rows.length - 1); var h = {}; return h.x = n, h.y = s, h.relativeY = l, h; }, this.getCellFromDate = function (t) { for (var e = DayPilot.DateUtil.daysDiff(this.firstDate, t), i = { x: 0, y: 0 }; e >= 7;)
|
|
1426
|
+
i.y++, e -= 7; return i.x = e, i; }, this.h = function () { var t = document.createElement("div"); t.oncontextmenu = function () { return !1; }, this.nav.cells.appendChild(t), this.cells = []; for (var e = 0; e < this.getColCount(); e++) {
|
|
1427
|
+
this.cells[e] = [];
|
|
1428
|
+
var i = document.createElement("div");
|
|
1429
|
+
i.setAttribute("unselectable", "on"), i.style.position = "absolute", i.style.left = this.getCellWidth() * e + "%", i.style.width = this.getCellWidth() + "%", i.style.top = "0px", i.style.height = this.headerHeight + "px";
|
|
1430
|
+
var n = e + this.getWeekStart();
|
|
1431
|
+
n > 6 && (n -= 7), this.a && (i.className = this.z("_header"));
|
|
1432
|
+
var a = document.createElement("div");
|
|
1433
|
+
a.setAttribute("unselectable", "on"), a.innerHTML = s.locale().dayNames[n], i.appendChild(a), a.style.position = "absolute", a.style.top = "0px", a.style.bottom = "0px", a.style.left = "0px", a.style.right = "0px", a.className = this.z("_header_inner"), a.innerHTML = s.locale().dayNames[n], t.appendChild(i);
|
|
1434
|
+
for (var l = 0; l < this.rows.length; l++)
|
|
1435
|
+
this.drawCell(e, l, t);
|
|
1436
|
+
} }, this.g = function () { for (var t = 0; t < this.cells.length; t++)
|
|
1437
|
+
for (var e = 0; e < this.cells[t].length; e++)
|
|
1438
|
+
this.cells[t][e].onclick = null; this.nav.cells.innerHTML = ""; }, this.C = function () { return 2 === n.api; }, this.drawCell = function (e, i, a) { var l = this.rows[i], o = this.firstDate.addDays(7 * i + e), r = (this.cellProperties ? this.cellProperties[i * this.getColCount() + e] : null, document.createElement("div")); if (r.setAttribute("unselectable", "on"), r.style.position = "absolute", r.style.cursor = "default", r.style.left = this.getCellWidth() * e + "%", r.style.width = this.getCellWidth() + "%", r.style.top = this.getRowTop(i) + "px", r.style.height = l.getHeight() + "px", this.a && (r.className = this.z("_cell"), !this.isWeekend(o))) {
|
|
1439
|
+
var h = this.z("_cell_business");
|
|
1440
|
+
DayPilot.Util.addClass(r, h);
|
|
1441
|
+
} var d = (this.startDate.addMonths(-1).getMonth(), this.startDate.addMonths(1).getMonth(), this.startDate.getMonth(), document.createElement("div")); d.setAttribute("unselectable", "on"), r.appendChild(d), d.style.position = "absolute", d.style.left = "0px", d.style.right = "0px", d.style.top = "0px", d.style.bottom = "0px", d.className = this.z("_cell_inner"), r.onmousedown = function (s) { "Disabled" !== n.timeRangeSelectedHandling && (n.clearShadow(), t.timeRangeSelecting = { "root": n, "x": e, "y": i, "from": { x: e, y: i }, "width": 1 }); }, r.onclick = function () { var t = function (t) { var e = new DayPilot.Date(t), i = e.addDays(1); n.D(e, i); }; if ("Disabled" !== n.timeRangeSelectedHandling)
|
|
1442
|
+
return void t(o); }; var c = document.createElement("div"); c.setAttribute("unselectable", "on"), c.style.height = this.cellHeaderHeight + "px", c.className = this.z("_cell_header"); var v = o.getDay(); 1 === v ? c.innerHTML = s.locale().monthNames[o.getMonth()] + " " + v : c.innerHTML = v, d.appendChild(c), this.cells[e][i] = r, a.appendChild(r); }, this.getWeekStart = function () { return s.locale().weekStarts; }, this.getColCount = function () { return 7; }, this.getCellWidth = function () { return 14.285; }, this.getRowTop = function (t) { for (var e = this.headerHeight, i = 0; i < t; i++)
|
|
1443
|
+
e += this.rows[i].getHeight(); return e; }, this.E = function (t, e, i) { var n = {}; n.action = t, n.parameters = i, n.data = e, n.header = this.F(); var s = "JSON" + DayPilot.JSON.stringify(n); this.backendUrl && DayPilot.request(this.backendUrl, this.G, s, this.ajaxError); }, this.G = function (t) { n.b(t.responseText); }, this.F = function () { var t = {}; return t.control = "dpm", t.id = this.id, t.v = this.v, t.visibleStart = new DayPilot.Date(this.firstDate), t.visibleEnd = t.visibleStart.addDays(this.days), t.startDate = n.startDate, t.timeFormat = this.timeFormat, t.weekStarts = this.weekStarts, t; }, this.eventClickCallBack = function (t, e) { this.E("EventClick", e, t); }, this.A = function (e) { t.movingEvent = null, t.resizingEvent = null; var i = this, e = e || window.event; e.ctrlKey; e.cancelBubble = !0, e.stopPropagation && e.stopPropagation(), n.eventClickSingle(i, e); }, this.eventClickSingle = function (t, e) { var i = t.event; if (i.client.clickEnabled())
|
|
1444
|
+
if (n.C()) {
|
|
1445
|
+
var s = {};
|
|
1446
|
+
if (s.e = i, s.control = n, s.div = t, s.originalEvent = e, s.meta = e.metaKey, s.ctrl = e.ctrlKey, s.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof n.onEventClick && (n.k.apply(function () { n.onEventClick(s); }), s.preventDefault.value))
|
|
1447
|
+
return;
|
|
1448
|
+
switch (n.eventClickHandling) {
|
|
1449
|
+
case "CallBack": n.eventClickCallBack(i);
|
|
1450
|
+
}
|
|
1451
|
+
"function" == typeof n.onEventClicked && n.k.apply(function () { n.onEventClicked(s); });
|
|
1452
|
+
}
|
|
1453
|
+
else
|
|
1454
|
+
switch (n.eventClickHandling) {
|
|
1455
|
+
case "CallBack":
|
|
1456
|
+
n.eventClickCallBack(i);
|
|
1457
|
+
break;
|
|
1458
|
+
case "JavaScript": n.onEventClick(i);
|
|
1459
|
+
} }, this.eventMoveCallBack = function (t, e, i, n, s) { if (!e)
|
|
1460
|
+
throw "newStart is null"; if (!i)
|
|
1461
|
+
throw "newEnd is null"; var a = {}; a.e = t, a.newStart = e, a.newEnd = i, a.position = s, this.E("EventMove", n, a); }, this.H = function (t, e, i, s, a, l) { var o = t.start().getTimePart(), r = t.end().getDatePart(); r !== t.end() && (r = r.addDays(1)); var h = DayPilot.DateUtil.diff(t.end(), r), d = this.getDateFromCell(e, i); d = d.addDays(-s); var c = DayPilot.DateUtil.daysSpan(t.start(), t.end()) + 1, v = d.addDays(c), u = d.addTime(o), f = v.addTime(h); if (n.C()) {
|
|
1462
|
+
var p = {};
|
|
1463
|
+
if (p.e = t, p.control = n, p.newStart = u, p.newEnd = f, p.ctrl = a.ctrlKey, p.shift = a.shiftKey, p.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof n.onEventMove && (n.k.apply(function () { n.onEventMove(p); }), p.preventDefault.value))
|
|
1464
|
+
return;
|
|
1465
|
+
switch (n.eventMoveHandling) {
|
|
1466
|
+
case "CallBack":
|
|
1467
|
+
n.eventMoveCallBack(t, u, f);
|
|
1468
|
+
break;
|
|
1469
|
+
case "Update": t.start(u), t.end(f), n.events.update(t);
|
|
1470
|
+
}
|
|
1471
|
+
"function" == typeof n.onEventMoved && n.k.apply(function () { n.onEventMoved(p); });
|
|
1472
|
+
}
|
|
1473
|
+
else
|
|
1474
|
+
switch (n.eventMoveHandling) {
|
|
1475
|
+
case "CallBack":
|
|
1476
|
+
n.eventMoveCallBack(t, u, f);
|
|
1477
|
+
break;
|
|
1478
|
+
case "JavaScript": n.onEventMove(t, u, f);
|
|
1479
|
+
} }, this.eventResizeCallBack = function (t, e, i, n) { if (!e)
|
|
1480
|
+
throw "newStart is null"; if (!i)
|
|
1481
|
+
throw "newEnd is null"; var s = {}; s.e = t, s.newStart = e, s.newEnd = i, this.E("EventResize", n, s); }, this.I = function (t, e, i) { var s = t.start().getTimePart(), a = t.end().getDatePart(); a !== t.end() && (a = a.addDays(1)); var l = DayPilot.DateUtil.diff(t.end(), a), o = this.getDateFromCell(e.x, e.y), r = o.addDays(i), h = o.addTime(s), d = r.addTime(l); if (n.C()) {
|
|
1482
|
+
var c = {};
|
|
1483
|
+
if (c.e = t, c.control = n, c.newStart = h, c.newEnd = d, c.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof n.onEventResize && (n.k.apply(function () { n.onEventResize(c); }), c.preventDefault.value))
|
|
1484
|
+
return;
|
|
1485
|
+
switch (n.eventResizeHandling) {
|
|
1486
|
+
case "CallBack":
|
|
1487
|
+
n.eventResizeCallBack(t, h, d);
|
|
1488
|
+
break;
|
|
1489
|
+
case "Update": t.start(h), t.end(d), n.events.update(t);
|
|
1490
|
+
}
|
|
1491
|
+
"function" == typeof n.onEventResized && n.k.apply(function () { n.onEventResized(c); });
|
|
1492
|
+
}
|
|
1493
|
+
else
|
|
1494
|
+
switch (n.eventResizeHandling) {
|
|
1495
|
+
case "CallBack":
|
|
1496
|
+
n.eventResizeCallBack(t, h, d);
|
|
1497
|
+
break;
|
|
1498
|
+
case "JavaScript": n.onEventResize(t, h, d);
|
|
1499
|
+
} }, this.timeRangeSelectedCallBack = function (t, e, i) { var n = {}; n.start = t, n.end = e, this.E("TimeRangeSelected", i, n); }, this.D = function (t, e) { if (this.C()) {
|
|
1500
|
+
var i = {};
|
|
1501
|
+
if (i.control = n, i.start = t, i.end = e, i.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof n.onTimeRangeSelect && (n.k.apply(function () { n.onTimeRangeSelect(i); }), i.preventDefault.value))
|
|
1502
|
+
return;
|
|
1503
|
+
switch (n.timeRangeSelectedHandling) {
|
|
1504
|
+
case "CallBack": n.timeRangeSelectedCallBack(t, e);
|
|
1505
|
+
}
|
|
1506
|
+
"function" == typeof n.onTimeRangeSelected && n.k.apply(function () { n.onTimeRangeSelected(i); });
|
|
1507
|
+
}
|
|
1508
|
+
else
|
|
1509
|
+
switch (n.timeRangeSelectedHandling) {
|
|
1510
|
+
case "CallBack":
|
|
1511
|
+
n.timeRangeSelectedCallBack(t, e);
|
|
1512
|
+
break;
|
|
1513
|
+
case "JavaScript": n.onTimeRangeSelected(t, e);
|
|
1514
|
+
} }, this.k = {}, this.k.scope = null, this.k.notify = function () { n.k.scope && n.k.scope["$apply"](); }, this.k.apply = function (t) { t(); }, this.clearSelection = function () { n.clearShadow(); }, this.commandCallBack = function (t, e) { var i = {}; i.command = t, this.E("Command", e, i); }, this.isWeekend = function (t) { return t = new DayPilot.Date(t), 0 === t.dayOfWeek() || 6 === t.dayOfWeek(); }, this.J = {}, this.J.locale = function () { var t = DayPilot.Locale.find(n.locale); return t ? t : DayPilot.Locale.US; }; var s = this.J; this.debug = function (t, e) { this.debuggingEnabled && (n.debugMessages || (n.debugMessages = []), n.debugMessages.push(t), "undefined" != typeof console && console.log(t)); }, this.dispose = function () { var t = n; t.nav.top && (t.c(), t.nav.top.removeAttribute("style"), t.nav.top.removeAttribute("class"), t.nav.top.innerHTML = "", t.nav.top.dp = null, t.nav.top.onmousemove = null, t.nav.top = null); }, this.K = function () { t.globalHandlers || (t.globalHandlers = !0, DayPilot.re(document, "mouseup", t.gMouseUp)); }, this.loadFromServer = function () { return !(!this.backendUrl && "function" != typeof WebForm_DoCallback) && ("undefined" == typeof n.events.list || !n.events.list); }, this.o = function () { "hidden" === this.nav.top.style.visibility && (this.nav.top.style.visibility = "visible"); }, this.show = function () { n.visible = !0, n.nav.top.style.display = ""; }, this.hide = function () { n.visible = !1, n.nav.top.style.display = "none"; }, this.L = function () { if (this.id && this.id.tagName)
|
|
1515
|
+
this.nav.top = this.id;
|
|
1516
|
+
else {
|
|
1517
|
+
if ("string" != typeof this.id)
|
|
1518
|
+
throw "DayPilot.Month() constructor requires the target element or its ID as a parameter";
|
|
1519
|
+
if (this.nav.top = document.getElementById(this.id), !this.nav.top)
|
|
1520
|
+
throw "DayPilot.Month: The placeholder element not found: '" + id + "'.";
|
|
1521
|
+
} }, this.m = function () { n.a || (n.a = !0, window.console && window.console.log && window.console.log("DayPilot: cssOnly = false mode is not supported anymore.")); }, this.M = function () { this.d(), this.B(), this.h(), this.K(), this.E("Init"); }, this.init = function () { this.L(); var t = this.loadFromServer(); return this.m(), t ? void this.M() : (this.d(), this.f(), this.B(), this.h(), this.o(), this.j(), this.K(), this.messageHTML && this.message(this.messageHTML), void this.fireAfterRenderDetached(null, !1)); }, this.Init = this.init, this.n(i); }, t.gMouseUp = function (e) { if (t.movingEvent) {
|
|
1522
|
+
var i = t.movingEvent;
|
|
1523
|
+
if (!i.event)
|
|
1524
|
+
return;
|
|
1525
|
+
if (!i.event.calendar)
|
|
1526
|
+
return;
|
|
1527
|
+
if (!i.event.calendar.shadow)
|
|
1528
|
+
return;
|
|
1529
|
+
if (!i.event.calendar.shadow.start)
|
|
1530
|
+
return;
|
|
1531
|
+
var n = t.movingEvent.event.calendar, s = t.movingEvent.event, a = n.shadow.start, l = n.shadow.position, o = t.movingEvent.offset;
|
|
1532
|
+
n.clearShadow(), t.movingEvent = null;
|
|
1533
|
+
var e = e || window.event;
|
|
1534
|
+
return n.H(s, a.x, a.y, o, e, l), e.cancelBubble = !0, e.stopPropagation && e.stopPropagation(), t.movingEvent = null, !1;
|
|
1535
|
+
} if (t.resizingEvent) {
|
|
1536
|
+
var i = t.resizingEvent;
|
|
1537
|
+
if (!i.event)
|
|
1538
|
+
return;
|
|
1539
|
+
if (!i.event.calendar)
|
|
1540
|
+
return;
|
|
1541
|
+
if (!i.event.calendar.shadow)
|
|
1542
|
+
return;
|
|
1543
|
+
if (!i.event.calendar.shadow.start)
|
|
1544
|
+
return;
|
|
1545
|
+
var n = t.resizingEvent.event.calendar, s = t.resizingEvent.event, a = n.shadow.start, r = n.shadow.width;
|
|
1546
|
+
return n.clearShadow(), t.resizingEvent = null, n.I(s, a, r), e.cancelBubble = !0, t.resizingEvent = null, !1;
|
|
1547
|
+
} if (t.timeRangeSelecting) {
|
|
1548
|
+
if (t.timeRangeSelecting.moved) {
|
|
1549
|
+
var h = t.timeRangeSelecting, n = h.root, a = new DayPilot.Date(n.getDateFromCell(h.from.x, h.from.y)), d = a.addDays(h.width);
|
|
1550
|
+
n.D(a, d), n.clearShadow();
|
|
1551
|
+
}
|
|
1552
|
+
t.timeRangeSelecting = null;
|
|
1553
|
+
} }, DayPilot.Month = t.Month, "undefined" != typeof jQuery && !function (t) { t.fn.daypilotMonth = function (t) { var e = null, i = this.each(function () { if (!this.daypilot) {
|
|
1554
|
+
var i = new DayPilot.Month(this.id);
|
|
1555
|
+
this.daypilot = i;
|
|
1556
|
+
for (name in t)
|
|
1557
|
+
i[name] = t[name];
|
|
1558
|
+
i.Init(), e || (e = i);
|
|
1559
|
+
} }); return 1 === this.length ? e : i; }; }(jQuery), function () { var t = DayPilot.am(); t && t.directive("daypilotMonth", ["$parse", function (t) { return { "restrict": "E", "template": "<div></div>", "replace": !0, "link": function (e, i, n) { var s = new DayPilot.Month(i[0]); s.k.scope = e, s.init(); var a = n["id"]; a && (e[a] = s); var l = n["publishAs"]; if (l) {
|
|
1560
|
+
(0, t(l).assign)(e, s);
|
|
1561
|
+
} for (var o in n)
|
|
1562
|
+
0 === o.indexOf("on") && !function (i) { s[i] = function (s) { var a = t(n[i]); e["$apply"](function () { a(e, { "args": s }); }); }; }(o); var r = e["$watch"], h = n["config"] || n["daypilotConfig"], d = n["events"] || n["daypilotEvents"]; r.call(e, h, function (t) { for (var e in t)
|
|
1563
|
+
s[e] = t[e]; s.update(); }, !0), r.call(e, d, function (t) { s.events.list = t, s.update(); }, !0); } }; }]); }(), "undefined" != typeof Sys && Sys.Application && Sys.Application.notifyScriptLoaded && Sys.Application.notifyScriptLoaded();
|
|
1564
|
+
} }();
|
|
1565
|
+
if ("undefined" == typeof DayPilot)
|
|
1566
|
+
var DayPilot = {};
|
|
1567
|
+
"undefined" == typeof DayPilot.Global && (DayPilot.Global = {}), function () { if ("undefined" == typeof DayPilot.Navigator || !DayPilot.Navigator.nav) {
|
|
1568
|
+
DayPilot.Navigator = function (t, e) { this.v = "2021.4.338-lite"; var i = this; this.id = t, this.api = 2, this.isNavigator = !0, this.autoFocusOnClick = !0, this.weekStarts = "Auto", this.selectMode = "day", this.titleHeight = 30, this.dayHeaderHeight = 30, this.bound = null, this.cellWidth = 30, this.cellHeight = 30, this.cssOnly = !0, this.cssClassPrefix = "navigator_default", this.freeHandSelectionEnabled = !1, this.selectionStart = (new DayPilot.Date).getDatePart(), this.selectionEnd = null, this.selectionDay = null, this.showMonths = 1, this.skipMonths = 1, this.command = "navigate", this.year = (new DayPilot.Date).getYear(), this.month = (new DayPilot.Date).getMonth() + 1, this.showWeekNumbers = !1, this.weekNumberAlgorithm = "Auto", this.rowsPerMonth = "Six", this.orientation = "Vertical", this.locale = "en-us", this.rtl = !1, this.visible = !0, this.timeRangeSelectedHandling = "Bind", this.visibleRangeChangedHandling = "Enabled", this.onVisibleRangeChange = null, this.onVisibleRangeChanged = null, this.onTimeRangeSelect = null, this.onTimeRangeSelected = null, this.nav = {}, this.a = {}, this.b = function () { this.root.dp = this, this.cssOnly ? this.root.className = this.c("_main") : this.root.className = this.c("main"), "Horizontal" === this.orientation ? (this.root.style.width = this.showMonths * (7 * a.cellWidth() + this.d()) + "px", this.root.style.height = 6 * this.cellHeight + this.titleHeight + this.dayHeaderHeight + "px") : this.root.style.width = 7 * a.cellWidth() + this.d() + "px", this.rtl && (this.root.style.direction = "rtl"), this.root.style.position = "relative", this.visible || (this.root.style.display = "none"); var t = document.createElement("input"); t.type = "hidden", t.name = i.id + "_state", t.id = t.name, this.root.appendChild(t), this.state = t, this.startDate ? this.startDate = new DayPilot.Date(this.startDate).firstDayOfMonth() : this.startDate = DayPilot.Date.fromYearMonthDay(this.year, this.month), this.calendars = [], this.selected = [], this.months = []; }, this.e = function () { return 2 === i.api; }, this.f = function () { this.root.innerHTML = ""; }, this.c = function (t) { var e = this.theme || this.cssClassPrefix; return e ? e + t : ""; }, this.g = function (t, e) { var i = this.cssOnly ? this.c("_" + e) : this.c(e); DayPilot.Util.addClass(t, i); }, this.h = function (t, e) { var i = this.cssOnly ? this.c("_" + e) : this.c(e); DayPilot.Util.removeClass(t, i); }, this.i = function (t, e) { var s = {}; s.cells = [], s.days = [], s.weeks = []; var n = this.startDate.addMonths(t), l = e.before, o = e.after, h = n.firstDayOfMonth(), r = h.firstDayOfWeek(a.weekStarts()), c = h.addMonths(1), d = DayPilot.DateUtil.daysDiff(r, c), u = "Auto" === this.rowsPerMonth ? Math.ceil(d / 7) : 6; s.rowCount = u; var f = (new DayPilot.Date).getDatePart(), y = 7 * a.cellWidth() + this.d(); s.width = y; var p = this.cellHeight * u + this.titleHeight + this.dayHeaderHeight; s.height = p; var v = document.createElement("div"); if (v.style.width = y + "px", v.style.height = p + "px", "Horizontal" === this.orientation)
|
|
1569
|
+
v.style.position = "absolute", v.style.left = y * t + "px", v.style.top = "0px", s.top = 0, s.left = y * t;
|
|
1570
|
+
else {
|
|
1571
|
+
v.style.position = "relative";
|
|
1572
|
+
var m = t > 0 ? i.months[t - 1].top + i.months[t - 1].height : 0;
|
|
1573
|
+
s.top = m, s.left = 0;
|
|
1574
|
+
} this.cssOnly ? v.className = this.c("_month") : v.className = this.c("month"), v.style.cursor = "default", v.style.MozUserSelect = "none", v.style.KhtmlUserSelect = "none", v.style.WebkitUserSelect = "none", v.month = s, this.root.appendChild(v); var g = this.titleHeight + this.dayHeaderHeight, b = document.createElement("div"); b.style.position = "absolute", b.style.left = "0px", b.style.right = "0px", b.style.top = "0px", b.style.width = a.cellWidth() + "px", b.style.height = this.titleHeight + "px", b.style.lineHeight = this.titleHeight + "px", b.setAttribute("unselectable", "on"), this.cssOnly ? b.className = this.c("_titleleft") : b.className = this.c("titleleft"), e.left && (b.style.cursor = "pointer", b.innerHTML = "<span><</span>", b.onclick = this.j), v.appendChild(b), this.tl = b; var D = document.createElement("div"); D.style.position = "absolute", D.style.left = a.cellWidth() + "px", D.style.top = "0px", D.style.width = 5 * a.cellWidth() + this.d() + "px", D.style.height = this.titleHeight + "px", D.style.lineHeight = this.titleHeight + "px", D.setAttribute("unselectable", "on"), this.cssOnly ? D.className = this.c("_title") : D.className = this.c("title"), D.innerHTML = a.locale().monthNames[n.getMonth()] + " " + n.getYear(), v.appendChild(D), this.ti = D; var x = document.createElement("div"); x.style.position = "absolute", x.style.left = 6 * a.cellWidth() + this.d() + "px", x.style.right = 6 * a.cellWidth() + this.d() + "px", x.style.top = "0px", x.style.width = a.cellWidth() + "px", x.style.height = this.titleHeight + "px", x.style.lineHeight = this.titleHeight + "px", x.setAttribute("unselectable", "on"), this.cssOnly ? x.className = this.c("_titleright") : x.className = this.c("titleright"), e.right && (x.style.cursor = "pointer", x.innerHTML = "<span>></span>", x.onclick = this.k), v.appendChild(x), this.tr = x; var w = this.d(); if (this.showWeekNumbers)
|
|
1575
|
+
for (var k = 0; k < u; k++) {
|
|
1576
|
+
var S = r.addDays(7 * k), C = null;
|
|
1577
|
+
switch (this.weekNumberAlgorithm) {
|
|
1578
|
+
case "Auto":
|
|
1579
|
+
C = 1 === a.weekStarts() ? S.weekNumberISO() : S.weekNumber();
|
|
1580
|
+
break;
|
|
1581
|
+
case "US":
|
|
1582
|
+
C = S.weekNumber();
|
|
1583
|
+
break;
|
|
1584
|
+
case "ISO8601":
|
|
1585
|
+
C = S.weekNumberISO();
|
|
1586
|
+
break;
|
|
1587
|
+
default: throw "Unknown weekNumberAlgorithm value.";
|
|
1588
|
+
}
|
|
1589
|
+
var H = document.createElement("div");
|
|
1590
|
+
H.style.position = "absolute", H.style.left = "0px", H.style.right = "0px", H.style.top = k * this.cellHeight + g + "px", H.style.width = a.cellWidth() + "px", H.style.height = this.cellHeight + "px", H.style.lineHeight = this.cellHeight + "px", H.setAttribute("unselectable", "on"), this.cssOnly ? H.className = this.c("_weeknumber") : H.className = this.c("weeknumber"), H.innerHTML = "<span>" + C + "</span>", v.appendChild(H), s.weeks.push(H);
|
|
1591
|
+
} for (var P = 0; P < 7; P++) {
|
|
1592
|
+
s.cells[P] = [];
|
|
1593
|
+
var H = document.createElement("div");
|
|
1594
|
+
H.style.position = "absolute", H.style.left = P * a.cellWidth() + w + "px", H.style.right = P * a.cellWidth() + w + "px", H.style.top = this.titleHeight + "px", H.style.width = a.cellWidth() + "px", H.style.height = this.dayHeaderHeight + "px", H.style.lineHeight = this.dayHeaderHeight + "px", H.setAttribute("unselectable", "on"), this.cssOnly ? H.className = this.c("_dayheader") : H.className = this.c("dayheader"), H.innerHTML = "<span>" + this.l(P) + "</span>", v.appendChild(H), s.days.push(H);
|
|
1595
|
+
for (var k = 0; k < u; k++) {
|
|
1596
|
+
var S = r.addDays(7 * k + P), M = this.m(S) && "none" !== this.n(), N = S.firstDayOfMonth() === n, O = S < n, E = S >= n.addMonths(1);
|
|
1597
|
+
if ("month" === this.n())
|
|
1598
|
+
M = M && N;
|
|
1599
|
+
else if ("day" === this.n())
|
|
1600
|
+
M = M && (N || l && O || o && E);
|
|
1601
|
+
else if ("week" === this.n()) {
|
|
1602
|
+
var W = S.firstDayOfMonth() === n;
|
|
1603
|
+
M = M && (W || l && O || o && E);
|
|
1604
|
+
}
|
|
1605
|
+
var T = document.createElement("div");
|
|
1606
|
+
s.cells[P][k] = T;
|
|
1607
|
+
var R = i.o(P, k), A = R.x, B = R.y;
|
|
1608
|
+
T.day = S, T.x = P, T.y = k, T.left = A, T.top = B, T.isCurrentMonth = N, T.isNextMonth = E, T.isPrevMonth = O, T.showBefore = l, T.showAfter = o, this.cssOnly ? T.className = this.c(N ? "_day" : "_dayother") : T.className = this.c(N ? "day" : "dayother"), i.g(T, "cell"), S.getTime() === f.getTime() && N && this.g(T, "today"), 0 !== S.dayOfWeek() && 6 !== S.dayOfWeek() || this.g(T, "weekend"), T.style.position = "absolute", T.style.left = A + "px", T.style.right = A + "px", T.style.top = B + "px", T.style.width = a.cellWidth() + "px", T.style.height = this.cellHeight + "px", T.style.lineHeight = this.cellHeight + "px";
|
|
1609
|
+
var _ = document.createElement("div");
|
|
1610
|
+
_.style.position = "absolute", this.cssOnly ? _.className = S.getTime() === f.getTime() && N ? this.c("_todaybox") : this.c("_daybox") : _.className = S.getTime() === f.getTime() && N ? this.c("todaybox") : this.c("daybox"), i.g(_, "cell_box"), _.style.left = "0px", _.style.top = "0px", _.style.right = "0px", _.style.bottom = "0px", T.appendChild(_);
|
|
1611
|
+
var U = null;
|
|
1612
|
+
if (this.cells && this.cells[S.toStringSortable()] && (U = this.cells[S.toStringSortable()]), "function" == typeof i.onBeforeCellRender) {
|
|
1613
|
+
var I = {};
|
|
1614
|
+
I.cell = U || {}, I.cell.day = S, I.cell.isCurrentMonth = N, I.cell.isToday = S.getTime() === f.getTime() && N, I.cell.isWeekend = 0 === S.dayOfWeek() || 6 === S.dayOfWeek(), U ? (I.cell.html = U.html || S.getDay(), I.cell.cssClass = U.css) : (I.cell.html = S.getDay(), I.cell.cssClass = null), i.onBeforeCellRender(I), U = I.cell;
|
|
1615
|
+
}
|
|
1616
|
+
if (U && DayPilot.Util.addClass(T, U.cssClass || U.css), N || l && O || o && E) {
|
|
1617
|
+
var L = document.createElement("div");
|
|
1618
|
+
L.innerHTML = S.getDay(), L.style.position = "absolute", L.style.left = "0px", L.style.top = "0px", L.style.right = "0px", L.style.bottom = "0px", i.g(L, "cell_text"), T.isClickable = !0, U && U.html && (L.innerHTML = U.html), T.appendChild(L);
|
|
1619
|
+
}
|
|
1620
|
+
T.setAttribute("unselectable", "on"), T.onclick = this.p, v.appendChild(T), M && (i.q(v, P, k), this.selected.push(T));
|
|
1621
|
+
}
|
|
1622
|
+
} var V = document.createElement("div"); V.style.position = "absolute", V.style.left = "0px", V.style.top = g - 2 + "px", V.style.width = 7 * a.cellWidth() + this.d() + "px", V.style.height = "1px", V.style.fontSize = "1px", V.style.lineHeight = "1px", this.cssOnly ? V.className = this.c("_line") : V.className = this.c("line"), v.appendChild(V), this.months.push(s); }, this.o = function (t, e) { var i = this.titleHeight + this.dayHeaderHeight, s = this.d(); return { "x": t * a.cellWidth() + s, "y": e * this.cellHeight + i }; }, this.q = function (t, e, s) { var n = t.month.cells[e][s]; i.g(n, "select"); }, this.r = function (t, e, s) { var n = t.month.cells[e][s]; i.h(n, "select"); }, this.d = function () { return this.showWeekNumbers ? a.cellWidth() : 0; }, this.s = function () { if (this.items)
|
|
1623
|
+
for (var t = 0; t < this.showMonths; t++)
|
|
1624
|
+
for (var e = 0; e < 7; e++)
|
|
1625
|
+
for (var i = 0; i < 6; i++) {
|
|
1626
|
+
var s = this.months[t].cells[e][i];
|
|
1627
|
+
s && (1 === this.items[s.day.toStringSortable()] ? this.g(s, "busy") : this.h(s, "busy"));
|
|
1628
|
+
} }, this.t = function () { var t = {}; t.startDate = i.startDate, t.selectionStart = i.selectionStart, t.selectionEnd = i.selectionEnd.addDays(1), i.state.value = JSON.stringify(t); }, this.n = function () { return (this.selectMode || "").toLowerCase(); }, this.u = function () { var t = this.selectionDay || this.selectionStart; t || (t = DayPilot.Date.today()); var t = new DayPilot.Date(t); switch (this.n()) {
|
|
1629
|
+
case "day":
|
|
1630
|
+
this.selectionStart = t, this.selectionDay = t, this.selectionEnd = t;
|
|
1631
|
+
break;
|
|
1632
|
+
case "week":
|
|
1633
|
+
this.selectionDay = t, this.selectionStart = t.firstDayOfWeek(a.weekStarts()), this.selectionEnd = this.selectionStart.addDays(6);
|
|
1634
|
+
break;
|
|
1635
|
+
case "month":
|
|
1636
|
+
this.selectionDay = t, this.selectionStart = t.firstDayOfMonth(), this.selectionEnd = this.selectionStart.lastDayOfMonth();
|
|
1637
|
+
break;
|
|
1638
|
+
case "none":
|
|
1639
|
+
this.selectionEnd = t;
|
|
1640
|
+
break;
|
|
1641
|
+
default: throw "Unknown selectMode value.";
|
|
1642
|
+
} }, this.w = null, this.select = function (t, e) { if (!this.z)
|
|
1643
|
+
return void (this.w = { "date": t, "options": e }); var i = !0, s = !0; "object" == typeof e ? (e.dontFocus && (i = !1), e.dontNotify && (s = !1)) : "boolean" == typeof e && (i = !e); var n = this.selectionStart, a = this.selectionEnd; this.selectionStart = new DayPilot.Date(t).getDatePart(), this.selectionDay = this.selectionStart; var l = !1; if (i) {
|
|
1644
|
+
var o = this.startDate;
|
|
1645
|
+
(this.selectionStart < this.A() || this.selectionStart >= this.B()) && (o = this.selectionStart.firstDayOfMonth()), o.toStringSortable() !== this.startDate.toStringSortable() && (l = !0), this.startDate = o;
|
|
1646
|
+
} this.u(), this.f(), this.b(), this.C(), this.s(), this.t(), !s || n.equals(this.selectionStart) && a.equals(this.selectionEnd) || this.D(), l && this.E(); }, this.update = function (t) { if (!i.z)
|
|
1647
|
+
throw new DayPilot.Exception("You are trying to update a DayPilot.Navigator instance that hasn't been initialized yet."); if (i.F)
|
|
1648
|
+
throw new DayPilot.Exception("You are trying to update a DayPilot.Navigator instance that has been disposed."); i.G(), i.H(t), i.I(); }, this.I = function () { i.cssOnly || (i.cssOnly = !0), this.f(), this.b(), this.u(), this.C(), this.J(), this.s(), this.t(), this.visible ? this.show() : this.hide(); }, this.G = function () { i.a = {}; }, this.K = null, this.H = function (t) { if (t) {
|
|
1649
|
+
var e = { "events": { "preInit": function () { var t = this.data; t && (DayPilot.isArray(t.list) ? i.events.list = t.list : i.events.list = t); } } };
|
|
1650
|
+
this.K = e;
|
|
1651
|
+
for (var s in t)
|
|
1652
|
+
if (e[s]) {
|
|
1653
|
+
var n = e[s];
|
|
1654
|
+
n.data = t[s], n.preInit && n.preInit();
|
|
1655
|
+
}
|
|
1656
|
+
else
|
|
1657
|
+
i[s] = t[s];
|
|
1658
|
+
} }, this.L = function () { var t = this.K; for (var e in t) {
|
|
1659
|
+
var i = t[e];
|
|
1660
|
+
i.postInit && i.postInit();
|
|
1661
|
+
} }, this.M = function (t, e, i) { var s = {}; s.action = t, s.parameters = i, s.data = e, s.header = this.N(); var n = "JSON" + JSON.stringify(s); this.backendUrl ? DayPilot.request(this.backendUrl, this.O, n, this.P) : WebForm_DoCallback(this.uniqueID, n, this.Q, null, this.callbackError, !0); }, this.P = function (t) { if ("function" == typeof i.onAjaxError) {
|
|
1662
|
+
var e = {};
|
|
1663
|
+
e.request = t, i.onAjaxError(e);
|
|
1664
|
+
}
|
|
1665
|
+
else
|
|
1666
|
+
"function" == typeof i.ajaxError && i.ajaxError(t); }, this.O = function (t) { i.Q(t.responseText); }, this.R = function (t, e, s) { var n = {}; n.action = t, n.parameters = s, n.data = e, n.header = this.N(); var a = "JSON" + JSON.stringify(n); __doPostBack(i.uniqueID, a); }, this.N = function () { var t = {}; return t.v = this.v, t.startDate = this.startDate, t.selectionStart = this.selectionStart, t.showMonths = this.showMonths, t; }, this.S = function (t, e) { "refresh" === t && this.E(); }, this.l = function (t) { var e = t + a.weekStarts(); return e > 6 && (e -= 7), a.locale().dayNamesShort[e]; }, this.m = function (t) { return null !== this.selectionStart && null !== this.selectionEnd && (this.selectionStart.getTime() <= t.getTime() && t.getTime() <= this.selectionEnd.getTime()); }, this.T = function (t) { for (var e = 0; e < i.months.length; e++) {
|
|
1667
|
+
var s = i.months[e];
|
|
1668
|
+
if (!s)
|
|
1669
|
+
return null;
|
|
1670
|
+
if (t.x < s.left || s.width < t.x)
|
|
1671
|
+
return null;
|
|
1672
|
+
i.months[e].height;
|
|
1673
|
+
if (s.top <= t.y && t.y < s.top + s.height)
|
|
1674
|
+
return e;
|
|
1675
|
+
} return null; }, this.U = function (t) { var e = DayPilot.mo3(i.nav.top, t), s = i.T(e); if (null === s)
|
|
1676
|
+
return null; var n = i.months[s], a = this.titleHeight + this.dayHeaderHeight; if (n.top <= e.y && e.y < n.top + a)
|
|
1677
|
+
return { "month": s, "x": 0, "y": 0, "coords": e, "header": !0 }; for (var l = 0; l < n.cells.length; l++)
|
|
1678
|
+
for (var o = 0; o < n.cells[l].length; o++) {
|
|
1679
|
+
var h = n.cells[l][o], r = h.top + n.top, c = h.left + n.left;
|
|
1680
|
+
if (c <= e.x && e.x < c + i.cellWidth && r <= e.y && e.y < r + i.cellHeight)
|
|
1681
|
+
return { "month": s, "x": l, "y": o, "coords": e };
|
|
1682
|
+
} return null; }, this.V = function (t) { if (i.freeHandSelectionEnabled) {
|
|
1683
|
+
var e = i.U(t);
|
|
1684
|
+
e && !e.header && (s.start = e), i.months[e.month].cells[e.x][e.y], t.preventDefault();
|
|
1685
|
+
} }, this.W = function (t) { if (s.start) {
|
|
1686
|
+
var e = i.U(t);
|
|
1687
|
+
if (s.end)
|
|
1688
|
+
s.end = e;
|
|
1689
|
+
else if (e) {
|
|
1690
|
+
var n = 3, a = DayPilot.distance(s.start.coords, e.coords);
|
|
1691
|
+
a > n && (s.end = e);
|
|
1692
|
+
}
|
|
1693
|
+
s.end && (s.clear(), s.draw());
|
|
1694
|
+
} }, this.X = {}; var s = this.X; s.start = null, s.drawCell = function (t) { var e = i.months[t.month], n = i.o(t.x, t.y), a = e.top + n.y, l = e.left + n.x, o = document.createElement("div"); o.style.position = "absolute", o.style.left = l + "px", o.style.top = a + "px", o.style.height = i.cellHeight + "px", o.style.width = i.cellWidth + "px", o.style.backgroundColor = "#ccc", o.style.opacity = .5, o.style.cursor = "default", i.nav.preselection.appendChild(o), s.cells.push(o); }, s.clear = function () { if (s.cells) {
|
|
1695
|
+
for (var t = 0; t < s.cells.length; t++)
|
|
1696
|
+
i.nav.preselection.removeChild(s.cells[t]);
|
|
1697
|
+
s.cells = [];
|
|
1698
|
+
} }, s.draw = function () { var t = s.ordered(), e = new n(t.start), a = t.end; if (a) {
|
|
1699
|
+
if (a === s.end && a.header && a.month > 0) {
|
|
1700
|
+
a.month -= 1;
|
|
1701
|
+
var l = i.months[a.month];
|
|
1702
|
+
a.x = 6, a.y = l.rowCount - 1;
|
|
1703
|
+
}
|
|
1704
|
+
for (s.cells = []; !e.is(a);) {
|
|
1705
|
+
s.drawCell(e);
|
|
1706
|
+
var o = new n(e).next();
|
|
1707
|
+
if (!o)
|
|
1708
|
+
return;
|
|
1709
|
+
e.month = o.month, e.x = o.x, e.y = o.y;
|
|
1710
|
+
}
|
|
1711
|
+
s.drawCell(e);
|
|
1712
|
+
} }, s.ordered = function () { var t = s.start, e = s.end, i = {}; return !e || new n(t).before(e) ? (i.start = t, i.end = e) : (i.start = e, i.end = t), i; }; var n = function (t, e, s) { if (t instanceof n)
|
|
1713
|
+
return t; if ("object" == typeof t) {
|
|
1714
|
+
var a = t;
|
|
1715
|
+
this.month = a.month, this.x = a.x, this.y = a.y;
|
|
1716
|
+
}
|
|
1717
|
+
else
|
|
1718
|
+
this.month = t, this.x = e, this.y = s; this.is = function (t) { return this.month === t.month && this.x === t.x && this.y === t.y; }, this.next = function () { var t = this; if (t.x < 6)
|
|
1719
|
+
return { "month": t.month, "x": t.x + 1, "y": t.y }; var e = i.months[t.month]; return t.y < e.rowCount - 1 ? { "month": t.month, "x": 0, "y": t.y + 1 } : t.month < i.months.length - 1 ? { "month": t.month + 1, "x": 0, "y": 0 } : null; }, this.visible = function () { var t = this.cell(); return !!t.isCurrentMonth || (!(!t.isPrevMonth || !t.showBefore) || !(!t.isNextMonth || !t.showAfter)); }, this.nextVisible = function () { for (var t = this; !t.visible();) {
|
|
1720
|
+
var e = t.next();
|
|
1721
|
+
if (!e)
|
|
1722
|
+
return null;
|
|
1723
|
+
t = new n(e);
|
|
1724
|
+
} return t; }, this.previous = function () { var t = this; if (t.x > 0)
|
|
1725
|
+
return { "month": t.month, "x": t.x - 1, "y": t.y }; i.months[t.month]; if (t.y > 0)
|
|
1726
|
+
return { "month": t.month, "x": 6, "y": t.y - 1 }; if (t.month > 0) {
|
|
1727
|
+
var e = i.months[t.month - 1];
|
|
1728
|
+
return { "month": t.month - 1, "x": 6, "y": e.rowCount - 1 };
|
|
1729
|
+
} return null; }, this.previousVisible = function () { for (var t = this; !t.visible();) {
|
|
1730
|
+
var e = t.previous();
|
|
1731
|
+
if (!e)
|
|
1732
|
+
return null;
|
|
1733
|
+
t = new n(e);
|
|
1734
|
+
} return t; }, this.cell = function () { return i.months[this.month].cells[this.x][this.y]; }, this.date = function () { return this.cell().day; }, this.before = function (t) { return this.date() < new n(t).date(); }; }; this.p = function (t) { var e = this.parentNode, s = this.parentNode.month, n = this.x, a = this.y, l = s.cells[n][a].day; if (s.cells[n][a].isClickable) {
|
|
1735
|
+
i.clearSelection(), i.selectionDay = l;
|
|
1736
|
+
var l = i.selectionDay;
|
|
1737
|
+
switch (i.n()) {
|
|
1738
|
+
case "none":
|
|
1739
|
+
i.selectionStart = l, i.selectionEnd = l;
|
|
1740
|
+
break;
|
|
1741
|
+
case "day":
|
|
1742
|
+
if (i.autoFocusOnClick) {
|
|
1743
|
+
var o = l;
|
|
1744
|
+
if (l < i.A() || l >= i.B())
|
|
1745
|
+
return void i.select(l);
|
|
1746
|
+
}
|
|
1747
|
+
var h = s.cells[n][a];
|
|
1748
|
+
i.q(e, n, a), i.selected.push(h), i.selectionStart = h.day, i.selectionEnd = h.day;
|
|
1749
|
+
break;
|
|
1750
|
+
case "week":
|
|
1751
|
+
if (i.autoFocusOnClick) {
|
|
1752
|
+
var o = s.cells[0][a].day, r = s.cells[6][a].day;
|
|
1753
|
+
if (o.firstDayOfMonth() === r.firstDayOfMonth() && (o < i.A() || r >= i.B()))
|
|
1754
|
+
return void i.select(l);
|
|
1755
|
+
}
|
|
1756
|
+
for (var c = 0; c < 7; c++)
|
|
1757
|
+
i.q(e, c, a), i.selected.push(s.cells[c][a]);
|
|
1758
|
+
i.selectionStart = s.cells[0][a].day, i.selectionEnd = s.cells[6][a].day;
|
|
1759
|
+
break;
|
|
1760
|
+
case "month":
|
|
1761
|
+
if (i.autoFocusOnClick) {
|
|
1762
|
+
var o = l;
|
|
1763
|
+
if (l < i.A() || l >= i.B())
|
|
1764
|
+
return void i.select(l);
|
|
1765
|
+
}
|
|
1766
|
+
for (var o = null, r = null, a = 0; a < 6; a++)
|
|
1767
|
+
for (var n = 0; n < 7; n++) {
|
|
1768
|
+
var h = s.cells[n][a];
|
|
1769
|
+
h && h.day.getYear() === l.getYear() && h.day.getMonth() === l.getMonth() && (i.q(e, n, a), i.selected.push(h), null === o && (o = h.day), r = h.day);
|
|
1770
|
+
}
|
|
1771
|
+
i.selectionStart = o, i.selectionEnd = r;
|
|
1772
|
+
break;
|
|
1773
|
+
default: throw "unknown selectMode";
|
|
1774
|
+
}
|
|
1775
|
+
i.t(), i.D();
|
|
1776
|
+
} }, this.D = function (t) { var e = i.selectionStart, s = i.selectionEnd.addDays(1), n = DayPilot.DateUtil.daysDiff(e, s), a = i.selectionDay; if (t = t || {}, i.e()) {
|
|
1777
|
+
var l = {};
|
|
1778
|
+
if (l.start = e, l.end = s, l.day = a, l.days = n, l.mode = t.mode || i.selectMode, l.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof i.onTimeRangeSelect && (i.onTimeRangeSelect(l), l.preventDefault.value))
|
|
1779
|
+
return;
|
|
1780
|
+
switch (i.timeRangeSelectedHandling) {
|
|
1781
|
+
case "Bind":
|
|
1782
|
+
if ("object" == typeof bound) {
|
|
1783
|
+
var o = {};
|
|
1784
|
+
o.start = e, o.end = s, o.days = n, o.day = a, bound.commandCallBack(i.command, o);
|
|
1785
|
+
}
|
|
1786
|
+
break;
|
|
1787
|
+
case "None": break;
|
|
1788
|
+
case "PostBack": i.timeRangeSelectedPostBack(e, s, a);
|
|
1789
|
+
}
|
|
1790
|
+
"function" == typeof i.onTimeRangeSelected && i.onTimeRangeSelected(l);
|
|
1791
|
+
}
|
|
1792
|
+
else
|
|
1793
|
+
switch (i.timeRangeSelectedHandling) {
|
|
1794
|
+
case "Bind":
|
|
1795
|
+
if ("object" == typeof bound) {
|
|
1796
|
+
var o = {};
|
|
1797
|
+
o.start = e, o.end = s, o.days = n, o.day = a, bound.commandCallBack(i.command, o);
|
|
1798
|
+
}
|
|
1799
|
+
break;
|
|
1800
|
+
case "JavaScript":
|
|
1801
|
+
i.onTimeRangeSelected(e, s, a);
|
|
1802
|
+
break;
|
|
1803
|
+
case "None": break;
|
|
1804
|
+
case "PostBack": i.timeRangeSelectedPostBack(e, s, a);
|
|
1805
|
+
} }, this.timeRangeSelectedPostBack = function (t, e, i, s) { var n = {}; n.start = t, n.end = e, n.day = s, this.R("TimeRangeSelected", i, n); }, this.k = function (t) { i.Y(i.skipMonths); }, this.j = function (t) { i.Y(-i.skipMonths); }, this.Y = function (t) { this.startDate = this.startDate.addMonths(t), this.f(), this.b(), this.C(), this.t(), this.E(), this.s(); }, this.A = function () { return i.startDate.firstDayOfMonth(); }, this.B = function () { return i.startDate.firstDayOfMonth().addMonths(this.showMonths); }, this.visibleStart = function () { return i.startDate.firstDayOfMonth().firstDayOfWeek(a.weekStarts()); }, this.visibleEnd = function () { return i.startDate.firstDayOfMonth().addMonths(this.showMonths - 1).firstDayOfWeek(a.weekStarts()).addDays(42); }, this.E = function () { var t = this.visibleStart(), e = this.visibleEnd(); if (i.e()) {
|
|
1806
|
+
var s = {};
|
|
1807
|
+
if (s.start = t, s.end = e, s.preventDefault = function () { this.preventDefault.value = !0; }, "function" == typeof i.onVisibleRangeChange && (i.onVisibleRangeChange(s), s.preventDefault.value))
|
|
1808
|
+
return;
|
|
1809
|
+
switch (this.visibleRangeChangedHandling) {
|
|
1810
|
+
case "CallBack":
|
|
1811
|
+
this.visibleRangeChangedCallBack(null);
|
|
1812
|
+
break;
|
|
1813
|
+
case "PostBack":
|
|
1814
|
+
this.visibleRangeChangedPostBack(null);
|
|
1815
|
+
break;
|
|
1816
|
+
case "Disabled":
|
|
1817
|
+
}
|
|
1818
|
+
"function" == typeof i.onVisibleRangeChanged && i.onVisibleRangeChanged(s);
|
|
1819
|
+
}
|
|
1820
|
+
else
|
|
1821
|
+
switch (this.visibleRangeChangedHandling) {
|
|
1822
|
+
case "CallBack":
|
|
1823
|
+
this.visibleRangeChangedCallBack(null);
|
|
1824
|
+
break;
|
|
1825
|
+
case "PostBack":
|
|
1826
|
+
this.visibleRangeChangedPostBack(null);
|
|
1827
|
+
break;
|
|
1828
|
+
case "JavaScript":
|
|
1829
|
+
this.onVisibleRangeChanged(t, e);
|
|
1830
|
+
break;
|
|
1831
|
+
case "Disabled":
|
|
1832
|
+
} }, this.visibleRangeChangedCallBack = function (t) { var e = {}; this.M("Visible", t, e); }, this.visibleRangeChangedPostBack = function (t) { var e = {}; this.R("Visible", t, e); }, this.Q = function (t, e) { var t = JSON.parse(t); i.items = t.Items, i.cells = t.Cells, i.cells ? i.update() : i.s(); }, this.C = function () { for (var t = 0; t < this.showMonths; t++) {
|
|
1833
|
+
var e = this.Z(t);
|
|
1834
|
+
this.i(t, e);
|
|
1835
|
+
} this.root.style.height = this.$() + "px", this.nav.preselection = document.createElement("div"), this.nav.preselection.style.position = "absolute", this.nav.preselection.style.left = "0px", this.nav.preselection.style.top = "0px", this.root.appendChild(this.nav.preselection); }, this.$ = function () { if ("Horizontal" === this.orientation) {
|
|
1836
|
+
for (var t = 0, e = 0; e < this.months.length; e++) {
|
|
1837
|
+
var i = this.months[e];
|
|
1838
|
+
i.height > t && (t = i.height);
|
|
1839
|
+
}
|
|
1840
|
+
return t;
|
|
1841
|
+
} for (var s = 0, e = 0; e < this.months.length; e++) {
|
|
1842
|
+
var i = this.months[e];
|
|
1843
|
+
s += i.height;
|
|
1844
|
+
} return s; }, this.Z = function (t) { if (this.internal.showLinks)
|
|
1845
|
+
return this.internal.showLinks; var e = {}; return e.left = 0 === t, e.right = 0 === t, e.before = 0 === t, e.after = t === this.showMonths - 1, "Horizontal" === this.orientation && (e.right = t === this.showMonths - 1), e; }, this._ = {}, this._.scope = null, this._.notify = function () { i._.scope && i._.scope["$apply"](); }, this.internal = {}, this.internal.initialized = function () { return i.z; }, this.aa = {}; var a = this.aa; a.locale = function () { return DayPilot.Locale.find(i.locale); }, a.weekStarts = function () { if ("Auto" === i.weekStarts) {
|
|
1846
|
+
var t = a.locale();
|
|
1847
|
+
return t ? t.weekStarts : 0;
|
|
1848
|
+
} return i.weekStarts; }, a.cellWidth = function () { if (i.a.cellWidth)
|
|
1849
|
+
return i.a.cellWidth; var t = i.ba("_cell_dimensions").width; return t || (t = i.cellWidth), i.a.cellWidth = t, t; }, this.clearSelection = function () { for (var t = 0; t < this.selected.length; t++) {
|
|
1850
|
+
var e = this.selected[t];
|
|
1851
|
+
i.r(e.parentNode, e.x, e.y);
|
|
1852
|
+
} this.selected = []; }, this.ca = function () { return !!this.backendUrl && ("undefined" == typeof i.items || !i.items); }, this.events = {}, this.J = function () { if (DayPilot.isArray(this.events.list)) {
|
|
1853
|
+
this.items = {};
|
|
1854
|
+
for (var t = 0; t < this.events.list.length; t++) {
|
|
1855
|
+
var e = this.events.list[t];
|
|
1856
|
+
if (!e.hidden) {
|
|
1857
|
+
var i = this.da(e);
|
|
1858
|
+
for (var s in i)
|
|
1859
|
+
this.items[s] = 1;
|
|
1860
|
+
}
|
|
1861
|
+
}
|
|
1862
|
+
} }, this.ba = function (t) { var e = document.createElement("div"); e.style.position = "absolute", e.style.top = "-2000px", e.style.left = "-2000px", e.className = this.c(t); var s = i.root || document.body; s.appendChild(e); var n = e.offsetHeight, a = e.offsetWidth; s.removeChild(e); var l = {}; return l.height = n, l.width = a, l; }, this.da = function (t) { for (var e = new DayPilot.Date(t.start), i = new DayPilot.Date(t.end), s = {}, n = e.getDatePart(); n.getTime() < i.getTime();)
|
|
1863
|
+
s[n.toStringSortable()] = 1, n = n.addDays(1); return s; }, this.show = function () { i.visible = !0, i.root.style.display = ""; }, this.hide = function () { i.visible = !1, i.root.style.display = "none"; }, this.ea = function () { if (this.id && this.id.tagName)
|
|
1864
|
+
this.nav.top = this.id;
|
|
1865
|
+
else {
|
|
1866
|
+
if ("string" != typeof this.id)
|
|
1867
|
+
throw "DayPilot.Navigator() constructor requires the target element or its ID as a parameter";
|
|
1868
|
+
if (this.nav.top = document.getElementById(this.id), !this.nav.top)
|
|
1869
|
+
throw "DayPilot.Navigator: The placeholder element not found: '" + t + "'.";
|
|
1870
|
+
} this.root = this.nav.top; }, this.init = function () { if (this.ea(), !this.root.dp) {
|
|
1871
|
+
i.cssOnly || (i.cssOnly = !0, DayPilot.Util.log("DayPilot: cssOnly = false mode is not supported since DayPilot Pro 8.0.")), this.u(), this.b(), this.C(), this.J(), this.s(), this.fa(), this.ga(), this.ha();
|
|
1872
|
+
return this.ca() && this.E(), this.z = !0, this.L(), this.w && (this.select(this.w.date, this.w.options), this.w = null), this;
|
|
1873
|
+
} }, this.ga = function () { i.nav.top.onmousedown = this.V, i.nav.top.onmousemove = this.W; }, this.ha = function () { DayPilot.re(document, "mouseup", i.ia); }, this.ia = function (t) { if (s.start && s.end) {
|
|
1874
|
+
var e = DayPilot.mo3(i.nav.top, t);
|
|
1875
|
+
if (e.x === s.start.coords.x && e.y === s.start.coords.y)
|
|
1876
|
+
return s.start = null, void s.clear();
|
|
1877
|
+
s.clear();
|
|
1878
|
+
var a = s.ordered();
|
|
1879
|
+
a.start = new n(a.start).nextVisible(), a.end = new n(a.end).previousVisible(), i.selectionDay = new n(a.start).date(), i.selectionStart = i.selectionDay, i.selectionEnd = new n(a.end).date(), s.start = null, s.end = null, i.f(), i.b(), i.C(), i.s(), i.t();
|
|
1880
|
+
i.D({ "mode": "FreeHand" });
|
|
1881
|
+
} s.start = null, s.end = null; }, this.dispose = function () { var t = i; t.root && (t.root.removeAttribute("style"), t.root.removeAttribute("class"), t.root.dp = null, t.root.innerHTML = null, t.root = null); }, this.fa = function () { this.root.dispose = this.dispose; }, this.Init = this.init, this.H(e); }, "undefined" != typeof jQuery && !function (t) { t.fn.daypilotNavigator = function (t) { var e = null, i = this.each(function () { if (!this.daypilot) {
|
|
1882
|
+
var i = new DayPilot.Navigator(this.id);
|
|
1883
|
+
this.daypilot = i;
|
|
1884
|
+
for (var s in t)
|
|
1885
|
+
i[s] = t[s];
|
|
1886
|
+
i.Init(), e || (e = i);
|
|
1887
|
+
} }); return 1 === this.length ? e : i; }; }(jQuery), function () { var t = DayPilot.am(); t && t.directive("daypilotNavigator", ["$parse", function (t) { return { "restrict": "E", "template": "<div id='{{id}}'></div>", "compile": function (e, i) { return e.replaceWith(this["template"].replace("{{id}}", i["id"])), function (e, i, s) { var n = new DayPilot.Navigator(i[0]); n._.scope = e, n.init(); var a = s["id"]; a && (e[a] = n); var l = s["publishAs"]; if (l) {
|
|
1888
|
+
(0, t(l).assign)(e, n);
|
|
1889
|
+
} for (var o in s)
|
|
1890
|
+
if (0 === o.indexOf("on")) {
|
|
1891
|
+
var h = DayPilot.Util.shouldApply(o);
|
|
1892
|
+
h ? !function (i) { n[i] = function (n) { var a = t(s[i]); e["$apply"](function () { a(e, { "args": n }); }); }; }(o) : !function (i) { n[i] = function (n) { t(s[i])(e, { "args": n }); }; }(o);
|
|
1893
|
+
} var r = e["$watch"], c = s["config"] || s["daypilotConfig"], d = s["events"] || s["daypilotEvents"]; r.call(e, c, function (t, e) { for (var i in t)
|
|
1894
|
+
n[i] = t[i]; n.update(); }, !0), r.call(e, d, function (t) { n.events.list = t, n.J(), n.s(); }, !0); }; } }; }]); }(), "undefined" != typeof Sys && Sys.Application && Sys.Application.notifyScriptLoaded && Sys.Application.notifyScriptLoaded();
|
|
1895
|
+
} }();
|
|
1896
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlsb3QtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RheXBpbG90L2RheXBpbG90LWxpdGUtYW5ndWxhci9zcmMvbGliL2NvcmUvZGF5cGlsb3QtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkU7QUFJRixNQUFNLEtBQVEsUUFBUSxDQXF5QnJCO0FBcnlCRCxXQUFjLFFBQVE7SUFFbEIsTUFBYSxzQkFBc0I7S0E0Q2xDO0lBNUNZLCtCQUFzQix5QkE0Q2xDLENBQUE7SUFFRCxNQUFhLGNBQWUsU0FBUSxzQkFBc0I7S0FFekQ7SUFGWSx1QkFBYyxpQkFFMUIsQ0FBQTtJQUVELE1BQWEsUUFBUyxTQUFRLHNCQUFzQjtLQW1DbkQ7SUFuQ1ksaUJBQVEsV0FtQ3BCLENBQUE7SUF5RkQsTUFBYSxtQkFBbUI7S0E0Qi9CO0lBNUJZLDRCQUFtQixzQkE0Qi9CLENBQUE7SUFFRCxNQUFhLFdBQVksU0FBUSxtQkFBbUI7S0FFbkQ7SUFGWSxvQkFBVyxjQUV2QixDQUFBO0lBR0QsTUFBYSxLQUFNLFNBQVEsbUJBQW1CO0tBK0I3QztJQS9CWSxjQUFLLFFBK0JqQixDQUFBO0lBNEVELE1BQWEsdUJBQXVCO0tBNkJuQztJQTdCWSxnQ0FBdUIsMEJBNkJuQyxDQUFBO0lBRUQsTUFBYSxlQUFnQixTQUFRLHVCQUF1QjtLQUUzRDtJQUZZLHdCQUFlLGtCQUUzQixDQUFBO0lBRUQsTUFBYSxTQUFVLFNBQVEsdUJBQXVCO0tBdUJyRDtJQXZCWSxrQkFBUyxZQXVCckIsQ0FBQTtJQXlDRCxNQUFhLE1BQU07S0F5QmxCO0lBekJZLGVBQU0sU0F5QmxCLENBQUE7SUFFRCxNQUFhLElBQUk7S0FxRmhCO0lBckZZLGFBQUksT0FxRmhCLENBQUE7SUFFRCxNQUFhLGlCQUFpQjtLQUU3QjtJQUZZLDBCQUFpQixvQkFFN0IsQ0FBQTtJQUVELE1BQWEsSUFBSTtLQUdoQjtJQUhZLGFBQUksT0FHaEIsQ0FBQTtJQUVELE1BQWEsUUFBUTtLQTBDcEI7SUExQ1ksaUJBQVEsV0EwQ3BCLENBQUE7SUFFRCxNQUFhLEtBQUs7S0FvQmpCO0lBcEJZLGNBQUssUUFvQmpCLENBQUE7SUFFRCxNQUFhLFNBQVM7S0FJckI7SUFKWSxrQkFBUyxZQUlyQixDQUFBO0lBeURELFFBQVE7SUFFUixNQUFhLG1CQUFtQjtLQXNCL0I7SUF0QlksNEJBQW1CLHNCQXNCL0IsQ0FBQTtJQUVELE1BQWEsV0FBWSxTQUFRLG1CQUFtQjtLQUNuRDtJQURZLG9CQUFXLGNBQ3ZCLENBQUE7SUFFRCxNQUFhLEtBQU0sU0FBUSxtQkFBbUI7S0F3QjdDO0lBeEJZLGNBQUssUUF3QmpCLENBQUE7SUFFRCxNQUFhLGdCQUFpQixTQUFRLFdBQVc7S0FFaEQ7SUFGWSx5QkFBZ0IsbUJBRTVCLENBQUE7SUFFRCxNQUFhLGtCQUFtQixTQUFRLFdBQVc7S0FHbEQ7SUFIWSwyQkFBa0IscUJBRzlCLENBQUE7SUFFRCxNQUFhLGlCQUFrQixTQUFRLFdBQVc7S0FHakQ7SUFIWSwwQkFBaUIsb0JBRzdCLENBQUE7SUFFRCxNQUFhLGVBQWdCLFNBQVEsV0FBVztLQUsvQztJQUxZLHdCQUFlLGtCQUszQixDQUFBO0FBZ0VMLENBQUMsRUFyeUJhLFFBQVEsS0FBUixRQUFRLFFBcXlCckI7QUFDRDs7Ozs7O0VBTUU7QUFDRixJQUFHLFdBQVcsSUFBRSxPQUFPLFFBQVE7SUFBQyxJQUFJLFFBQVEsR0FBQyxFQUFFLENBQUM7QUFBQSxDQUFDO0lBQVcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxLQUFLLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxJQUFJLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQSxDQUFDLEdBQUMsRUFBRSxJQUFFLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLENBQUMsR0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsSUFBRSxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsSUFBRSxDQUFDO1FBQUMsTUFBSyxrQ0FBa0MsQ0FBQyxDQUFBLENBQUMsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLEdBQUcsSUFBRSxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDO0lBQUEsSUFBRyxXQUFXLElBQUUsT0FBTyxRQUFRLENBQUMsQ0FBQyxFQUFDO1FBQUMsV0FBVyxJQUFFLE9BQU8sUUFBUSxDQUFDLE1BQU0sSUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLEVBQUMsUUFBUSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLE9BQU8sR0FBQyxTQUFTLElBQUUsU0FBUyxDQUFDLFNBQVMsSUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBRyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxHQUFDLFNBQVMsSUFBRSxTQUFTLENBQUMsU0FBUyxJQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFHLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxHQUFDLENBQUMsSUFBRSxNQUFNLENBQUMsS0FBSyxFQUFDLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsSUFBRSxDQUFDLEtBQUcsQ0FBQztnQkFBRSxNQUFNLEtBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQTtTQUFDLENBQUEsSUFBRyxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUM7Z0JBQUMsT0FBTyxDQUFDLENBQUM7WUFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxJQUFFLFVBQVUsS0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBRSxVQUFVLEtBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRO2dCQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUFBLE9BQUssQ0FBQyxJQUFFLENBQUMsS0FBRyxDQUFDO2dCQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQTtTQUFDLENBQUEsT0FBTyxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEdBQUcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxHQUFDLENBQUMsSUFBRSxNQUFNLENBQUMsS0FBSyxFQUFDLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUFBLE9BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQTtTQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsbUNBQW1DLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQSxDQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsc0NBQXNDLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQSxDQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsR0FBRyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxRQUFRLEVBQUMsY0FBVyxPQUFNLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsU0FBUyxJQUFFLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUM7WUFBQSxPQUFPLENBQUMsQ0FBQTtTQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsY0FBYyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUMsUUFBUSxFQUFDLGNBQVcsT0FBTSxJQUFJLEdBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxZQUFZO1lBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxnQkFBZ0IsS0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBQyxVQUFVLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLGNBQVcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxXQUFXLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsY0FBVyxJQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFDLDBKQUEwSixDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyRkFBMkYsRUFBQywwQkFBMEIsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNktBQTZLLEVBQUMsa0NBQWtDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxFQUFDLGtHQUFrRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxRUFBcUUsRUFB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QUFFLE9BQU8sV0FBVztZQUFDLE9BQU0sRUFBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBLE9BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7WUFBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsY0FBVyxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixHQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsR0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEdBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsR0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEdBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFHLENBQUM7WUFBQyxLQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQztnQkFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVO1lBQUMsS0FBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUMsRUFBQztnQkFBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDO1lBQUMsSUFBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7b0JBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQUssQ0FBQyxDQUFDLFVBQVUsSUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxHQUFDLGNBQVcsT0FBTSxXQUFXLElBQUUsT0FBTyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsU0FBUyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxJQUFJLEdBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBQyxZQUFZLENBQUMsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsY0FBVyxJQUFHLENBQUMsS0FBRyxDQUFDLENBQUMsVUFBVTtZQUFDLE9BQU8sR0FBRyxLQUFHLENBQUMsQ0FBQyxNQUFNLElBQUUsR0FBRyxLQUFHLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLE9BQU8sSUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FB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QUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLGFBQWEsR0FBQyxjQUFXLE9BQU8sSUFBSSxjQUFjLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksR0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLElBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLEVBQUM7WUFBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQUMsT0FBTyxLQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUksTUFBTSxDQUFDLFNBQVMsR0FBQyxDQUFDLEdBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEdBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUM7WUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztZQUFDLElBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksS0FBRyxDQUFDLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLElBQUksQ0FBQyxFQUFFLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsRUFBQyxJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxDQUFDLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxlQUFlLEVBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFDLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsVUFBVSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsaUJBQWlCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxNQUFNLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxpQkFBaUIsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsU0FBUyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxTQUFTLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLFNBQVMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsU0FBUyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxTQUFTLEVBQUMsYUFBYSxFQUFDLFdBQVcsRUFBQyxpQkFBaUIsRUFBQyxtQkFBbUIsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFdBQVcsRUFBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLFVBQVUsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLG9CQUFvQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsVUFBVSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxTQUFTLEVBQUMsYUFBYSxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsWUFBWSxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsV0FBVyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGlCQUFpQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLFdBQVcsRUFBQyxXQUFXLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMscUJBQXFCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxTQUFTLEVBQUMsWUFBWSxFQUFDLFdBQVcsRUFBQyxZQUFZLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxXQUFXLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQztZQUN0eCtCLGFBQWEsRUFBQyxNQUFNLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxpQkFBaUIsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFdBQVcsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLFVBQVUsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsV0FBVyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLGVBQWUsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLGdCQUFnQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsUUFBUSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsUUFBUSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsaUJBQWlCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsaUJBQWlCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxVQUFVLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLGdCQUFnQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFVBQVUsRUFBQyxXQUFXLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsaUJBQWlCLEVBQUMsZ0JBQWdCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxjQUFjLEVBQUMsYUFBYSxFQUFDLFFBQVEsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsV0FBVyxFQUFDLGNBQWMsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsUUFBUSxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLEtBQUssRUFBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsa0JBQWtCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxTQUFTLEVBQUMsZUFBZSxFQUFDLGFBQWEsRUFBQyxjQUFjLEVBQUMsY0FBYyxFQUFDLGFBQWEsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLFVBQVUsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxLQUFLLEVBQUMsUUFBUSxFQUFDLFNBQVMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLFVBQVUsRUFBQyxXQUFXLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsWUFBWSxFQUFDLFdBQVcsRUFBQyxXQUFXLEVBQUMsV0FBVyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLGlCQUFpQixFQUFDLGlCQUFpQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsYUFBYSxFQUFDLGFBQWEsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsU0FBUyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsaUJBQWlCLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxNQUFNLEVBQUMsYUFBYSxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMsWUFBWSxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxRQUFRLENBQUMsRUFBQyxlQUFlLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxPQUFPLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxZQUFZLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsTUFBTSxFQUFDLFdBQVcsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsYUFBYSxFQUFDLE9BQU8sRUFBQyxhQUFhLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLGdCQUFnQixFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLEVBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsRUFBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxVQUFVLEVBQUMsaUJBQWlCLEVBQUMsZUFBZSxFQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsS0FBSyxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsR0FBRyxDQUFDLENBQUEsSUFBRyxDQUFDLEtBQUcsU0FBUyxDQUFDLE1BQU0sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDO2dCQUFDLE1BQUsscUVBQXFFLENBQUM7WUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFFLFFBQVEsSUFBRSxPQUFPLENBQUM7Z0JBQUMsTUFBSyxtRUFBbUUsQ0FBQztZQUFBLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7U0FBQyxDQUFBLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxHQUFDLGNBQVcsTUFBSyxrRUFBa0UsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLElBQUc7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7U0FBQztRQUFBLE9BQU0sQ0FBQyxFQUFDLEdBQUU7UUFBQSxRQUFRLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsWUFBWSxRQUFRLENBQUMsSUFBSTtZQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsQ0FBQSxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLFFBQVEsSUFBRSxPQUFPLENBQUM7WUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO2FBQUssSUFBRyxRQUFRLElBQUUsT0FBTyxDQUFDLEVBQUM7WUFBQyxJQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQUMsTUFBSyxzQ0FBc0MsQ0FBQztZQUFBLENBQUMsR0FBQyxDQUFDLENBQUE7U0FBQzthQUFJO1lBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQztnQkFBQyxNQUFLLHVFQUF1RSxDQUFDO1lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtTQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxJQUFFLENBQUMsS0FBRyxDQUFDLElBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxDQUFDLGNBQWMsSUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxjQUFXLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBQyxPQUFPLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsRUFBRSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsRUFBRSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsY0FBVyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsRUFBRSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsRUFBRSxHQUFDLENBQUMsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEdBQUMsQ0FBQyxFQUFDO1lBQUMsT0FBSyxDQUFDLElBQUUsRUFBRTtnQkFBRSxDQUFDLElBQUUsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDO1lBQUEsQ0FBQyxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFBO1NBQUM7YUFBSTtZQUFDLE9BQUssQ0FBQyxJQUFFLENBQUMsRUFBRTtnQkFBRSxDQUFDLElBQUUsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDO1lBQUEsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLEVBQUUsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsSUFBRSxDQUFDLENBQUE7U0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxZQUFZLFFBQVEsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBQyxjQUFXLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBQyxjQUFXLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFBLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEtBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsR0FBRyxLQUFHLENBQUMsSUFBRSxDQUFDLEdBQUMsR0FBRyxLQUFHLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxHQUFDLENBQUMsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLEdBQUcsS0FBRyxDQUFDLElBQUUsQ0FBQyxHQUFDLEdBQUcsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBQyxLQUFLLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsSUFBSSxLQUFHLENBQUM7WUFBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLFlBQVksUUFBUSxDQUFDLElBQUk7WUFBQyxPQUFPLElBQUksS0FBRyxDQUFDLENBQUMsQ0FBQSxNQUFLLHVFQUF1RSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLFlBQVksUUFBUSxDQUFDLE1BQU07WUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzthQUFLLElBQUcsUUFBUSxJQUFFLE9BQU8sQ0FBQyxJQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtTQUFDOztZQUFLLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsQ0FBQyxLQUFHLENBQUM7WUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQSxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsY0FBVyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFDLGNBQVcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFDLGNBQVcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFDLGNBQVcsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUMsY0FBVyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUMsY0FBVyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBQyxLQUFLLENBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLEtBQUcsQ0FBQyxJQUFFLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxJQUFFLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxjQUFXLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLGNBQVcsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUMsRUFBRSxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDO1lBQUMsTUFBSyxpREFBaUQsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLEVBQUUsS0FBRyxDQUFDLEVBQUMsQ0FBQyxHQUFDLEVBQUUsS0FBRyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQztZQUFDLE1BQUsscUVBQXFFLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDO1lBQUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFFLENBQUMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7WUFBQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLEdBQUcsS0FBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7U0FBQzs7WUFBSyxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsS0FBRyxDQUFDO1lBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxJQUFHLEdBQUcsS0FBRyxDQUFDO1lBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxFQUFFLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsR0FBRyxLQUFHLENBQUM7WUFBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxHQUFHLEtBQUcsQ0FBQztZQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBSyx5QkFBeUIsR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLElBQUUsQ0FBQyxJQUFFLGNBQVcsTUFBSyx5QkFBeUIsQ0FBQSxDQUFBLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDO1lBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLElBQUUsQ0FBQyxJQUFFLGNBQVcsTUFBSyx5QkFBeUIsQ0FBQSxDQUFBLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUcsQ0FBQztZQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFFLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFBQyxNQUFLLGtFQUFrRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQSxDQUFDLEdBQUMsRUFBRSxJQUFFLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQztZQUFBLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUM7WUFBQSxPQUFPLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQTtTQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsR0FBRyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsR0FBRyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsR0FBRyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxFQUFDLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEtBQUssRUFBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsR0FBRyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxXQUFXLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFdBQVcsRUFBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxFQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxFQUFDLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEtBQUssRUFBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxFQUFDLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEtBQUssRUFBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxLQUFLLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxXQUFXLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxVQUFTLENBQUMsSUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLEVBQUMsV0FBVyxFQUFDLFVBQVMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxHQUFHLENBQUMsQ0FBQSxJQUFHO2dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQTthQUFDO1lBQUEsT0FBTSxDQUFDLEVBQUM7Z0JBQUMsTUFBSywrQkFBK0IsR0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsRUFBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7WUFBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFHLENBQUM7Z0JBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFFO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxDQUFDLENBQUE7YUFBQzs7Z0JBQUssQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLEdBQUMsRUFBRSxJQUFFLENBQUMsR0FBQyxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxHQUFDLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQSxJQUFHLElBQUksQ0FBQyxJQUFJLElBQUUsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsR0FBQyxFQUFFO2dCQUFDLE9BQU8sSUFBSSxDQUFDO1lBQUEsQ0FBQyxHQUFDLElBQUksS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsRUFBRSxLQUFHLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUE7U0FBQyxDQUFBLElBQUcsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLEdBQUMsRUFBRTtZQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsR0FBQyxFQUFFO1lBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxHQUFDLEVBQUU7WUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDO1FBQUEsUUFBUSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxFQUFFLEVBQUMsV0FBVyxJQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBRyxDQUFDLENBQUMsS0FBSztZQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxjQUFXLElBQUcsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtnQkFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU0sV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU0sV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFNLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLGNBQVcsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLGNBQVcsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLElBQUcsV0FBVyxJQUFFLE9BQU8sQ0FBQztZQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsS0FBRyxDQUFDLENBQUM7WUFBQyxNQUFLLHVCQUF1QixDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsS0FBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLElBQUUsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFBLENBQUMsQ0FBQSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFNLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsVUFBVSxLQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQSxDQUFDLENBQUEsS0FBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLFVBQVUsS0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU0sV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxVQUFVLEtBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQSxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVM7WUFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO2dCQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBO0tBQUM7QUFBQSxDQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsSUFBSSxHQUFDLEVBQUUsRUFBQztJQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBRSxPQUFPLENBQUMsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUM7SUFBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTSxRQUFRLElBQUUsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxHQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsR0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFBLENBQUEsQ0FBQztJQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQUUsSUFBSSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLFFBQU8sQ0FBQyxJQUFFLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFFLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzMxK0IsVUFBVSxJQUFFLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sQ0FBQyxFQUFDO1lBQUMsS0FBSSxRQUFRLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEtBQUksUUFBUSxDQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDO1lBQUEsS0FBSSxTQUFTLENBQUM7WUFBQSxLQUFJLE1BQU0sQ0FBQyxDQUFBLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsS0FBSSxRQUFRO2dCQUFDLElBQUcsQ0FBQyxDQUFDO29CQUFDLE9BQU0sTUFBTSxDQUFDO2dCQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLFFBQVEsSUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUM7b0JBQUMsS0FBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUM7d0JBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUUsTUFBTSxDQUFDO29CQUFBLE9BQU8sQ0FBQyxHQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEdBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUMsR0FBRyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBO2lCQUFDO2dCQUFBLElBQUcsQ0FBQyxJQUFFLFFBQVEsSUFBRSxPQUFPLENBQUM7b0JBQUMsS0FBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUM7d0JBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7b0JBQUssS0FBSSxDQUFDLElBQUksQ0FBQzt3QkFBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxPQUFPLENBQUMsR0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLEtBQUssR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtTQUFDO0lBQUEsQ0FBQztJQUFBLFVBQVUsSUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsMEhBQTBILEVBQUMsQ0FBQyxHQUFDLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxDQUFDO0lBQUEsVUFBVSxJQUFFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsUUFBUSxJQUFFLE9BQU8sQ0FBQztRQUFDLEtBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDO1lBQUMsQ0FBQyxJQUFFLEdBQUcsQ0FBQzs7UUFBSSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLFVBQVUsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtBQUFBLENBQUMsRUFBRSxDQUFDO0FBQUEsSUFBRyxXQUFXLElBQUUsT0FBTyxRQUFRO0lBQUMsSUFBSSxRQUFRLEdBQUMsRUFBRSxDQUFDO0FBQUEsV0FBVyxJQUFFLE9BQU8sUUFBUSxDQUFDLE1BQU0sSUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLEVBQUM7SUFBVyxJQUFJLENBQUMsR0FBQyxjQUFXLENBQUMsQ0FBQztJQUFBLElBQUcsV0FBVyxJQUFFLE9BQU8sUUFBUSxDQUFDLFFBQVEsSUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQUEsQ0FBQyxDQUFDLGFBQWEsR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFHLENBQUM7Z0JBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsSUFBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsS0FBRyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLElBQUUsQ0FBQyxLQUFHLENBQUMsQ0FBQyxhQUFhO1lBQUUsS0FBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxJQUFFLElBQUksS0FBRyxDQUFDLENBQUMsT0FBTztnQkFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLElBQUUsQ0FBQyxLQUFHLENBQUMsQ0FBQyxhQUFhO1lBQUUsS0FBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxJQUFFLElBQUksS0FBRyxDQUFDLENBQUMsT0FBTztnQkFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWU7WUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBQyxJQUFJLEtBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsVUFBVTtZQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsUUFBUSxFQUFDO1lBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxjQUFjO2dCQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsU0FBUyxFQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQUEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7YUFBSyxJQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUM7WUFBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVk7Z0JBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksRUFBQyxLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFBQSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLE1BQU0sQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQzthQUFLLElBQUcsQ0FBQyxDQUFDLFNBQVMsSUFBRSxJQUFJLEtBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsTUFBTSxLQUFHLENBQUMsQ0FBQyx5QkFBeUIsSUFBRSxhQUFhLEtBQUcsQ0FBQyxDQUFDLHlCQUF5QixJQUFFLENBQUMsRUFBRSxDQUFBO1NBQUM7O1lBQUssQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsWUFBWSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxJQUFJLFlBQVksQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztnQkFBQyxNQUFLLGlHQUFpRyxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDO1lBQUEsSUFBSSxDQUFDLFFBQVEsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxpQkFBaUIsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLGNBQVcsQ0FBQyxFQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxlQUFlLEVBQUMsSUFBSSxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsYUFBYSxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMscUJBQXFCLEdBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixHQUFDLHNDQUFzQyxFQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxrQkFBa0IsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsUUFBUSxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsY0FBYyxHQUFDLGNBQVcsQ0FBQyxDQUFDLGVBQWUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUMsSUFBSSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsU0FBUyxJQUFFLFNBQVMsQ0FBQyxTQUFTLElBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUcsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxTQUFTLElBQUUsU0FBUyxDQUFDLFNBQVMsSUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBRyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFDO2dCQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFFLElBQUksQ0FBQTthQUFDLENBQUEsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUM7Z0JBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUUsR0FBRyxDQUFBO2FBQUMsQ0FBQSxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLE1BQU0sR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsZUFBZSxJQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFDLElBQUksQ0FBQyxlQUFlLEdBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFXLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsTUFBTSxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFDLENBQUEsVUFBVSxJQUFFLE9BQU8sa0JBQWtCLElBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsZUFBZSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFLLENBQUMsb0JBQW9CLEdBQUMsQ0FBQyxHQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxJQUFFLElBQUksS0FBRyxDQUFDLENBQUMsT0FBTztnQkFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxjQUFXLE9BQU0sTUFBTSxLQUFHLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUEsQ0FBQSxDQUFDLENBQUM7WUFBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLElBQUUsQ0FBQyxLQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUM7Z0JBQUMsSUFBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUFDLE1BQUssdUNBQXVDLEdBQUMsQ0FBQyxDQUFDO2dCQUFBLE9BQU8sS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxHQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsZ0JBQWdCO2dCQUFDLE9BQU8sS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUEsSUFBRyxNQUFNLEtBQUcsQ0FBQyxDQUFDLFVBQVU7Z0JBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxNQUFNLEtBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLEdBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLEdBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQUMsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtvQkFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxLQUFHLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDLENBQUMsV0FBVyxD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SyxrQkFBa0IsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDO2dCQUFDLE1BQUssZ0JBQWdCLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQSxJQUFHLEtBQUssS0FBRyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLENBQUMsR0FBQyxHQUFHLENBQUM7Z0JBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTthQUFDO2lCQUFLLElBQUcsUUFBUSxLQUFHLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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Q0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDO2dCQUFDLE1BQUssa0JBQWtCLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQztnQkFBQyxNQUFLLGdCQUFnQixDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLENBQUMsR0FBQyxFQUFFLEdBQUMsR0FBRyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQSxDQUFDLFlBQVksUUFBUSxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUMsR0FBRyxHQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsR0FBQyxFQUFFLENBQUMsR0FBQyxFQUFFLEdBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxHQUFDLGNBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsVUFBVSxJQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO29CQUFDLE9BQU87Z0JBQUEsUUFBTyxDQUFDLENBQUMsaUJBQWlCLEVBQUM7b0JBQUMsS0FBSSxVQUFVO3dCQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQUEsTUFBTTtvQkFBQSxLQUFJLFVBQVU7d0JBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFBQSxNQUFNO29CQUFBLEtBQUksUUFBUSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDO2dCQUFBLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUE7YUFBQzs7Z0JBQUssUUFBTyxDQUFDLENBQUMsaUJBQWlCLEVBQUM7b0JBQUMsS0FBSSxVQUFVO3dCQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQUEsTUFBTTtvQkFBQSxLQUFJLFVBQVU7d0JBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFBQSxNQUFNO29CQUFBLEtBQUksWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLHlCQUF5QixHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxjQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQVcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7b0JBQUMsT0FBTztnQkFBQSxRQUFPLENBQUMsQ0FBQyx5QkFBeUIsRUFBQztvQkFBQyxLQUFJLFVBQVU7d0JBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQzt3QkFBQSxNQUFNO29CQUFBLEtBQUksVUFBVSxDQUFDLENBQUEsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQztnQkFBQSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsbUJBQW1CLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTthQUFDOztnQkFBSyxRQUFPLENBQUMsQ0FBQyx5QkFBeUIsRUFBQztvQkFBQyxLQUFJLFVBQVU7d0JBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQzt3QkFBQSxNQUFNO29CQUFBLEtBQUksVUFBVTt3QkFBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLE1BQU07b0JBQUEsS0FBSSxZQUFZLENBQUMsQ0FBQSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUUsVUFBVSxLQUFHLENBQUMsQ0FBQyx5QkFBeUIsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBQSxJQUFHLENBQUMsS0FBRyxDQUFDLElBQUUsQ0FBQyxLQUFHLENBQUM7b0JBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxHQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDLENBQUMsYUFBYSxHQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsZUFBZSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQSxDQUFDLGNBQVcsT0FBTSxDQUFBLENBQUMsRUFBRSxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsR0FBQyxjQUFXLElBQUcsQ0FBQyxDQUFDLElBQUk7Z0JBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7Z0JBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQztvQkFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWU7b0JBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBRSxDQUFDO2dCQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFBO2FBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsV0FBVyxJQUFFLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQSxPQUFPLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxHQUFDLENBQUM7Z0JBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxHQUFDLENBQUM7b0JBQUMsT0FBTyxDQUFDLENBQUE7YUFBQyxDQUFBLE9BQU8sSUFBSSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO2dCQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsSUFBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsWUFBWSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxJQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsSUFBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUE7YUFBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDO29CQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLFVBQVMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztvQkFBQyxPQUFNLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxRQUFPLElBQUksQ0FBQyxRQUFRLEVBQUM7Z0JBQUMsS0FBSSxLQUFLO29CQUFDLENBQUMsR0FBQyxDQUFDLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxLQUFJLE1BQU07b0JBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxLQUFJLFVBQVUsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLElBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7b0JBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQUEsSUFBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFFLEtBQUssS0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUM7d0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7d0JBQUEsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUE7cUJBQUM7b0JBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQyxDQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLElBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsaUJBQWlCLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFBLElBQUcsV0FBVyxJQUFFLE9BQU8sQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUM7b0JBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBRSxDQUFDLENBQUMsQ0FBQyxV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QUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFlBQVksSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLElBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLElBQUcsVUFBVSxLQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDO2dCQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7Z0JBQUMsSUFBRztvQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFBLENBQUMsS0FBRyxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDO2dCQUFBLE9BQU0sQ0FBQyxFQUFDLEdBQUUsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLE1BQU07b0JBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTt3QkFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFOzRCQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDO2dDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7Z0NBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTs2QkFBQzthQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUEsTUFBTSxFQUFDLElBQUksQ0FBQyxhQUFhLElBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLElBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUMsSUFBSSxFQUFDLGVBQWUsS0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxhQUFhLElBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFJLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTthQUFDOztnQkFBSyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxXQUFXLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsR0FBRyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxNQUFNLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsV0FBVyxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxjQUFXLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBQyxPQUFPLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLENBQUE7YUFBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsY0FBYyxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBRSxFQUFFLEVBQUMsQ0FBQyxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxHQUFDLGNBQWMsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLFFBQU8sSUFBSSxDQUFDLFVBQVUsRUFBQztnQkFBQyxLQUFJLE1BQU0sQ0FBQyxDQUFBLE9BQU8sRUFBRSxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQUEsS0FBSSxlQUFlO29CQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFBQSxPQUFPLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQztnQkFBQSxLQUFJLHVCQUF1QjtvQkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQUEsT0FBTyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUM7Z0JBQUEsT0FBTyxDQUFDLENBQUEsTUFBSyxtREFBbUQsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQztnQkFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUMsa0JBQWtCLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxrQkFBa0IsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLFlBQVksR0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsWUFBWSxHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxLQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQSxJQUFHLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLEVBQUM7Z0JBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsWUFBWSxHQUFDLElBQUksRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxJQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQztvQkFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDOztvQkFBSSxDQUFDO2dCQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsYUFBYSxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7Z0JBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUE7aUJBQUMsQ0FBQSxJQUFJLENBQUMsYUFBYSxJQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQztnQkFBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQUEsS0FBSSxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUM7b0JBQUUsSUFBSSxDQUFDLGFBQWEsSUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFBQSxJQUFHLElBQUksQ0FBQyxDQUFDLEVBQUM7b0JBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDO3dCQUFFLElBQUksQ0FBQyxhQUFhLElBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUM7d0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsR0FBRyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsTUFBTSxDQUFDLENBQUM7d0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxNQUFNLENBQUM7d0JBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO3FCQUFDO2lCQUFDO2dCQUFBLElBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBQyxPQUFPLENBQUM7b0JBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQzt3QkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEdBQUcsQ0FBQzt3QkFBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsaUJBQWlCLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtxQkFBQztpQkFBQztnQkFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFDLE1BQU0sQ0FBQztvQkFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO3dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFBQSxJQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzRCQUNuMGhDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFDLEtBQUssRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7NEJBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFBQSxDQUFDLENBQUMsWUFBWSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsVUFBVSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUFBLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsSUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7NEJBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO3lCQUFDOzs0QkFBSSxDQUFDO3dCQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7cUJBQUM7aUJBQUM7Z0JBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsUUFBUSxFQUFDO29CQUFDLENBQUMsQ0FBQyxjQUFjLElBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQUEsSUFBRyxRQUFRLEtBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUM7d0JBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQzt3QkFBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzt3QkFBQSxDQUFDLENBQUMsV0FBVyxHQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQTtxQkFBQzt5QkFBSyxJQUFHLEtBQUssS0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQzt3QkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDO3dCQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUFBLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFBO3FCQUFDO2lCQUFDO3FCQUFLLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBQztvQkFBQyxJQUFHLENBQUMsQ0FBQyxZQUFZLElBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07d0JBQUMsT0FBTztvQkFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7b0JBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztvQkFBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFBQSxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxFQUFFLENBQUM7b0JBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUUsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQUM7cUJBQUssSUFBRyxDQUFDLENBQUMsU0FBUyxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtpQkFBQyxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsQ0FBQTtZQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUUsQ0FBQyxLQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsSUFBRSxDQUFDLEtBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBSTtnQkFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO29CQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQzt3QkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFBO3FCQUFDLENBQUEsSUFBSSxDQUFDLGFBQWEsSUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFB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Q0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLGVBQWUsSUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxjQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsV0FBVyxJQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsTUFBTSxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxlQUFlLEtBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksRUFBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsYUFBYSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFLLENBQUMsb0JBQW9CLEdBQUMsQ0FBQyxHQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsQ0FBQyxDQUFDLGNBQWMsSUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLFlBQVksUUFBUSxDQUFDLEtBQUs7Z0JBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQUk7Z0JBQUMsSUFBRyxRQUFRLElBQUUsT0FBTyxDQUFDO29CQUFDLE1BQUssOEVBQThFLENBQUM7Z0JBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxJQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUcsQ0FBQztvQkFBQyxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLE9BQU8sSUFBSSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxZQUFZLFFBQVEsQ0FBQyxLQUFLO2dCQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFBSyxJQUFHLFFBQVEsSUFBRSxPQUFPLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQUEsSUFBRyxDQUFDLEVBQUM7b0JBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQUM7YUFBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLFlBQVksUUFBUSxDQUFDLEtBQUs7Z0JBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQUssSUFBRyxRQUFRLElBQUUsT0FBTyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7YUFBQztpQkFBSyxJQUFHLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsSUFBRztnQkFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7YUFBQztZQUFBLE9BQU0sQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxJQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO2dCQUFBLElBQUcsQ0FBQyxDQUFDLGNBQWMsR0FBQyxjQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLO29CQUFDLE9BQU87Z0JBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2FBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxnQkFBZ0IsSUFBRSxNQUFNLEtBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtnQkFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO2lCQUFJO2dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxHQUFHLEdBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLEVBQUMsUUFBUSxFQUFDLEVBQUMsU0FBUyxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxD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QyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsS0FBSyxDQUFDO2dCQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQztnQkFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsSUFBSSxDQUFDLFlBQVksR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7Z0JBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQztvQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtpQkFBQztnQkFBQSxJQUFHLFVBQVUsSUFBRSxPQUFPLElBQUksQ0FBQyxtQkFBbUI7b0JBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7d0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7b0JBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO29CQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxDQUFDLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQztvQkFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7d0JBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQzs0QkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQztnQ0FBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUM7Z0NBQUEsSUFBRyxDQUFDLEVBQUM7b0NBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztvQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQztvQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0NBQUEsSUFBRyxDQUFDLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO3dDQUFDLFNBQVM7b0NBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztvQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0NBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFFBQVEsSUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLElBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7aUNBQUM7NkJBQUM7eUJBQUM7aUJBQUM7Z0JBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQzt3QkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7cUJBQUM7b0JBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO3dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQzs0QkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7eUJBQUM7cUJBQUM7aUJBQUM7YUFBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLElBQUUsT0FBTyxPQUFPLElBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQztnQkFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUUsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxjQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsTUFBTSxLQUFHLENBQUMsQ0FBQyxhQUFhLElBQUUsQ0FBQyxDQUFDLEdBQUMsZUFBZSxLQUFHLElBQUksQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFFLFVBQVUsSUFBRSxPQUFPLGtCQUFrQixDQUFDLElBQUUsQ0FBQyxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLFFBQVEsS0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsR0FBQyxPQUFPLENBQUMsQ0FBQTthQUFDLENBQUEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxJQUFFLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxjQUFXLElBQUcsVUFBVSxJQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsT0FBTyxJQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFDLFdBQVcsQ0FBQyxjQUFXLENBQUMsRUFBRSxJQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sSUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLGNBQVcsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsV0FBVyxJQUFFLE9BQU8sTUFBTSxJQUFFLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBVyxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFBQSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQztZQUFBLEtBQUksSUFBSSxJQUFJLENBQUM7Z0JBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLEtBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLFFBQVEsRUFBQyxVQUFTLENBQUMsSUFBRSxPQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEVBQUM7b0JBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQyxDQUFBLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztvQkFBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBRSxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBRSxDQUFBO0tBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQztBQUFBLElBQUcsV0FBVyxJQUFFLE9BQU8sUUFBUTtJQUFDLElBQUksUUFBUSxHQUFDLEVBQUUsQ0FBQztBQUFBLENBQUMsY0FBVyxXQUFXLElBQUUsT0FBTyxRQUFRLENBQUMsVUFBVSxJQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFDLGlCQUFpQixDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsWUFBWSxHQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLE9BQU8sR0FBQyxjQUFXLElBQUcsSUFBSSxDQUFDLE1BQU0sR0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsbUJBQW1CLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxFQUFFLEVBQUMsQ0FBQztJQUFDLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLGNBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxjQUFXLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUcsUUFBUSxDQUFDLElBQUksSUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUM7SUFBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxPQUFPLEtBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFBQyxPQUFPLElBQUksQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztJQUFDLElBQUcsQ0FBQztRQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUEsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBRyxDQUFDLEVBQUM7SUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUEsT0FBTyxLQUFHLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQTtDQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLGNBQVcsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsS0FBRyxDQUFDLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUMsVUFBVSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLHlCQUF5QixHQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsbUJBQW1CLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxjQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsSUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsVUFBVSxJQUFFLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixJQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLElBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFFLENBQUM7QUFBQSxXQUFXLElBQUUsT0FBTyxRQUFRLElBQUUsQ0FBQyxRQUFRLEdBQUMsRUFBRSxDQUFDLEVBQUMsVUFBUyxRQUFRO0lBQUUsWUFBWSxDQUFDO0lBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxLQUFHLENBQUMsQ0FBQztRQUFDLE9BQU8sS0FBSSxDQUFDLFdBQVcsS0FBRyxDQUFDLElBQUUsYUFBYSxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLFdBQVcsS0FBRyxDQUFDLElBQUUsYUFBYSxLQUFHLENBQUMsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsSUFBSSxLQUFHLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDO0lBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxHQUFDLENBQUMsSUFBRSxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLFFBQVEsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsZ0JBQWdCLEtBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDO0lBQUEsSUFBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUM7UUFBQyxRQUFRLENBQUMsV0FBVyxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksR0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFHLENBQUM7Z0JBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBQyxVQUFTLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQztnQkFBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTSxDQUFD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UyxDQUFDLElBQUUsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEVBQUUsR0FBQyxHQUFHLEdBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFDLEdBQUcsR0FBQyxFQUFFLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUFDLE1BQUsseUNBQXlDLENBQUMsQ0FBQSxJQUFHLElBQUksQ0FBQyxHQUFHLElBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sY0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDO1lBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7O1lBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFBQyxNQUFLLHlDQUF5QyxDQUFDLENBQUEsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUcsSUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQUEsQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUMsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUE7U0FBQzs7WUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLE9BQU8sRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsR0FBRyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLElBQUUsS0FBSyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxJQUFFLGNBQVcsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLGNBQVcsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBQyxZQUFZLENBQUMsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsY0FBVyxJQUFHLENBQUMsS0FBRyxDQUFDLENBQUMsVUFBVTtnQkFBQyxJQUFHLEdBQUcsS0FBRyxDQUFDLENBQUMsTUFBTSxJQUFFLEdBQUcsS0FBRyxDQUFDLENBQUMsTUFBTSxFQUFDO29CQUFDLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztvQkFBQSxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQUM7cUJBQUssSUFBRyxDQUFDLEVBQUM7b0JBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO29CQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQzs7b0JBQUssTUFBTSxDQUFDLE9BQU8sSUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLFFBQVEsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLGVBQWUsSUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUEsSUFBSSxDQUFDLEtBQUssSUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsYUFBYSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sSUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQVcsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFDLGNBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFNBQVMsSUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFFLEdBQUcsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsYUFBYSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNLElBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLElBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsSUFBRSxJQUFJLENBQUMsTUFBTSxJQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUM7WUFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLElBQUUsRUFBRTtnQkFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQztZQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsSUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLElBQUUsRUFBRTtnQkFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQztZQUFBLElBQUksQ0FBQyx3QkFBd0IsSUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDOztZQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFDLENBQUMsR0FBQyxZQUFZLEtBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLGVBQWUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUFBLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxHQUFDLFlBQVksS0FBRyxDQUFDLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsZUFBZSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQUEsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxPQUFPLENBQUMsR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsQ0FBQSxJQUFHLFlBQVksS0FBRyxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxlQUFlLElBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFBQSxPQUFNLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUE7U0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBLE9BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxJQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsSUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsTUFBTSxLQUFHLENBQUMsQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxTQUFTLElBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsR0FBRyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFBQSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLENBQUMsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBRSxNQUFNLEtBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFFLE1BQU0sS0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLGNBQWMsSUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsU0FBUyxJQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLEtBQUcsUUFBUSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLGVBQWUsSUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFBLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQSxDQUFDLENBQUEsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxFQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVk7WUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsS0FBRyxRQUFRLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQSxDQUFDLENBQUEsVUFBVSxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsRUFBRSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsRUFBRSxHQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxTQUFTLElBQUUsQ0FBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxHQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxJQUFFLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksSUFBRSxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFBQSxJQUFHLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUE7YUFBQztTQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxXQUFXLElBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxVQUFVLElBQUUsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsU0FBUyxJQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsVUFBVSxJQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLE1BQU0sSUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUcsQ0FBQztZQUFDLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxHQUFDLENBQUMsSUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsVUFBVSxJQUFFLFFBQVEsQ0FBQyxDQUFBLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxJQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxNQUFNLElBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBRSxRQUFRLENBQUMsQ0FBQSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLElBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxNQUFNLElBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBRSxRQUFRLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxFQUFFLENBQUMsQ0FBQSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxRQUFRLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxRQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUM7WUFBQyxLQUFLLEVBQUU7Z0JBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLEtBQUssRUFBRTtnQkFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQUEsTUFBTTtZQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLElBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFNLGdCQUFnQixLQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLEtBQUcsU0FBUyxDQUFDLE1BQU0sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDO2lCQUFJO2dCQUFDLElBQUcsUUFBUSxJQUFFLE9BQU8sQ0FBQztvQkFBQyxNQUFLLHlDQUF5QyxDQUFDO2dCQUFBLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7b0JBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQzthQUFDO1NBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLEVBQUUsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLElBQUUsUUFBUSxDQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsUUFBUSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsS0FBSyxFQUFDLFVBQVMsQ0FBQyxJQUFFLFFBQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQztnQkFBQyxLQUFJLE9BQU87b0JBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxLQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTthQUFDLENBQUEsQ0FBQyxFQUFDLFFBQVEsRUFBQyxVQUFTLENBQUMsSUFBRSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUMsVUFBUyxDQUFDLElBQUUsUUFBTyxDQUFDLENBQUMsT0FBTyxFQUFDO1lBQUMsS0FBSyxFQUFFO2dCQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFBQSxNQUFNO1lBQUEsS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQztZQUFBLElBQUcsUUFBUSxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUM7O2dCQUFJLFFBQVEsSUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7U0FBQzthQUFJO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtTQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQztZQUFDLE1BQUssb0RBQW9ELENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLGNBQVcsT0FBTSxXQUFXLElBQUUsT0FBTyxRQUFRLElBQUUsV0FBVyxJQUFFLE9BQU8sUUFBUSxDQUFDLFdBQVcsSUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLE1BQU0sSUFBRSxNQUFNLENBQUMsUUFBUSxJQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFDLEVBQUUsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLFdBQVcsSUFBRSxPQUFPLFFBQVEsQ0FBQyxVQUFVLElBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU0sV0FBVyxJQUFFLE9BQU8sT0FBTyxDQUFBLENBQUMsQ0FBQSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxHQUFDLENBQUMsSUFBRSxjQUFXLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLGNBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsRUFBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsSUFBSSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLGNBQVcsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxHQUFDLGFBQWEsR0FBQyxDQUFDLEdBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsV0FBVyxJQUFFLE9BQU8sS0FBRyxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxJQUFFLEdBQUcsR0FBQyxDQUFDLEdBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLElBQUUsR0FBRyxHQUFDLENBQUMsR0FBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFFLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsR0FBQyxrQkFBa0IsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsVUFBVSxJQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLGNBQVcsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDO1lBQUUsU0FBUyxDQUFDO2dCQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZnL0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQUEsQ0FBQztZQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsSUFBSSxFQUFDLENBQUMsR0FBQyxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxvQkFBb0IsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyw0QkFBNEIsQ0FBQztnQkFBQSxJQUFHLENBQUMsQ0FBQyxLQUFLO29CQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUFLLElBQUcsQ0FBQyxDQUFDO29CQUFDLElBQUcsQ0FBQyxFQUFDO3dCQUFDLElBQUksQ0FBQyxHQUFDLEdBQUcsQ0FBQzt3QkFBQSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBQyxVQUFVLENBQUMsY0FBVyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtxQkFBQzs7d0JBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7YUFBQztZQUFBLE9BQU8sQ0FBQyxDQUFBO1FBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBRztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQztRQUFBLE9BQU0sQ0FBQyxFQUFDO1lBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRkFBZ0YsR0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLE9BQU8sS0FBRyxDQUFDLEVBQUM7WUFBQyxJQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQztZQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBO1NBQUM7YUFBSyxJQUFHLE9BQU8sS0FBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7YUFBSyxJQUFHLE9BQU8sS0FBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDO2FBQUssSUFBRyxNQUFNLEtBQUcsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQzthQUFLLElBQUcsWUFBWSxLQUFHLENBQUMsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7YUFBSTtZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxPQUFNLFVBQVUsS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsVUFBVSxJQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxFQUFDLE9BQU8sRUFBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsT0FBTyxFQUFDLGNBQVcsT0FBTyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxPQUFPLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsTUFBTSxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFNLFFBQVEsSUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxRQUFRLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsWUFBWSxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsOEJBQThCLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxzQ0FBc0MsRUFBQyxRQUFRLElBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsUUFBUSxJQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsTUFBTSxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsWUFBWSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsUUFBTyxDQUFDLENBQUMsT0FBTyxFQUFDO2dCQUFDLEtBQUssRUFBRTtvQkFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUFBLE1BQU07Z0JBQUEsS0FBSyxFQUFFO29CQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxPQUFPLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsY0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFVBQVUsRUFBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsUUFBTyxDQUFDLENBQUMsT0FBTyxFQUFDO2dCQUFDLEtBQUssRUFBRTtvQkFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFBLE1BQU07Z0JBQUEsS0FBSyxFQUFFO29CQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxPQUFPLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUE7YUFBQyxDQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxjQUFXLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLGNBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxNQUFNLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBRSxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDLEVBQUMsZUFBZSxFQUFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLFFBQU8sQ0FBQyxDQUFDLE9BQU8sRUFBQztnQkFBQyxLQUFLLEVBQUU7b0JBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUFBLE1BQU07Z0JBQUEsS0FBSyxFQUFFO29CQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFBQSxNQUFNO2dCQUFBLEtBQUssQ0FBQztvQkFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFBLE1BQU07Z0JBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxjQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLGNBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxjQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsRUFBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsY0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFFLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFlBQVksRUFBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFFLEVBQUUsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyx1QkFBdUIsRUFBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxjQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxPQUFPLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLEdBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsY0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQUMsT0FBTSxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsVUFBVSxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxjQUFXLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxjQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxPQUFPLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLG9CQUFvQixFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsY0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFHLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUcsQ0FBQyxJQUFFLENBQUMsT0FBTyxLQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFHLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxLQUFHLENBQUM7WUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFlBQVksRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxVQUFVLEVBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksSUFBRSxJQUFJLENBQUMsT0FBTyxJQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxZQUFZLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsT0FBTyxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEVBQUUsR0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxJQUFJLElBQUk7WUFBQyxJQUFJLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsSUFBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLGNBQVcsT0FBTSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsT0FBTSxFQUFFLEdBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsRUFBRSxHQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUUsR0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsRUFBRSxHQUFDLENBQUMsRUFBRSxHQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsS0FBSyxLQUFHLENBQUMsSUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLElBQUUsQ0FBQyxLQUFHLElBQUksQ0FBQyxRQUFRLElBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxjQUFXLE9BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxjQUFXLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsT0FBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxJQUFJLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxFQUFDLFVBQVUsRUFBQyxFQUFDLElBQUksRUFBQyxVQUFTLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLFFBQVEsSUFBRSxPQUFPLENBQUMsSUFBRSxRQUFRLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBQyxVQUFVLEVBQUMsRUFBQyxHQUFHLEVBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxFQUFDLEdBQUcsRUFBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxHQUFHLEVBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFHLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsY0FBVyxTQUFTLENBQUMsS0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFHLENBQUMsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsR0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxzQkFBc0IsRUFBQyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxHQUFHLEdBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxzQkFBc0IsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBRSxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLEtBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUssR0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUM7WUFBQyxJQUFHLE9BQU8sS0FBRyxDQUFDLENBQUMsR0FBRztnQkFBQyxPQUFPO1lBQUEsSUFBRyxLQUFLLEtBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBRSxRQUFRLEtBQUcsQ0FBQyxDQUFDLEdBQUc7Z0JBQUMsT0FBTztZQUFBLENBQUMsRUFBRSxDQUFBO1NBQUMsQ0FBQSxJQUFHLFdBQVcsS0FBRyxDQUFDLENBQUMsR0FBRyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQTtTQUFDO2FBQUssSUFBRyxTQUFTLEtBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBO1NBQUM7O1lBQUksT0FBTyxLQUFHLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxLQUFHLENBQUMsQ0FBQyxHQUFHLElBQUUsUUFBUSxLQUFHLENBQUMsQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBQyxjQUFXLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxVQUFVLElBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxHQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxJQUFHLFVBQVUsSUFBRSxPQUFPLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTthQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7U0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsU0FBUyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLGdCQUFnQixLQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsV0FBVyxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsV0FBVyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLFdBQVcsSUFBRSxPQUFPLENBQUM7WUFBQyxJQUFHLE1BQU0sS0FBRyxDQUFDO2dCQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7aUJBQUssSUFBRyxRQUFRLEtBQUcsQ0FBQztnQkFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDO2lCQUFLLElBQUcsUUFBUSxLQUFHLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTthQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLFFBQVEsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLE9BQU8sQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQzs7WUFBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFHLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxNQUFNLEtBQUcsQ0FBQyxJQUFFLFFBQVEsS0FBRyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQUEsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLFVBQVMsQ0FBQyxJQUFFLFFBQVEsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsSUFBRyxRQUFRLEtBQUcsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUFBLE9BQU8sQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssS0FBRyxDQUFDLENBQUMsRUFBRSxJQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFFLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUE7U0FBQyxDQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUMsY0FBVyxDQUFDLENBQUE7S0FBQztBQUFBLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUFBLElBQUcsV0FBVyxJQUFFLE9BQU8sUUFBUTtJQUFDLElBQUksUUFBUSxHQUFDLEVBQUUsQ0FBQztBQUFBLFdBQVcsSUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLElBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQyxFQUFDLGNBQVcsSUFBRyxXQUFXLElBQUUsT0FBTyxRQUFRLENBQUMsS0FBSyxJQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUM7SUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7SUFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFDLGlCQUFpQixFQUFDLElBQUksQ0FBQyxHQUFHLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsZUFBZSxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLGNBQVcsQ0FBQyxFQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyx5QkFBeUIsR0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLGFBQWEsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLEtBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQSxDQUFDLENBQUEsTUFBTSxLQUFHLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLE1BQU0sS0FBRyxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsRUFBQyxXQUFXLElBQUUsT0FBTyxDQUFDLENBQUMsVUFBVSxJQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxLQUFHLENBQUMsQ0FBQyxVQUFVLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsS0FBSyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxjQUFXLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxVQUFVLElBQUUsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLElBQUc7UUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7S0FBQztJQUFBLE9BQU0sQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQUEsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsSUFBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQUEsSUFBRyxDQUFDLENBQUMsY0FBYyxHQUFDLGNBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsVUFBVSxJQUFFLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUs7WUFBQyxPQUFPO1FBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO0tBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxnQkFBZ0IsSUFBRSxNQUFNLEtBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtRQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7U0FBSTtRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEdBQUcsR0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFDO1FBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFDLFNBQVMsRUFBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsRUFBQyxDQUFDO1FBQUEsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUM7UUFBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7YUFBQzs7Z0JBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsUUFBUSxJQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsVUFBVSxJQUFFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDO1FBQUMsSUFBRyxVQUFVLElBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CO1lBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO2dCQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztvQkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDO29CQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLElBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtpQkFBQztTQUFDO1FBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUM7U0FBQztLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7UUFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO2dCQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLE1BQU0sR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBRSxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQztRQUFFLENBQUMsRUFBRSxFQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUM7UUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQzs7UUFBSyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsS0FBSSxDQUFDLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxHQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFFO1FBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxtQkFBbUIsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFBO0tBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxjQUFXLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFBQztRQUFDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFJLENBQUMsTUFBTSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFO1FBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsSUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxJQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLEdBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsQ0FBQyxLQUFHLENBQUM7UUFBQyxJQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLFVBQVUsS0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBRSxVQUFVLEtBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFBO1NBQUM7YUFBSyxJQUFHLE1BQU0sS0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBRSxVQUFVLEtBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFDO1lBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDO2dCQUFDLE9BQU87WUFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsV0FBVyxJQUFFLE9BQU8sQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLElBQUUsVUFBVSxLQUFHLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLGFBQWEsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxVQUFVLEtBQUcsQ0FBQyxDQUFDLG1CQUFtQixDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxTQUFTLENBQUE7U0FBQztLQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxjQUFXLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsUUFBUSxJQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxJQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztnQkFBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsRUFBRTtZQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxHQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7UUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE9BQU8sQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFNLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxhQUFhLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsYUFBYSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUFBLElBQUksQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUFBLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFBQSxJQUFHLFVBQVUsS0FBRyxDQUFDLENBQUMsU0FBUyxFQUFDO1lBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtTQUFDOztZQUFLLENBQUMsR0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtLQUFDO1NBQUssSUFBRyxDQUFDLENBQUMsV0FBVyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtLQUFDO1NBQUssSUFBRyxDQUFDLENBQUMsa0JBQWtCLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBRyxDQUFDLENBQUM7WUFBQyxPQUFPO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7UUFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1lBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsQ0FBQyxJQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQztZQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUM7WUFBQSxNQUFLO1NBQUM7S0FBQyxDQUFBLElBQUksS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsZUFBZSxHQUFDLFVBQVMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQztRQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsYUFBYSxHQUFDLGNBQVcsT0FBTSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUMsRUFBRSxFQUFDO1FBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBQyxDQUFDLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFO1FBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLE9BQU8sQ0FBQyxLQUFHLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBQyxDQUFDLEdBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsVUFBUyxDQUFDLElBQUUsVUFBVSxLQUFHLENBQUMsQ0FBQyx5QkFBeUIsSUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFHLFVBQVUsS0FBRyxDQUFDLENBQUMseUJBQXlCO1FBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBLENBQUMsS0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsV0FBVyxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxjQUFXLE9BQU8sTUFBTSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7UUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLE1BQU0sR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxVQUFVLElBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUMsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsVUFBVSxHQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLElBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFD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QUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxjQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFDLE9BQU87UUFBQSxRQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBQztZQUFDLEtBQUksVUFBVTtnQkFBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxNQUFNO1lBQUEsS0FBSSxRQUFRLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQztRQUFBLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUE7S0FBQzs7UUFBSyxRQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBQztZQUFDLEtBQUksVUFBVTtnQkFBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFBQSxNQUFNO1lBQUEsS0FBSSxZQUFZLENBQUMsQ0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7U0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUM7UUFBQyxNQUFLLGtCQUFrQixDQUFDLENBQUEsSUFBRyxDQUFDLENBQUM7UUFBQyxNQUFLLGdCQUFnQixDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBLENBQUMsS0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsYUFBYSxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7WUFBQyxPQUFPO1FBQUEsUUFBTyxDQUFDLENBQUMsbUJBQW1CLEVBQUM7WUFBQyxLQUFJLFVBQVU7Z0JBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLEtBQUksUUFBUSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7UUFBQSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBO0tBQUM7O1FBQUssUUFBTyxDQUFDLENBQUMsbUJBQW1CLEVBQUM7WUFBQyxLQUFJLFVBQVU7Z0JBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLEtBQUksWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLHlCQUF5QixHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsaUJBQWlCLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFXLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUMsT0FBTztRQUFBLFFBQU8sQ0FBQyxDQUFDLHlCQUF5QixFQUFDO1lBQUMsS0FBSSxVQUFVLENBQUMsQ0FBQSxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7UUFBQSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsbUJBQW1CLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtLQUFDOztRQUFLLFFBQU8sQ0FBQyxDQUFDLHlCQUF5QixFQUFDO1lBQUMsS0FBSSxVQUFVO2dCQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLEtBQUksWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtTQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxjQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxjQUFXLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsZUFBZSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBRSxDQUFDLEtBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEtBQUssR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLGdCQUFnQixJQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxJQUFFLE9BQU8sT0FBTyxJQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsQ0FBQyxDQUFDLGNBQWMsSUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUUsVUFBVSxJQUFFLE9BQU8sa0JBQWtCLENBQUMsSUFBRSxDQUFDLFdBQVcsSUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsUUFBUSxLQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUMsTUFBTSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLElBQUksQ0FBQyxFQUFFLElBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPO1FBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFJO1FBQUMsSUFBRyxRQUFRLElBQUUsT0FBTyxJQUFJLENBQUMsRUFBRTtZQUFDLE1BQUssbUZBQW1GLENBQUM7UUFBQSxJQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQUMsTUFBSyxzREFBc0QsR0FBQyxFQUFFLEdBQUMsSUFBSSxDQUFBO0tBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUEsT0FBTyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFdBQVcsSUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxLQUFLLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsV0FBVyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUFDLE9BQU87UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUMsT0FBTztRQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQUMsT0FBTztRQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUFDLE9BQU87UUFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxJQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFBQyxPQUFPO1FBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUFDLE9BQU87UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUFDLE9BQU87UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFBQyxPQUFPO1FBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQUEsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFDO1FBQUMsSUFBRyxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQUM7UUFBQSxDQUFDLENBQUMsa0JBQWtCLEdBQUMsSUFBSSxDQUFBO0tBQUMsQ0FBQSxDQUFDLEVBQUMsUUFBUSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLFdBQVcsSUFBRSxPQUFPLE1BQU0sSUFBRSxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFXLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLElBQUksQ0FBQztZQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxLQUFHLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFDLENBQUMsUUFBUSxFQUFDLFVBQVMsQ0FBQyxJQUFFLE9BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxFQUFDLFVBQVUsRUFBQyxhQUFhLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQztnQkFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUUsQ0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLFVBQVMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztnQkFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLENB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Q0FBQyxpQkFBaUIsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsR0FBRyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsWUFBWSxLQUFHLElBQUksQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFBLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsZUFBZSxHQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxHQUFHLElBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsT0FBTyxJQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLEdBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxPQUFPLENBQUMsS0FBRyxDQUFDLENBQUMsR0FBRyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxJQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxNQUFNLEtBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLFlBQVksS0FBRyxJQUFJLENBQUMsV0FBVztRQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDO1NBQUk7UUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFDLElBQUksQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLElBQUksQ0FBQyxlQUFlO1FBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxRQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBQztnQkFBQyxLQUFJLE1BQU07b0JBQUMsQ0FBQyxHQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUFBLE1BQU07Z0JBQUEsS0FBSSxJQUFJO29CQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQUEsTUFBTTtnQkFBQSxLQUFJLFNBQVM7b0JBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFBQSxNQUFNO2dCQUFBLE9BQU8sQ0FBQyxDQUFBLE1BQUssb0NBQW9DLENBQUE7YUFBQztZQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxRQUFRLEdBQUMsQ0FBQyxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO1FBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsZUFBZSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxJQUFJLENBQUMsZUFBZSxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLFFBQVEsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQztZQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRSxNQUFNLEtBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUcsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsT0FBTyxLQUFHLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQUMsQ0FBQyxHQUFDLENBQUMsSUFBRSxDQUFDLENBQUM7aUJBQUssSUFBRyxLQUFLLEtBQUcsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFBQyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUFLLElBQUcsTUFBTSxLQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUcsQ0FBQyxDQUFDO2dCQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUE7YUFBQztZQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFBLENBQUMsQ0FBQSxXQUFXLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFBLENBQUMsQ0FBQSxVQUFVLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFFLENBQUMsSUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLENBQUMsRUFBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFFLENBQUMsS0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBQyxJQUFJLENBQUM7WUFBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFDLFVBQVUsSUFBRSxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsRUFBQztnQkFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7Z0JBQUEsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLElBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBRSxDQUFDLEtBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsSUFBSSxJQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTthQUFDO1lBQUEsSUFBRyxDQUFDLElBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLElBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsSUFBRSxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsSUFBRSxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQUM7WUFBQSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUFDO0tBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU0sRUFBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLElBQUksQ0FBQyxLQUFLO1FBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQyxFQUFFO1lBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUU7Z0JBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBQztvQkFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxDQUFDLElBQUUsQ0FBQyxDQUFDLEtBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7aUJBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxPQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksSUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLFFBQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDO1FBQUMsS0FBSSxLQUFLO1lBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUM7WUFBQSxNQUFNO1FBQUEsS0FBSSxNQUFNO1lBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQSxNQUFNO1FBQUEsS0FBSSxPQUFPO1lBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQUEsTUFBTTtRQUFBLEtBQUksTUFBTTtZQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDO1lBQUEsTUFBTTtRQUFBLE9BQU8sQ0FBQyxDQUFBLE1BQUssMkJBQTJCLENBQUE7S0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFBQyxPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLFFBQVEsSUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLFNBQVMsSUFBRSxPQUFPLENBQUMsSUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLElBQUksQ0FBQyxZQUFZLEdBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQUEsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBRSxJQUFJLENBQUMsY0FBYyxJQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsS0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxNQUFNLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQywwRkFBMEYsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQztRQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLGdGQUFnRixDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLENBQUMsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsRUFBQyxRQUFRLEVBQUMsRUFBQyxTQUFTLEVBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLEVBQUMsQ0FBQztRQUFBLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO2FBQUM7O2dCQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLFFBQVEsSUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7S0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsVUFBVSxJQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQztRQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQzs7UUFBSSxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxJQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsU0FBUyxLQUFHLENBQUMsSUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLEdBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksS0FBRyxJQUFJLENBQUMsY0FBYyxJQUFFLElBQUksS0FBRyxJQUFJLENBQUMsWUFBWSxJQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxHQUFHLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLE1BQU07WUFBQyxPQUFPLENBQUMsQ0FBQTtLQUFDLENBQUEsT0FBTyxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxJQUFJLEtBQUcsQ0FBQztRQUFDLE9BQU8sSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsR0FBRyxJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUM7UUFBQyxPQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUU7UUFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVTtnQkFBQyxPQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxDQUFBO1NBQUMsQ0FBQSxPQUFPLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxDQUFDLHdCQUF3QixFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsS0FBSyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDLEdBQUc7WUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQzthQUFLLElBQUcsQ0FBQyxFQUFDO1lBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUFBLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7UUFBQSxDQUFDLENBQUMsR0FBRyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLGNBQVcsSUFBRyxDQUFDLENBQUMsS0FBSyxFQUFDO1FBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRTtZQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLEVBQUUsQ0FBQTtLQUFDLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDO1FBQUMsSUFBRyxDQUFDLEtBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBRSxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDO1lBQUMsQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUM7WUFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUE7U0FBQztRQUFBLEtBQUksQ0FBQyxDQUFDLEtBQUssR0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFFO1lBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUM7Z0JBQUMsT0FBTztZQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUM7UUFBQSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxVQUFTLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUcsQ0FBQyxZQUFZLENBQUM7UUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLElBQUcsUUFBUSxJQUFFLE9BQU8sQ0FBQyxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQzs7UUFBSyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFHLENBQUMsQ0FBQyxLQUFLLElBQUUsSUFBSSxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUM7UUFBQyxPQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsT0FBTyxHQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRTtRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFBQSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsY0FBVyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQztRQUFDLE9BQU0sRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUM7UUFBQyxPQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxPQUFNLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxFQUFDLENBQUE7S0FBQyxDQUFBLE9BQU8sSUFBSSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxlQUFlLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRTtRQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUFBLElBQUcsQ0FBQyxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFBQSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxVQUFTLENBQUMsSUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUMsQ0FB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RUFBRSxJQUFFLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDO2dCQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxFQUFDLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRTtvQkFBQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO3dCQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksS0FBRyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7cUJBQUM7Z0JBQUEsQ0FBQyxDQUFDLGNBQWMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLE9BQU8sQ0FBQyxDQUFBLE1BQUssb0JBQW9CLENBQUE7U0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7S0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFD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QUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsWUFBWSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxHQUFDLGNBQVcsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUMsY0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxVQUFVLElBQUUsT0FBTyxDQUFDLENBQUMsb0JBQW9CLElBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7WUFBQyxPQUFPO1FBQUEsUUFBTyxJQUFJLENBQUMsMkJBQTJCLEVBQUM7WUFBQyxLQUFJLFVBQVU7Z0JBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFBLE1BQU07WUFBQSxLQUFJLFVBQVU7Z0JBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFBLE1BQU07WUFBQSxLQUFJLFVBQVUsQ0FBQztTQUFDO1FBQUEsVUFBVSxJQUFFLE9BQU8sQ0FBQyxDQUFDLHFCQUFxQixJQUFFLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFDOztRQUFLLFFBQU8sSUFBSSxDQUFDLDJCQUEyQixFQUFDO1lBQUMsS0FBSSxVQUFVO2dCQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFBQSxNQUFNO1lBQUEsS0FBSSxVQUFVO2dCQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFBQSxNQUFNO1lBQUEsS0FBSSxZQUFZO2dCQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsTUFBTTtZQUFBLEtBQUksVUFBVSxDQUFDO1NBQUMsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLDJCQUEyQixHQUFDLFVBQVMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUUsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsY0FBVyxJQUFHLFlBQVksS0FBRyxJQUFJLENBQUMsV0FBVyxFQUFDO1FBQUMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQUM7UUFBQSxPQUFPLENBQUMsQ0FBQTtLQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7UUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxNQUFNLENBQUE7S0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7UUFBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFDLENBQUMsS0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEtBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxLQUFHLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFDLENBQUMsS0FBRyxJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsRUFBQyxZQUFZLEtBQUcsSUFBSSxDQUFDLFdBQVcsSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxLQUFHLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxjQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUMsY0FBVyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxjQUFXLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUMsY0FBVyxJQUFHLE1BQU0sS0FBRyxDQUFDLENBQUMsVUFBVSxFQUFDO1FBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQUEsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQTtLQUFDLENBQUEsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFBLENBQUEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsY0FBVyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUEsT0FBTyxDQUFDLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxjQUFXLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FBQyxDQUFBLElBQUksQ0FBQyxRQUFRLEdBQUMsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsY0FBVyxPQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFFLENBQUMsV0FBVyxJQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsTUFBTSxHQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLGNBQVcsSUFBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUM7UUFBQyxJQUFJLENBQUMsS0FBSyxHQUFDLEVBQUUsQ0FBQztRQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFBQyxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBO2FBQUM7U0FBQztLQUFDLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFDLFVBQVUsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsVUFBUyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsY0FBVyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxjQUFXLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsSUFBRyxJQUFJLENBQUMsRUFBRSxJQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTztRQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FBSTtRQUFDLElBQUcsUUFBUSxJQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUU7WUFBQyxNQUFLLHVGQUF1RixDQUFDO1FBQUEsSUFBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztZQUFDLE1BQUssMERBQTBELEdBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQTtLQUFDLENBQUEsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQSxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxHQUFDLGNBQVcsSUFBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBQztRQUFDLENBQUMsQ0FBQyxPQUFPLElBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlFQUF5RSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQUEsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLENBQUE7S0FBQyxDQUFBLENBQUMsRUFBQyxJQUFJLENBQUMsRUFBRSxHQUFDLGNBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxjQUFXLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxLQUFLLElBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFBQSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBQSxDQUFDLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBQyxDQUFDLENBQUMsWUFBWSxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLFlBQVksR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQTtLQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxjQUFXLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLElBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxjQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQSxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsV0FBVyxJQUFFLE9BQU8sTUFBTSxJQUFFLENBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBVyxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztRQUFDLElBQUksQ0FBQyxHQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQztRQUFBLEtBQUksSUFBSSxDQUFDLElBQUksQ0FBQztZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxLQUFHLElBQUksQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUMsQ0FBQyxRQUFRLEVBQUMsVUFBUyxDQUFDLElBQUUsT0FBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLEVBQUMsVUFBVSxFQUFDLHlCQUF5QixFQUFDLFNBQVMsRUFBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBUyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLEVBQUM7Z0JBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTthQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUFDLElBQUcsQ0FBQyxLQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7b0JBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLFVBQVMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxVQUFTLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxVQUFTLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxVQUFTLENBQUMsRUFBQyxDQUFDLElBQUUsS0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsVUFBUyxDQUFDLElBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsRUFBRSxFQUFDLFdBQVcsSUFBRSxPQUFPLEdBQUcsSUFBRSxHQUFHLENBQUMsV0FBVyxJQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLElBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0NBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQHRzLW5vY2hlY2tcclxuLypcclxuQ29weXJpZ2h0IMKpIDIwMjEgQW5ucG9pbnQsIHMuci5vLlxyXG5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcclxueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcclxuXHJcbmh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG5cclxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuTk9URTogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQgKHNlZSBhbHNvIE5PVElDRSk6XHJcblRoaXMgc29mdHdhcmUgaW5jbHVkZXMgRGF5UGlsb3QgKGh0dHBzOi8vd3d3LmRheXBpbG90Lm9yZykuXHJcbiovXHJcblxyXG50eXBlIEdsb2JhbERhdGUgPSBEYXRlO1xyXG5cclxuZXhwb3J0IG1vZHVsZSBEYXlQaWxvdCB7XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIENhbGVuZGFyUHJvcHNBbmRFdmVudHMge1xyXG4gICAgICAgIGJhY2tlbmRVcmw/OiBzdHJpbmc7XHJcbiAgICAgICAgYnVzaW5lc3NCZWdpbnNIb3VyPzogbnVtYmVyO1xyXG4gICAgICAgIGJ1c2luZXNzRW5kc0hvdXI/OiBudW1iZXI7XHJcbiAgICAgICAgY2VsbEhlaWdodD86IG51bWJlcjtcclxuICAgICAgICBjb2x1bW5NYXJnaW5SaWdodD86IG51bWJlcjtcclxuICAgICAgICBkYXlzPzogbnVtYmVyO1xyXG4gICAgICAgIGRvdWJsZUNsaWNrVGltZW91dD86IG51bWJlcjtcclxuICAgICAgICBkdXJhdGlvbkJhclZpc2libGU/OiBib29sZWFuO1xyXG4gICAgICAgIGV2ZW50Q2xpY2tIYW5kbGluZz86IFwiRW5hYmxlZFwiIHwgXCJEaXNhYmxlZFwiIHwgXCJDYWxsQmFja1wiIHwgXCJFZGl0XCIgfCBcIlNlbGVjdFwiIHwgXCJDb250ZXh0TWVudVwiIHwgXCJCdWJibGVcIjtcclxuICAgICAgICBldmVudERlbGV0ZUhhbmRsaW5nPzogXCJVcGRhdGVcIiB8IFwiRGlzYWJsZWRcIiB8IFwiQ2FsbEJhY2tcIjtcclxuICAgICAgICBldmVudE1vdmVIYW5kbGluZz86IFwiVXBkYXRlXCIgfCBcIkNhbGxCYWNrXCIgfCBcIk5vdGlmeVwiIHwgXCJEaXNhYmxlZFwiO1xyXG4gICAgICAgIGV2ZW50UmVzaXplSGFuZGxpbmc/OiBcIlVwZGF0ZVwiIHwgXCJDYWxsQmFja1wiIHwgXCJOb3RpZnlcIiB8IFwiRGlzYWJsZWRcIjtcclxuICAgICAgICBoZWFkZXJIZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAgICAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIGhlaWdodFNwZWM/OiBcIkJ1c2luZXNzSG91cnNcIiB8IFwiQnVzaW5lc3NIb3Vyc05vU2Nyb2xsXCIgfCBcIkZpeGVkXCIgfCBcIkZ1bGxcIiB8IFwiUGFyZW50MTAwUGN0XCI7XHJcbiAgICAgICAgaGlkZVVudGlsSW5pdD86IGJvb2xlYW47XHJcbiAgICAgICAgaG91cldpZHRoPzogbnVtYmVyO1xyXG4gICAgICAgIGluaXRTY3JvbGxQb3M/OiBudW1iZXI7XHJcbiAgICAgICAgbG9hZGluZ0xhYmVsVGV4dD86IHN0cmluZztcclxuICAgICAgICBsb2FkaW5nTGFiZWxIdG1sPzogc3RyaW5nO1xyXG4gICAgICAgIGxvYWRpbmdMYWJlbFZpc2libGU/OiBib29sZWFuO1xyXG4gICAgICAgIGxvY2FsZT86IHN0cmluZztcclxuICAgICAgICBzaG93VG9vbFRpcD86IGJvb2xlYW47XHJcbiAgICAgICAgc3RhcnREYXRlPzogRGF5UGlsb3QuRGF0ZSB8IHN0cmluZztcclxuICAgICAgICB0aGVtZT86IHN0cmluZztcclxuICAgICAgICB0aW1lRm9ybWF0PzogXCJBdXRvXCIgfCBcIkNsb2NrMTJIb3Vyc1wiIHwgXCJDbG9jazI0SG91cnNcIjtcclxuICAgICAgICB0aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPzogXCJFbmFibGVkXCIgfCBcIkRpc2FibGVkXCIgfCBcIkNhbGxCYWNrXCI7XHJcbiAgICAgICAgdmlld1R5cGU/OiBcIkRheVwiIHwgXCJEYXlzXCIgfCBcIldlZWtcIiB8IFwiV29ya1dlZWtcIjtcclxuICAgICAgICB2aXNpYmxlPzogYm9vbGVhbjtcclxuICAgICAgICAvLyB3ZWVrU3RhcnRzPzogXCJBdXRvXCIgfCBudW1iZXI7XHJcbiAgICAgICAgeHNzUHJvdGVjdGlvbj86IFwiRW5hYmxlZFwiIHwgXCJEaXNhYmxlZFwiO1xyXG5cclxuICAgICAgICBvbkV2ZW50Q2xpY2s/OiBFdmVudEhhbmRsZXI8Q2FsZW5kYXJFdmVudENsaWNrQXJncz47XHJcbiAgICAgICAgb25FdmVudENsaWNrZWQ/OiBFdmVudEhhbmRsZXI8Q2FsZW5kYXJFdmVudENsaWNrZWRBcmdzPjtcclxuICAgICAgICBvbkV2ZW50RGVsZXRlPzogRXZlbnRIYW5kbGVyPENhbGVuZGFyRXZlbnREZWxldGVBcmdzPjtcclxuICAgICAgICBvbkV2ZW50RGVsZXRlZD86IEV2ZW50SGFuZGxlcjxDYWxlbmRhckV2ZW50RGVsZXRlZEFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRNb3ZlPzogRXZlbnRIYW5kbGVyPENhbGVuZGFyRXZlbnRNb3ZlQXJncz47XHJcbiAgICAgICAgb25FdmVudE1vdmVkPzogRXZlbnRIYW5kbGVyPENhbGVuZGFyRXZlbnRNb3ZlZEFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRSZXNpemU/OiBFdmVudEhhbmRsZXI8Q2FsZW5kYXJFdmVudFJlc2l6ZUFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRSZXNpemVkPzogRXZlbnRIYW5kbGVyPENhbGVuZGFyRXZlbnRSZXNpemVkQXJncz47XHJcbiAgICAgICAgb25UaW1lUmFuZ2VTZWxlY3Q/OiBFdmVudEhhbmRsZXI8Q2FsZW5kYXJUaW1lUmFuZ2VTZWxlY3RBcmdzPjtcclxuICAgICAgICBvblRpbWVSYW5nZVNlbGVjdGVkPzogRXZlbnRIYW5kbGVyPENhbGVuZGFyVGltZVJhbmdlU2VsZWN0ZWRBcmdzPjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29uZmlnIGV4dGVuZHMgQ2FsZW5kYXJQcm9wc0FuZEV2ZW50cyB7XHJcbiAgICAgICAgZXZlbnRzPzogRXZlbnREYXRhW107XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIENhbGVuZGFyIGV4dGVuZHMgQ2FsZW5kYXJQcm9wc0FuZEV2ZW50cyB7XHJcbiAgICAgICAgdjogc3RyaW5nO1xyXG4gICAgICAgIGV2ZW50czoge1xyXG4gICAgICAgICAgICBsaXN0OiBFdmVudERhdGFbXTtcclxuICAgICAgICAgICAgYWRkKGU6IERheVBpbG90LkV2ZW50IHwgRXZlbnREYXRhKTogdm9pZDtcclxuICAgICAgICAgICAgZmluZChpZDogc3RyaW5nKTogRGF5UGlsb3QuRXZlbnQ7XHJcbiAgICAgICAgICAgIGxvYWQodXJsOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgc3VjY2VzczogKGFyZ3M6IHsgZGF0YTogYW55OyBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkOyB9KSA9PiB2b2lkLFxyXG4gICAgICAgICAgICAgICAgIGVycm9yOiAoYXJnczogeyByZXF1ZXN0OiBYTUxIdHRwUmVxdWVzdCwgZXhjZXB0aW9uOiBhbnk7IH0pID0+IHZvaWRcclxuICAgICAgICAgICAgKTogdm9pZDtcclxuICAgICAgICAgICAgcmVtb3ZlKGU6IERheVBpbG90LkV2ZW50KTogdm9pZDtcclxuICAgICAgICAgICAgcmVtb3ZlKGlkOiBFdmVudElkKTogdm9pZDtcclxuICAgICAgICAgICAgdXBkYXRlKGU6IERheVBpbG90LkV2ZW50IHwgRXZlbnREYXRhKTogdm9pZDtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nIHwgSFRNTEVsZW1lbnQsIG9wdGlvbnM/OiBDYWxlbmRhckNvbmZpZyk7XHJcblxyXG4gICAgICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQ7XHJcblxyXG4gICAgICAgIGRpc3Bvc2UoKTogdm9pZDtcclxuXHJcbiAgICAgICAgZ2V0U2VsZWN0aW9uKCk6IERheVBpbG90LlNlbGVjdGlvbjtcclxuXHJcbiAgICAgICAgaGlkZSgpOiB2b2lkO1xyXG5cclxuICAgICAgICBpbml0KCk6IHZvaWQ7XHJcblxyXG4gICAgICAgIHNob3coKTogdm9pZDtcclxuXHJcbiAgICAgICAgdXBkYXRlKG9wdGlvbnM/OiBDYWxlbmRhckNvbmZpZyk6IHZvaWQ7XHJcblxyXG4gICAgICAgIHZpc2libGVTdGFydCgpOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICB2aXNpYmxlRW5kKCk6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnRDbGlja0FyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90LkNhbGVuZGFyO1xyXG4gICAgICAgIHJlYWRvbmx5IGN0cmw6IGJvb2xlYW47XHJcbiAgICAgICAgcmVhZG9ubHkgbWV0YTogYm9vbGVhbjtcclxuICAgICAgICByZWFkb25seSBvcmlnaW5hbEV2ZW50OiBNb3VzZUV2ZW50O1xyXG4gICAgICAgIHByZXZlbnREZWZhdWx0KCk6IHZvaWQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudENsaWNrZWRBcmdzIHtcclxuICAgICAgICByZWFkb25seSBlOiBEYXlQaWxvdC5FdmVudDtcclxuICAgICAgICByZWFkb25seSBjb250cm9sOiBEYXlQaWxvdC5DYWxlbmRhcjtcclxuICAgICAgICByZWFkb25seSBjdHJsOiBib29sZWFuO1xyXG4gICAgICAgIHJlYWRvbmx5IG1ldGE6IGJvb2xlYW47XHJcbiAgICAgICAgcmVhZG9ubHkgb3JpZ2luYWxFdmVudDogTW91c2VFdmVudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckV2ZW50RGVsZXRlQXJncyB7XHJcbiAgICAgICAgcmVhZG9ubHkgZTogRGF5UGlsb3QuRXZlbnQ7XHJcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbDogRGF5UGlsb3QuQ2FsZW5kYXI7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQoKTogdm9pZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckV2ZW50RGVsZXRlZEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90LkNhbGVuZGFyO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRXZlbnRNb3ZlQXJncyB7XHJcbiAgICAgICAgcmVhZG9ubHkgZTogRGF5UGlsb3QuRXZlbnQ7XHJcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbDogRGF5UGlsb3QuQ2FsZW5kYXI7XHJcbiAgICAgICAgcmVhZG9ubHkgbmV3U3RhcnQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgbmV3RW5kOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGN0cmw6IGJvb2xlYW47XHJcbiAgICAgICAgcmVhZG9ubHkgc2hpZnQ6IGJvb2xlYW47XHJcblxyXG4gICAgICAgIHByZXZlbnREZWZhdWx0KCk6IHZvaWQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudE1vdmVkQXJncyB7XHJcbiAgICAgICAgcmVhZG9ubHkgZTogRGF5UGlsb3QuRXZlbnQ7XHJcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbDogRGF5UGlsb3QuQ2FsZW5kYXI7XHJcbiAgICAgICAgcmVhZG9ubHkgbmV3U3RhcnQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgbmV3RW5kOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGN0cmw6IGJvb2xlYW47XHJcbiAgICAgICAgcmVhZG9ubHkgc2hpZnQ6IGJvb2xlYW47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJFdmVudFJlc2l6ZUFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90LkNhbGVuZGFyO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld1N0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld0VuZDogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgcHJldmVudERlZmF1bHQoKTogdm9pZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckV2ZW50UmVzaXplZEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90LkNhbGVuZGFyO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld1N0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld0VuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclRpbWVSYW5nZVNlbGVjdEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IHN0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGVuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBjb250cm9sOiBEYXlQaWxvdC5DYWxlbmRhcjtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVGltZVJhbmdlU2VsZWN0ZWRBcmdzIHtcclxuICAgICAgICByZWFkb25seSBzdGFydDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBlbmQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbDogRGF5UGlsb3QuQ2FsZW5kYXI7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE1vbnRoUHJvcHNBbmRFdmVudHMge1xyXG4gICAgICAgIGJhY2tlbmRVcmw/OiBzdHJpbmc7XHJcbiAgICAgICAgY2VsbEhlYWRlckhlaWdodD86IG51bWJlcjtcclxuICAgICAgICBjZWxsSGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIGV2ZW50Q2xpY2tIYW5kbGluZz86IFwiRW5hYmxlZFwiIHwgXCJEaXNhYmxlZFwiIHwgXCJDYWxsQmFja1wiIHwgXCJTZWxlY3RcIiB8IFwiQ29udGV4dE1lbnVcIiB8IFwiQnViYmxlXCI7XHJcbiAgICAgICAgZXZlbnRIZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAgICAgZXZlbnRNb3ZlSGFuZGxpbmc/OiBcIlVwZGF0ZVwiIHwgXCJDYWxsQmFja1wiIHwgXCJOb3RpZnlcIiB8IFwiRGlzYWJsZWRcIjtcclxuICAgICAgICBldmVudFJlc2l6ZUhhbmRsaW5nPzogXCJVcGRhdGVcIiB8IFwiQ2FsbEJhY2tcIiB8IFwiTm90aWZ5XCIgfCBcIkRpc2FibGVkXCI7XHJcbiAgICAgICAgaGVhZGVySGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIGhpZGVVbnRpbEluaXQ/OiBib29sZWFuO1xyXG4gICAgICAgIGxpbmVTcGFjZT86IG51bWJlcjtcclxuICAgICAgICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgICAgICAgc2hvd1Rvb2xUaXA/OiBib29sZWFuO1xyXG4gICAgICAgIHN0YXJ0RGF0ZT86IERheVBpbG90LkRhdGUgfCBzdHJpbmc7XHJcbiAgICAgICAgdGhlbWU/OiBzdHJpbmc7XHJcbiAgICAgICAgdGltZVJhbmdlU2VsZWN0ZWRIYW5kbGluZz86IFwiRW5hYmxlZFwiIHwgXCJEaXNhYmxlZFwiIHwgXCJDYWxsQmFja1wiO1xyXG4gICAgICAgIHZpc2libGU/OiBib29sZWFuO1xyXG4gICAgICAgIHdlZWtTdGFydHM/OiBudW1iZXI7XHJcbiAgICAgICAgd2lkdGg/OiBzdHJpbmc7XHJcblxyXG4gICAgICAgIG9uRXZlbnRDbGljaz86IEV2ZW50SGFuZGxlcjxNb250aEV2ZW50Q2xpY2tBcmdzPjtcclxuICAgICAgICBvbkV2ZW50Q2xpY2tlZD86IEV2ZW50SGFuZGxlcjxNb250aEV2ZW50Q2xpY2tlZEFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRNb3ZlPzogRXZlbnRIYW5kbGVyPE1vbnRoRXZlbnRNb3ZlQXJncz47XHJcbiAgICAgICAgb25FdmVudE1vdmVkPzogRXZlbnRIYW5kbGVyPE1vbnRoRXZlbnRNb3ZlZEFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRSZXNpemU/OiBFdmVudEhhbmRsZXI8TW9udGhFdmVudFJlc2l6ZUFyZ3M+O1xyXG4gICAgICAgIG9uRXZlbnRSZXNpemVkPzogRXZlbnRIYW5kbGVyPE1vbnRoRXZlbnRSZXNpemVkQXJncz47XHJcbiAgICAgICAgb25UaW1lUmFuZ2VTZWxlY3Q/OiBFdmVudEhhbmRsZXI8TW9udGhUaW1lUmFuZ2VTZWxlY3RBcmdzPjtcclxuICAgICAgICBvblRpbWVSYW5nZVNlbGVjdGVkPzogRXZlbnRIYW5kbGVyPE1vbnRoVGltZVJhbmdlU2VsZWN0ZWRBcmdzPjtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgY2xhc3MgTW9udGhDb25maWcgZXh0ZW5kcyBNb250aFByb3BzQW5kRXZlbnRzIHtcclxuICAgICAgICBldmVudHM/OiBFdmVudERhdGE7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBNb250aCBleHRlbmRzIE1vbnRoUHJvcHNBbmRFdmVudHMge1xyXG4gICAgICAgIHY6IHN0cmluZztcclxuICAgICAgICBldmVudHM6IHtcclxuICAgICAgICAgICAgbGlzdDogRXZlbnREYXRhW107XHJcbiAgICAgICAgICAgIGFkZChlOiBEYXlQaWxvdC5FdmVudCB8IEV2ZW50RGF0YSk6IHZvaWQ7XHJcbiAgICAgICAgICAgIGxvYWQodXJsOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgc3VjY2VzczogKGFyZ3M6IHsgZGF0YTogYW55OyBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkOyB9KSA9PiB2b2lkLFxyXG4gICAgICAgICAgICAgICAgIGVycm9yOiAoYXJnczogeyByZXF1ZXN0OiBYTUxIdHRwUmVxdWVzdCwgZXhjZXB0aW9uOiBhbnk7IH0pID0+IHZvaWRcclxuICAgICAgICAgICAgKTogdm9pZDtcclxuICAgICAgICAgICAgcmVtb3ZlKGU6IERheVBpbG90LkV2ZW50KTogdm9pZDtcclxuICAgICAgICAgICAgdXBkYXRlKGU6IERheVBpbG90LkV2ZW50KTogdm9pZDtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nIHwgSFRNTEVsZW1lbnQsIG9wdGlvbnM/OiBNb250aENvbmZpZyk7XHJcblxyXG4gICAgICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQ7XHJcblxyXG4gICAgICAgIGRpc3Bvc2UoKTogdm9pZDtcclxuXHJcbiAgICAgICAgaW5pdCgpOiB2b2lkO1xyXG5cclxuICAgICAgICBzaG93KCk6IHZvaWQ7XHJcblxyXG4gICAgICAgIGhpZGUoKTogdm9pZDtcclxuXHJcbiAgICAgICAgdXBkYXRlKG9wdGlvbnM/OiBNb250aENvbmZpZyk6IHZvaWQ7XHJcblxyXG4gICAgICAgIHZpc2libGVTdGFydCgpOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICB2aXNpYmxlRW5kKCk6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIE1vbnRoRXZlbnRDbGlja0FyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90Lk1vbnRoO1xyXG4gICAgICAgIHJlYWRvbmx5IGRpdjogSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgcmVhZG9ubHkgb3JpZ2luYWxFdmVudDogTW91c2VFdmVudDtcclxuICAgICAgICByZWFkb25seSBtZXRhOiBib29sZWFuO1xyXG4gICAgICAgIHJlYWRvbmx5IGN0cmw6IGJvb2xlYW47XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQoKTogdm9pZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb250aEV2ZW50Q2xpY2tlZEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90Lk1vbnRoO1xyXG4gICAgICAgIHJlYWRvbmx5IGRpdjogSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgcmVhZG9ubHkgb3JpZ2luYWxFdmVudDogTW91c2VFdmVudDtcclxuICAgICAgICByZWFkb25seSBtZXRhOiBib29sZWFuO1xyXG4gICAgICAgIHJlYWRvbmx5IGN0cmw6IGJvb2xlYW47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgTW9udGhFdmVudE1vdmVBcmdzIHtcclxuICAgICAgICByZWFkb25seSBlOiBEYXlQaWxvdC5FdmVudDtcclxuICAgICAgICByZWFkb25seSBjb250cm9sOiBEYXlQaWxvdC5Nb250aDtcclxuICAgICAgICByZWFkb25seSBuZXdTdGFydDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBuZXdFbmQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgY3RybDogYm9vbGVhbjtcclxuICAgICAgICByZWFkb25seSBzaGlmdDogYm9vbGVhbjtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIE1vbnRoRXZlbnRNb3ZlZEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90Lk1vbnRoO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld1N0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld0VuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBjdHJsOiBib29sZWFuO1xyXG4gICAgICAgIHJlYWRvbmx5IHNoaWZ0OiBib29sZWFuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIE1vbnRoRXZlbnRSZXNpemVBcmdzIHtcclxuICAgICAgICByZWFkb25seSBlOiBEYXlQaWxvdC5FdmVudDtcclxuICAgICAgICByZWFkb25seSBjb250cm9sOiBEYXlQaWxvdC5Nb250aDtcclxuICAgICAgICByZWFkb25seSBuZXdTdGFydDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBuZXdFbmQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQoKTogdm9pZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb250aEV2ZW50UmVzaXplZEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGU6IERheVBpbG90LkV2ZW50O1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90Lk1vbnRoO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld1N0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IG5ld0VuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb250aFRpbWVSYW5nZVNlbGVjdEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2w6IERheVBpbG90Lk1vbnRoO1xyXG4gICAgICAgIHJlYWRvbmx5IHN0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGVuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIE1vbnRoVGltZVJhbmdlU2VsZWN0ZWRBcmdzIHtcclxuICAgICAgICByZWFkb25seSBjb250cm9sOiBEYXlQaWxvdC5Nb250aDtcclxuICAgICAgICByZWFkb25seSBzdGFydDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBlbmQ6IERheVBpbG90LkRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE5hdmlnYXRvclByb3BzQW5kRXZlbnRzIHtcclxuICAgICAgICBjZWxsSGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIGNlbGxXaWR0aD86IG51bWJlcjtcclxuICAgICAgICBjb21tYW5kPzogc3RyaW5nO1xyXG4gICAgICAgIGRheUhlYWRlckhlaWdodD86IG51bWJlcjtcclxuICAgICAgICBmcmVlSGFuZFNlbGVjdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgICAgIGxvY2FsZT86IHN0cmluZztcclxuICAgICAgICBvcmllbnRhdGlvbj86IFwiVmVydGljYWxcIiB8IFwiSG9yaXpvbnRhbFwiO1xyXG4gICAgICAgIHJvd3NQZXJNb250aD86IFwiQXV0b1wiIHwgXCJTaXhcIjtcclxuICAgICAgICBzZWxlY3Rpb25EYXk/OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHNlbGVjdGlvbkVuZD86IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgc2VsZWN0aW9uU3RhcnQ/OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHNlbGVjdE1vZGU/OiBcIkRheVwiIHwgXCJXZWVrXCIgfCBcIk1vbnRoXCIgfCBcIk5vbmVcIjtcclxuICAgICAgICBzaG93TW9udGhzPzogbnVtYmVyO1xyXG4gICAgICAgIHNob3dXZWVrTnVtYmVycz86IGJvb2xlYW47XHJcbiAgICAgICAgc2tpcE1vbnRocz86IG51bWJlcjtcclxuICAgICAgICBzdGFydERhdGU/OiBEYXlQaWxvdC5EYXRlIHwgc3RyaW5nO1xyXG4gICAgICAgIHRoZW1lPzogc3RyaW5nO1xyXG4gICAgICAgIHRpdGxlSGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIHdlZWtTdGFydHM/OiBcIkF1dG9cIiB8IG51bWJlcjtcclxuICAgICAgICB3ZWVrTnVtYmVyQWxnb3JpdGhtPzogXCJBdXRvXCIgfCBcIlVTXCIgfCBcIklTTzg2MDFcIjtcclxuICAgICAgICB0aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPzogXCJCaW5kXCIgfCBcIk5vbmVcIjtcclxuICAgICAgICB2aXNpYmxlUmFuZ2VDaGFuZ2VkSGFuZGxpbmc/OiBcIkVuYWJsZWRcIiB8IFwiRGlzYWJsZWRcIiB8IFwiQ2FsbEJhY2tcIjtcclxuXHJcbiAgICAgICAgb25CZWZvcmVDZWxsUmVuZGVyPzogRXZlbnRIYW5kbGVyPE5hdmlnYXRvckJlZm9yZUNlbGxSZW5kZXJBcmdzPjtcclxuICAgICAgICBvblRpbWVSYW5nZVNlbGVjdD86IEV2ZW50SGFuZGxlcjxOYXZpZ2F0b3JUaW1lUmFuZ2VTZWxlY3RBcmdzPjtcclxuICAgICAgICBvblRpbWVSYW5nZVNlbGVjdGVkPzogRXZlbnRIYW5kbGVyPE5hdmlnYXRvclRpbWVSYW5nZVNlbGVjdGVkQXJncz47XHJcbiAgICAgICAgb25WaXNpYmxlUmFuZ2VDaGFuZ2U/OiBFdmVudEhhbmRsZXI8TmF2aWdhdG9yVmlzaWJsZVJhbmdlQ2hhbmdlQXJncz47XHJcbiAgICAgICAgb25WaXNpYmxlUmFuZ2VDaGFuZ2VkPzogRXZlbnRIYW5kbGVyPE5hdmlnYXRvclZpc2libGVSYW5nZUNoYW5nZWRBcmdzPjtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgY2xhc3MgTmF2aWdhdG9yQ29uZmlnIGV4dGVuZHMgTmF2aWdhdG9yUHJvcHNBbmRFdmVudHMge1xyXG4gICAgICAgIGV2ZW50cz86IEV2ZW50RGF0YVtdO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBOYXZpZ2F0b3IgZXh0ZW5kcyBOYXZpZ2F0b3JQcm9wc0FuZEV2ZW50cyB7XHJcbiAgICAgICAgdjogc3RyaW5nO1xyXG4gICAgICAgIGV2ZW50czoge1xyXG4gICAgICAgICAgICBsaXN0OiBFdmVudERhdGFTaG9ydFtdO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcgfCBIVE1MRWxlbWVudCwgb3B0aW9ucz86IE5hdmlnYXRvckNvbmZpZyk7XHJcblxyXG4gICAgICAgIGluaXQoKTogdm9pZDtcclxuXHJcbiAgICAgICAgZGlzcG9zZSgpOiB2b2lkO1xyXG5cclxuICAgICAgICB1cGRhdGUob3B0aW9ucz86IE5hdmlnYXRvckNvbmZpZyk6IHZvaWQ7XHJcblxyXG4gICAgICAgIHNlbGVjdChkYXRlOiBEYXlQaWxvdC5EYXRlIHwgc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgICAgICAgaGlkZSgpOiB2b2lkO1xyXG5cclxuICAgICAgICBzaG93KCk6IHZvaWQ7XHJcblxyXG4gICAgICAgIHZpc2libGVFbmQoKTogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgdmlzaWJsZVN0YXJ0KCk6IERheVBpbG90LkRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaW50ZXJmYWNlIE5hdmlnYXRvckJlZm9yZUNlbGxSZW5kZXJBcmdzIHtcclxuICAgICAgICByZWFkb25seSBjZWxsOiB7XHJcbiAgICAgICAgICAgIHJlYWRvbmx5IGRheTogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICAgICAgcmVhZG9ubHkgaXNDdXJyZW50TW9udGg6IGJvb2xlYW47XHJcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzVG9kYXk6IGJvb2xlYW47XHJcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzV2Vla2VuZDogYm9vbGVhbjtcclxuICAgICAgICAgICAgaHRtbDogc3RyaW5nO1xyXG4gICAgICAgICAgICBjc3NDbGFzczogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgaW50ZXJmYWNlIE5hdmlnYXRvclRpbWVSYW5nZVNlbGVjdEFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IHN0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGVuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBkYXk6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgZGF5czogbnVtYmVyO1xyXG4gICAgICAgIHJlYWRvbmx5IG1vZGU6IFwiRGF5XCIgfCBcIldlZWtcIiB8IFwiTW9udGhcIiB8IFwiTm9uZVwiIHwgXCJGcmVlSGFuZFwiO1xyXG4gICAgICAgIHByZXZlbnREZWZhdWx0KCk6IHZvaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW50ZXJmYWNlIE5hdmlnYXRvclRpbWVSYW5nZVNlbGVjdGVkQXJncyB7XHJcbiAgICAgICAgcmVhZG9ubHkgc3RhcnQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgZW5kOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGRheTogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICByZWFkb25seSBkYXlzOiBudW1iZXI7XHJcbiAgICAgICAgcmVhZG9ubHkgbW9kZTogXCJEYXlcIiB8IFwiV2Vla1wiIHwgXCJNb250aFwiIHwgXCJOb25lXCIgfCBcIkZyZWVIYW5kXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaW50ZXJmYWNlIE5hdmlnYXRvclZpc2libGVSYW5nZUNoYW5nZUFyZ3Mge1xyXG4gICAgICAgIHJlYWRvbmx5IHN0YXJ0OiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHJlYWRvbmx5IGVuZDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIGludGVyZmFjZSBOYXZpZ2F0b3JWaXNpYmxlUmFuZ2VDaGFuZ2VkQXJncyB7XHJcbiAgICAgICAgcmVhZG9ubHkgc3RhcnQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVhZG9ubHkgZW5kOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBMb2NhbGUge1xyXG4gICAgICAgIGRhdGVQYXR0ZXJuOiBzdHJpbmc7XHJcbiAgICAgICAgZGF0ZVRpbWVQYXR0ZXJuOiBzdHJpbmc7XHJcbiAgICAgICAgZGF5TmFtZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGRheU5hbWVzU2hvcnQ6IHN0cmluZ1tdO1xyXG4gICAgICAgIG1vbnRoTmFtZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIG1vbnRoTmFtZXNTaG9ydDogc3RyaW5nW107XHJcbiAgICAgICAgdGltZUZvcm1hdDogXCJDbG9jazEySG91cnNcIiB8IFwiQ2xvY2syNEhvdXJzXCI7XHJcbiAgICAgICAgdGltZVBhdHRlcm46IHN0cmluZztcclxuICAgICAgICB3ZWVrU3RhcnRzOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAgICAgZGF5TmFtZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgICAgICBkYXlOYW1lc1Nob3J0OiBzdHJpbmdbXTtcclxuICAgICAgICAgICAgbW9udGhOYW1lczogc3RyaW5nW107XHJcbiAgICAgICAgICAgIG1vbnRoTmFtZXNTaG9ydDogc3RyaW5nW107XHJcbiAgICAgICAgICAgIHRpbWVQYXR0ZXJuOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGRhdGVQYXR0ZXJuOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGRhdGVUaW1lUGF0dGVybjogc3RyaW5nO1xyXG4gICAgICAgICAgICB0aW1lRm9ybWF0OiBcIkNsb2NrMTJIb3Vyc1wiIHwgXCJDbG9jazI0SG91cnNcIjtcclxuICAgICAgICAgICAgd2Vla1N0YXJ0czogbnVtYmVyO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBzdGF0aWMgcmVnaXN0ZXIobG9jYWxlOiBEYXlQaWxvdC5Mb2NhbGUpOiB2b2lkO1xyXG4gICAgICAgIHN0YXRpYyBmaW5kKGlkOiBzdHJpbmcpOiBEYXlQaWxvdC5Mb2NhbGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIERhdGUge1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKHN0cj86IHN0cmluZyB8IERheVBpbG90LkRhdGUpO1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKGRhdGU6IEdsb2JhbERhdGUsIGlzTG9jYWw/OiBib29sZWFuKTtcclxuXHJcbiAgICAgICAgYWRkRGF5cyhkYXlzOiBudW1iZXIpOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICBhZGRIb3Vycyhob3VyczogbnVtYmVyKTogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgYWRkTWlsbGlzZWNvbmRzKG1pbGxpczogbnVtYmVyKTogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgYWRkTWludXRlcyhtaW51dGVzOiBudW1iZXIpOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICBhZGRNb250aHMobW9udGhzOiBudW1iZXIpOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICBhZGRTZWNvbmRzKHNlY29uZHM6IG51bWJlcik6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgICAgIGFkZFRpbWUodGlja3M6IG51bWJlcik6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgYWRkVGltZShkdXJhdGlvbjogRGF5UGlsb3QuRHVyYXRpb24pOiBEYXlQaWxvdC5EYXRlO1xyXG5cclxuICAgICAgICBhZGRZZWFycyh5ZWFyczogbnVtYmVyKTogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgZGF5T2ZXZWVrKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZGF5T2ZXZWVrSVNPKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZGF5T2ZZZWFyKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZGF5c0luTW9udGgoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBkYXlzSW5ZZWFyKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZXF1YWxzKGFub3RoZXI6IERheVBpbG90LkRhdGUpOiBib29sZWFuO1xyXG5cclxuICAgICAgICBmaXJzdERheU9mTW9udGgoKTogRGF5UGlsb3QuRGF0ZTtcclxuXHJcbiAgICAgICAgZmlyc3REYXlPZldlZWsobG9jYWxlPzogc3RyaW5nIHwgRGF5UGlsb3QuTG9jYWxlKTogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBmaXJzdERheU9mV2VlayhmaXJzdERheU9mV2Vlaz86IG51bWJlcik6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgICAgIGZpcnN0RGF5T2ZZZWFyKCk6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgICAgIGdldERhdGVQYXJ0KCk6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgICAgIGdldERheSgpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGdldERheU9mV2VlaygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGdldFllYXIoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBnZXRIb3VycygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGdldE1pbGxpc2Vjb25kcygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGdldE1pbnV0ZXMoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBnZXRNb250aCgpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGdldFNlY29uZHMoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBnZXRUaW1lKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZ2V0VGltZVBhcnQoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBnZXRUb3RhbFRpY2tzKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZ2V0WWVhcigpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGxhc3REYXlPZk1vbnRoKCk6IERheVBpbG90LkRhdGU7XHJcblxyXG4gICAgICAgIHRvRGF0ZSgpOiBHbG9iYWxEYXRlO1xyXG5cclxuICAgICAgICB0b0RhdGVMb2NhbCgpOiBHbG9iYWxEYXRlO1xyXG5cclxuICAgICAgICB0b1N0cmluZyhwYXR0ZXJuPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcgfCBEYXlQaWxvdC5Mb2NhbGUpOiBzdHJpbmc7XHJcblxyXG4gICAgICAgIHRvU3RyaW5nU29ydGFibGUoKTogc3RyaW5nO1xyXG5cclxuICAgICAgICB3ZWVrTnVtYmVyKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgd2Vla051bWJlcklTTygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIHN0YXRpYyBmcm9tWWVhck1vbnRoRGF5KHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF5OiBudW1iZXIpOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHN0YXRpYyBwYXJzZShpbnB1dDogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyB8IERheVBpbG90LkxvY2FsZSk6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgc3RhdGljIHRvZGF5KCk6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgc3RhdGljIG5vdygpOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHN0YXRpYyBDYWNoZTogRGF5UGlsb3REYXRlQ2FjaGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIERheVBpbG90RGF0ZUNhY2hlIHtcclxuICAgICAgICBzdGF0aWMgY2xlYXIoKTogdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgY2xhc3MgVXRpbCB7XHJcbiAgICAgICAgc3RhdGljIG92ZXJsYXBzKHN0YXJ0MTogRGF5UGlsb3QuRGF0ZSwgZW5kMTogRGF5UGlsb3QuRGF0ZSwgc3RhcnQyOiBEYXlQaWxvdC5EYXRlLCBlbmQyOiBEYXlQaWxvdC5EYXRlKTogYm9vbGVhbjtcclxuICAgICAgICBzdGF0aWMgb3ZlcmxhcHMoc3RhcnQxOiBudW1iZXIsIGVuZDE6IG51bWJlciwgc3RhcnQyOiBudW1iZXIsIGVuZDI6IG51bWJlcik6IGJvb2xlYW47XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIER1cmF0aW9uIHtcclxuXHJcbiAgICAgICAgdGlja3M6IG51bWJlcjtcclxuXHJcbiAgICAgICAgY29uc3RydWN0b3IodGlja3M6IG51bWJlcik7XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBEYXlQaWxvdC5EYXRlIHwgc3RyaW5nLCBlbmQ6IERheVBpbG90LkRhdGUgfCBzdHJpbmcpO1xyXG5cclxuICAgICAgICB0b1N0cmluZyhwYXR0ZXJuPzogc3RyaW5nKTogc3RyaW5nO1xyXG5cclxuICAgICAgICB0b3RhbE1pbGxpc2Vjb25kcygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIHRvdGFsU2Vjb25kcygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIHRvdGFsTWludXRlcygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIHRvdGFsSG91cnMoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICB0b3RhbERheXMoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBtaWxsaXNlY29uZHMoKTogbnVtYmVyO1xyXG5cclxuICAgICAgICBzZWNvbmRzKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgbWludXRlcygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGhvdXJzKCk6IG51bWJlcjtcclxuXHJcbiAgICAgICAgZGF5cygpOiBudW1iZXI7XHJcblxyXG4gICAgICAgIGFkZChkOiBEYXlQaWxvdC5EdXJhdGlvbik6IERheVBpbG90LkR1cmF0aW9uO1xyXG5cclxuICAgICAgICBzdGF0aWMgb2ZXZWVrcyhpOiBudW1iZXIpOiBEYXlQaWxvdC5EdXJhdGlvbjtcclxuXHJcbiAgICAgICAgc3RhdGljIG9mRGF5cyhpOiBudW1iZXIpOiBEYXlQaWxvdC5EdXJhdGlvbjtcclxuXHJcbiAgICAgICAgc3RhdGljIG9mSG91cnMoaTogbnVtYmVyKTogRGF5UGlsb3QuRHVyYXRpb247XHJcblxyXG4gICAgICAgIHN0YXRpYyBvZk1pbnV0ZXMoaTogbnVtYmVyKTogRGF5UGlsb3QuRHVyYXRpb247XHJcblxyXG4gICAgICAgIHN0YXRpYyBvZlNlY29uZHMoaTogbnVtYmVyKTogRGF5UGlsb3QuRHVyYXRpb247XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBFdmVudCB7XHJcbiAgICAgICAgZGF0YTogYW55O1xyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvcihkYXRhOiBFdmVudERhdGEpO1xyXG5cclxuICAgICAgICBzdGFydCgpOiBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIHN0YXJ0KG5ld1N0YXJ0OiBEYXlQaWxvdC5EYXRlKTogdm9pZDtcclxuXHJcbiAgICAgICAgZW5kKCk6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgZW5kKG5ld0VuZDogRGF5UGlsb3QuRGF0ZSk6IHZvaWQ7XHJcblxyXG4gICAgICAgIGlkKCk6IEV2ZW50SWQ7XHJcblxyXG4gICAgICAgIHRleHQoKTogc3RyaW5nO1xyXG4gICAgICAgIHRleHQobmV3VGV4dDogc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgICAgICAgcmVzb3VyY2UoKTogc3RyaW5nO1xyXG4gICAgICAgIHJlc291cmNlKG5ld1Jlc291cmNlOiBzdHJpbmcpOiB2b2lkO1xyXG5cclxuICAgICAgICBkdXJhdGlvbigpOiBEYXlQaWxvdC5EdXJhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgY2xhc3MgU2VsZWN0aW9uIHtcclxuICAgICAgICBzdGFydDogRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBlbmQ6IERheVBpbG90LkRhdGU7XHJcbiAgICAgICAgcmVzb3VyY2U6IHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIEV2ZW50RGF0YVNob3J0IHtcclxuICAgICAgICBzdGFydDogc3RyaW5nIHwgRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBlbmQ6IHN0cmluZyB8IERheVBpbG90LkRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBFdmVudERhdGEge1xyXG4gICAgICAgIHN0YXJ0OiBzdHJpbmcgfCBEYXlQaWxvdC5EYXRlO1xyXG4gICAgICAgIGVuZDogc3RyaW5nIHwgRGF5UGlsb3QuRGF0ZTtcclxuICAgICAgICBpZDogRXZlbnRJZDtcclxuICAgICAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICAgICAgcmVzb3VyY2U/OiBSZXNvdXJjZUlkO1xyXG5cclxuICAgICAgICBiYWNrQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAgICAgYmFja0ltYWdlPzogc3RyaW5nO1xyXG4gICAgICAgIGJhY2tSZXBlYXQ/OiBzdHJpbmc7XHJcbiAgICAgICAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAgICAgYnViYmxlSHRtbD86IHN0cmluZztcclxuICAgICAgICBjbGlja0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICAgICAgICBjc3NDbGFzcz86IHN0cmluZztcclxuICAgICAgICBkZWxldGVEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICAgICAgZG91YmxlQ2xpY2tEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICAgICAgZm9udENvbG9yPzogc3RyaW5nO1xyXG4gICAgICAgIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgICAgICAgaHRtbD86IHN0cmluZztcclxuICAgICAgICBsaW5lPzogXCJkZWRpY2F0ZWRcIiB8IG51bWJlcjtcclxuICAgICAgICBtb3ZlRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgICAgIHJlc2l6ZURpc2FibGVkPzogYm9vbGVhbjtcclxuICAgICAgICByaWdodENsaWNrRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgICAgIHNvcnQ/OiBzdHJpbmdbXTtcclxuICAgICAgICB0YWdzPzogYW55O1xyXG4gICAgICAgIHRvb2xUaXA/OiBzdHJpbmc7XHJcblxyXG4gICAgICAgIC8vIHNjaGVkdWxlclxyXG4gICAgICAgIGJhckJhY2tDb2xvcj86IHN0cmluZztcclxuICAgICAgICBiYXJDb2xvcj86IHN0cmluZztcclxuICAgICAgICBiYXJIaWRkZW4/OiBib29sZWFuO1xyXG4gICAgICAgIGNvbXBsZXRlPzogbnVtYmVyO1xyXG4gICAgICAgIGNvbnRhaW5lcj86IG51bWJlciB8IHN0cmluZztcclxuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAgICAgaHRtbExlZnQ/OiBzdHJpbmc7XHJcbiAgICAgICAgaHRtbFJpZ2h0Pzogc3RyaW5nO1xyXG4gICAgICAgIG1vdmVWRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgICAgIG1vdmVIRGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgZnVuY3Rpb24gZ3VpZCgpOiBzdHJpbmc7XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBFdmVudEhhbmRsZXI8VD4ge1xyXG4gICAgICAgIChhcmdzOiBUKTogdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgdHlwZSBSZXNvdXJjZUlkID0gc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgZXhwb3J0IHR5cGUgRXZlbnRJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAvLyBtb2RhbFxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBNb2RhbFByb3BzQW5kRXZlbnRzIHtcclxuICAgICAgICBhdXRvRm9jdXM/OiBib29sZWFuO1xyXG4gICAgICAgIGF1dG9TdHJldGNoPzogYm9vbGVhbjtcclxuICAgICAgICBhdXRvU3RyZXRjaEZpcnN0TG9hZE9ubHk/OiBib29sZWFuO1xyXG4gICAgICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGRpc3Bvc2VPbkNsb3NlPzogYm9vbGVhbjtcclxuICAgICAgICBkcmFnRHJvcD86IGJvb2xlYW47XHJcbiAgICAgICAgZm9jdXM/OiBzdHJpbmcgfCB7IGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfTtcclxuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAgICAgbGVmdD86IG51bWJlcjtcclxuICAgICAgICBsb2FkaW5nSHRtbD86IHN0cmluZztcclxuICAgICAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAgICAgc2Nyb2xsV2l0aFBhZ2U/OiBib29sZWFuO1xyXG4gICAgICAgIHRoZW1lPzogc3RyaW5nO1xyXG4gICAgICAgIHRvcD86IG51bWJlcjtcclxuICAgICAgICB1c2VJZnJhbWU/OiBib29sZWFuO1xyXG4gICAgICAgIHdpZHRoPzogbnVtYmVyO1xyXG4gICAgICAgIHpJbmRleD86IG51bWJlcjtcclxuXHJcbiAgICAgICAgb25DbG9zZT86IEV2ZW50SGFuZGxlcjxNb2RhbENsb3NlQXJncz47XHJcbiAgICAgICAgb25DbG9zZWQ/OiBFdmVudEhhbmRsZXI8TW9kYWxDbG9zZWRBcmdzPjtcclxuICAgICAgICBvblNob3c/OiBFdmVudEhhbmRsZXI8TW9kYWxTaG93QXJncz47XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE1vZGFsQ29uZmlnIGV4dGVuZHMgTW9kYWxQcm9wc0FuZEV2ZW50cyB7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE1vZGFsIGV4dGVuZHMgTW9kYWxQcm9wc0FuZEV2ZW50cyB7XHJcbiAgICAgICAgY29uc3RydWN0b3Iob3B0aW9ucz86IE1vZGFsQ29uZmlnKVxyXG5cclxuICAgICAgICBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkO1xyXG5cclxuICAgICAgICBjbG9zZVNlcmlhbGl6ZWQoKTogdm9pZDtcclxuXHJcbiAgICAgICAgc2hvd0h0bWwoaHRtbDogc3RyaW5nIHwgSFRNTEVsZW1lbnQpOiB2b2lkO1xyXG5cclxuICAgICAgICBzaG93VXJsKHVybDogc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgICAgICAgc3RyZXRjaCgpOiB2b2lkO1xyXG5cclxuICAgICAgICBzdGF0aWMgY2xvc2UoKTogdm9pZDtcclxuXHJcbiAgICAgICAgc3RhdGljIG9wZW5lcigpOiB2b2lkO1xyXG5cclxuICAgICAgICBzdGF0aWMgcHJvbXB0KG1lc3NhZ2U6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nLCBvcHRpb25zPzogTW9kYWxQcm9tcHRDb25maWcpOiBQcm9taXNlPE1vZGFsQ2xvc2VkQXJncz47XHJcblxyXG4gICAgICAgIHN0YXRpYyBhbGVydChtZXNzYWdlOiBzdHJpbmcsIG9wdGlvbnM/OiBNb2RhbEFsZXJ0Q29uZmlnKTogUHJvbWlzZTxNb2RhbENsb3NlZEFyZ3M+O1xyXG5cclxuICAgICAgICBzdGF0aWMgY29uZmlybShtZXNzYWdlOiBzdHJpbmcsIG9wdGlvbnM/OiBNb2RhbENvbmZpcm1Db25maWcpOiBQcm9taXNlPE1vZGFsQ2xvc2VkQXJncz47XHJcblxyXG4gICAgICAgIHN0YXRpYyBmb3JtKGZvcm0/OiBNb2RhbEZvcm1JdGVtW10sIGRhdGE/OiBhbnksIG9wdGlvbnM/OiBNb2RhbEZvcm1Db25maWcpOiBQcm9taXNlPE1vZGFsQ2xvc2VkQXJncz47XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE1vZGFsQWxlcnRDb25maWcgZXh0ZW5kcyBNb2RhbENvbmZpZyB7XHJcbiAgICAgICAgb2tUZXh0Pzogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBNb2RhbENvbmZpcm1Db25maWcgZXh0ZW5kcyBNb2RhbENvbmZpZyB7XHJcbiAgICAgICAgb2tUZXh0Pzogc3RyaW5nO1xyXG4gICAgICAgIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIE1vZGFsUHJvbXB0Q29uZmlnIGV4dGVuZHMgTW9kYWxDb25maWcge1xyXG4gICAgICAgIG9rVGV4dD86IHN0cmluZztcclxuICAgICAgICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBjbGFzcyBNb2RhbEZvcm1Db25maWcgZXh0ZW5kcyBNb2RhbENvbmZpZyB7XHJcbiAgICAgICAgb2tUZXh0Pzogc3RyaW5nO1xyXG4gICAgICAgIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgICAgICAgbG9jYWxlPzogc3RyaW5nO1xyXG4gICAgICAgIHBsdWdpbnM/OiBhbnk7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb2RhbENsb3NlQXJncyB7XHJcbiAgICAgICAgY2FuY2VsZWQ6IGJvb2xlYW47XHJcbiAgICAgICAgcmVzdWx0OiBhbnk7XHJcbiAgICAgICAgYmFja2dyb3VuZENsaWNrOiBib29sZWFuO1xyXG5cclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgTW9kYWxDbG9zZWRBcmdzIHtcclxuICAgICAgICBjYW5jZWxlZDogYm9vbGVhbjtcclxuICAgICAgICByZXN1bHQ6IGFueTtcclxuICAgICAgICBiYWNrZ3JvdW5kQ2xpY2s6IGJvb2xlYW47XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb2RhbFNob3dBcmdzIHtcclxuICAgICAgICByb290OiBOb2RlXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgTW9kYWxGb3JtSXRlbSB7XHJcbiAgICAgICAgaWQ/OiBzdHJpbmc7XHJcbiAgICAgICAgbmFtZT86IHN0cmluZztcclxuICAgICAgICB0eXBlPzogXCJ0ZXh0XCIgfCBcImRhdGVcIiB8IFwic2VhcmNoYWJsZVwiIHwgXCJzZWxlY3RcIiB8IFwicmFkaW9cIiB8IFwiY2hlY2tib3hcIiB8IFwidGFibGVcIiB8IFwidGl0bGVcIiB8IFwiaW1hZ2VcIiB8IFwiaHRtbFwiIHwgXCJ0ZXh0YXJlYVwiIHwgXCJzY3JvbGxhYmxlXCIgfCBzdHJpbmc7XHJcbiAgICAgICAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgICAgICAgZGF0ZUZvcm1hdD86IHN0cmluZztcclxuICAgICAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICAgICAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICAgICAgb3B0aW9ucz86IE1vZGFsRm9ybU9wdGlvbltdO1xyXG4gICAgICAgIGNoaWxkcmVuPzogTW9kYWxGb3JtSXRlbVtdO1xyXG4gICAgICAgIGNvbHVtbnM/OiBNb2RhbEZvcm1UYWJsZUNvbHVtbnNbXTtcclxuICAgICAgICBvblZhbGlkYXRlPzogRXZlbnRIYW5kbGVyPE1vZGFsRm9ybUl0ZW1WYWxpZGF0aW9uQXJncz47XHJcbiAgICAgICAgb25OZXdSb3c/OiBFdmVudEhhbmRsZXI8TW9kYWxGb3JtVGFibGVJdGVtTmV3Um93QXJncz47XHJcbiAgICAgICAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgICAgIHRleHQ/OiBzdHJpbmc7XHJcbiAgICAgICAgaHRtbD86IHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgaW50ZXJmYWNlIE1vZGFsRm9ybU9wdGlvbiB7XHJcbiAgICAgICAgaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgICAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgICAgIGNoaWxkcmVuPzogTW9kYWxGb3JtSXRlbVtdO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgTW9kYWxGb3JtVGFibGVDb2x1bW5zIHtcclxuICAgICAgICBpZDogc3RyaW5nO1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICB0eXBlPzogXCJ0ZXh0XCIgfCBcIm51bWJlclwiIHwgXCJzZWxlY3RcIjtcclxuICAgICAgICBvcHRpb25zPzogTW9kYWxGb3JtT3B0aW9uW107XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvcm1JdGVtVmFsaWRhdGlvbkFyZ3Mge1xyXG4gICAgICAgIHZhbHVlOiBhbnk7XHJcbiAgICAgICAgcmVzdWx0OiBhbnk7XHJcbiAgICAgICAgdmFsaWQ6IGJvb2xlYW47XHJcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgTW9kYWxGb3JtVGFibGVJdGVtTmV3Um93QXJncyB7XHJcbiAgICAgICAgdmFsdWU6IGFueTtcclxuICAgICAgICByZXN1bHQ6IGFueTtcclxuICAgIH1cclxuXHJcbn1cclxuLypcclxuRGF5UGlsb3QgTGl0ZVxyXG5Db3B5cmlnaHQgKGMpIDIwMDUgLSAyMDIxIEFubnBvaW50IHMuci5vLlxyXG5odHRwOi8vd3d3LmRheXBpbG90Lm9yZy9cclxuTGljZW5zZWQgdW5kZXIgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wXHJcblZlcnNpb246IDIwMjEuNC4zMzgtbGl0ZVxyXG4qL1xyXG5pZihcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QpdmFyIERheVBpbG90PXt9OyFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9RGF5UGlsb3QuRGF0ZS5DYWNoZS5UaWNrcztpZih0W2VdKXJldHVybiBEYXlQaWxvdC5TdGF0cy5jYWNoZUhpdHNUaWNrcys9MSx0W2VdO3ZhciBhLHI9bmV3IERhdGUoZSksbz1yLmdldFVUQ01pbGxpc2Vjb25kcygpO2E9MD09PW8/XCJcIjpvPDEwP1wiLjAwXCIrbzpvPDEwMD9cIi4wXCIrbzpcIi5cIitvO3ZhciBuPXIuZ2V0VVRDU2Vjb25kcygpO248MTAmJihuPVwiMFwiK24pO3ZhciBpPXIuZ2V0VVRDTWludXRlcygpO2k8MTAmJihpPVwiMFwiK2kpO3ZhciBkPXIuZ2V0VVRDSG91cnMoKTtkPDEwJiYoZD1cIjBcIitkKTt2YXIgcz1yLmdldFVUQ0RhdGUoKTtzPDEwJiYocz1cIjBcIitzKTt2YXIgbD1yLmdldFVUQ01vbnRoKCkrMTtsPDEwJiYobD1cIjBcIitsKTt2YXIgdT1yLmdldFVUQ0Z1bGxZZWFyKCk7aWYodTw9MCl0aHJvd1wiVGhlIG1pbmltdW0geWVhciBzdXBwb3J0ZWQgaXMgMS5cIjt1PDEwP3U9XCIwMDBcIit1OnU8MTAwP3U9XCIwMFwiK3U6dTwxZTMmJih1PVwiMFwiK3UpO3ZhciBjPXUrXCItXCIrbCtcIi1cIitzK1wiVFwiK2QrXCI6XCIraStcIjpcIituK2E7cmV0dXJuIHRbZV09YyxjfWlmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBEYXlQaWxvdC4kKXtcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuR2xvYmFsJiYoRGF5UGlsb3QuR2xvYmFsPXt9KSxEYXlQaWxvdC4kPWZ1bmN0aW9uKGUpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKX0sRGF5UGlsb3QuaXNLaHRtbD1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIktIVE1MXCIpIT09LTEsRGF5UGlsb3QuaXNJRT1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikhPT0tMSxEYXlQaWxvdC5tbzI9ZnVuY3Rpb24oZSx0KXtpZih0PXR8fHdpbmRvdy5ldmVudCxcInVuZGVmaW5lZFwiIT10eXBlb2YgdC5vZmZzZXRYKXt2YXIgYT17eDp0Lm9mZnNldFgrMSx5OnQub2Zmc2V0WSsxfTtpZighZSlyZXR1cm4gYTtmb3IodmFyIHI9dC5zcmNFbGVtZW50O3ImJnIhPT1lOylcIlNQQU5cIiE9PXIudGFnTmFtZSYmKGEueCs9ci5vZmZzZXRMZWZ0LHIub2Zmc2V0VG9wPjAmJihhLnkrPXIub2Zmc2V0VG9wLXIuc2Nyb2xsVG9wKSkscj1yLm9mZnNldFBhcmVudDtyZXR1cm4gcj9hOm51bGx9aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHQubGF5ZXJYKXt2YXIgYT17eDp0LmxheWVyWCx5OnQubGF5ZXJZLHNyYzp0LnRhcmdldH07aWYoIWUpcmV0dXJuIGE7Zm9yKHZhciByPXQudGFyZ2V0O3ImJlwiYWJzb2x1dGVcIiE9PXIuc3R5bGUucG9zaXRpb24mJlwicmVsYXRpdmVcIiE9PXIuc3R5bGUucG9zaXRpb247KXI9ci5wYXJlbnROb2RlLERheVBpbG90LmlzS2h0bWwmJihhLnkrPXIuc2Nyb2xsVG9wKTtmb3IoO3ImJnIhPT1lOylhLngrPXIub2Zmc2V0TGVmdCxhLnkrPXIub2Zmc2V0VG9wLXIuc2Nyb2xsVG9wLHI9ci5vZmZzZXRQYXJlbnQ7cmV0dXJuIHI/YTpudWxsfXJldHVybiBudWxsfSxEYXlQaWxvdC5tbzM9ZnVuY3Rpb24oZSx0LGEpe2lmKHQ9dHx8d2luZG93LmV2ZW50LFwidW5kZWZpbmVkXCIhPXR5cGVvZiB0LnBhZ2VYKXt2YXIgcj1EYXlQaWxvdC5hYnMoZSxhKTtyZXR1cm57eDp0LnBhZ2VYLXIueCx5OnQucGFnZVktci55fX1yZXR1cm4gRGF5UGlsb3QubW8yKGUsdCl9LERheVBpbG90LmJyb3dzZXI9e30sRGF5UGlsb3QuYnJvd3Nlci5pZTk9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3JldHVybiBlLmlubmVySFRNTD1cIjwhLS1baWYgSUUgOV0+PGk+PC9pPjwhW2VuZGlmXS0tPlwiLDE9PT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaVwiKS5sZW5ndGh9KCksRGF5UGlsb3QuYnJvd3Nlci5pZWx0OT1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPCEtLVtpZiBsdCBJRSA5XT48aT48L2k+PCFbZW5kaWZdLS0+XCIsMT09PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJpXCIpLmxlbmd0aH0oKSxEYXlQaWxvdC5hYnM9ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gbnVsbDt2YXIgYT17eDplLm9mZnNldExlZnQseTplLm9mZnNldFRvcCx3OmUuY2xpZW50V2lkdGgsaDplLmNsaWVudEhlaWdodCx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVyblwieDpcIit0aGlzLngrXCIgeTpcIit0aGlzLnkrXCIgdzpcIit0aGlzLncrXCIgaDpcIit0aGlzLmh9fTtpZihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCl7dmFyIHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthLng9ci5sZWZ0LGEueT1yLnRvcDt2YXIgbz1EYXlQaWxvdC5kb2MoKTthLngtPW8uY2xpZW50TGVmdHx8MCxhLnktPW8uY2xpZW50VG9wfHwwO3ZhciBuPURheVBpbG90LnBhZ2VPZmZzZXQoKTtpZihhLngrPW4ueCxhLnkrPW4ueSx0KXt2YXIgaT1EYXlQaWxvdC5hYnNPZmZzZXRCYXNlZChlLCExKSx0PURheVBpbG90LmFic09mZnNldEJhc2VkKGUsITApO2EueCs9dC54LWkueCxhLnkrPXQueS1pLnksYS53PXQudyxhLmg9dC5ofXJldHVybiBhfXJldHVybiBEYXlQaWxvdC5hYnNPZmZzZXRCYXNlZChlLHQpfSxEYXlQaWxvdC5hYnNPZmZzZXRCYXNlZD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgYT17eDplLm9mZnNldExlZnQseTplLm9mZnNldFRvcCx3OmUuY2xpZW50V2lkdGgsaDplLmNsaWVudEhlaWdodCx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVyblwieDpcIit0aGlzLngrXCIgeTpcIit0aGlzLnkrXCIgdzpcIit0aGlzLncrXCIgaDpcIit0aGlzLmh9fTtlLm9mZnNldFBhcmVudDspZT1lLm9mZnNldFBhcmVudCxhLngtPWUuc2Nyb2xsTGVmdCxhLnktPWUuc2Nyb2xsVG9wLHQmJihhLng8MCYmKGEudys9YS54LGEueD0wKSxhLnk8MCYmKGEuaCs9YS55LGEueT0wKSxlLnNjcm9sbExlZnQ+MCYmYS54K2Eudz5lLmNsaWVudFdpZHRoJiYoYS53LT1hLngrYS53LWUuY2xpZW50V2lkdGgpLGUuc2Nyb2xsVG9wJiZhLnkrYS5oPmUuY2xpZW50SGVpZ2h0JiYoYS5oLT1hLnkrYS5oLWUuY2xpZW50SGVpZ2h0KSksYS54Kz1lLm9mZnNldExlZnQsYS55Kz1lLm9mZnNldFRvcDt2YXIgcj1EYXlQaWxvdC5wYWdlT2Zmc2V0KCk7cmV0dXJuIGEueCs9ci54LGEueSs9ci55LGF9LERheVBpbG90LmlzQXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxEYXlQaWxvdC5zaGVldD1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtlLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInRleHQvY3NzXCIpLGUuc3R5bGVTaGVldHx8ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSksKGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSkuYXBwZW5kQ2hpbGQoZSk7dmFyIHQ9ISFlLnN0eWxlU2hlZXQsYT17fTtyZXR1cm4gYS5ydWxlcz1bXSxhLmNvbW1pdD1mdW5jdGlvbigpe3QmJihlLnN0eWxlU2hlZXQuY3NzVGV4dD10aGlzLnJ1bGVzLmpvaW4oXCJcXG5cIikpfSxhLmFkZD1mdW5jdGlvbihhLHIsbyl7cmV0dXJuIHQ/dm9pZCB0aGlzLnJ1bGVzLnB1c2goYStcIntcIityK1wifVwiKTp2b2lkKGUuc2hlZXQuaW5zZXJ0UnVsZT8oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG8mJihvPWUuc2hlZXQuY3NzUnVsZXMubGVuZ3RoKSxlLnNoZWV0Lmluc2VydFJ1bGUoYStcIntcIityK1wifVwiLG8pKTplLnNoZWV0LmFkZFJ1bGUmJmUuc2hlZXQuYWRkUnVsZShhLHIsbykpfSxhfSxmdW5jdGlvbigpe2lmKCFEYXlQaWxvdC5HbG9iYWwuZGVmYXVsdENzcyl7dmFyIGU9RGF5UGlsb3Quc2hlZXQoKTtlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X21haW5cIixcImJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLHN5c3RlbS11aSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfbWFpbiAqLCAuY2FsZW5kYXJfZGVmYXVsdF9tYWluICo6YmVmb3JlLCAuY2FsZW5kYXJfZGVmYXVsdF9tYWluICo6YWZ0ZXJcIixcImJveC1zaXppbmc6IGNvbnRlbnQtYm94O1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X3Jvd2hlYWRlcl9pbm5lciwuY2FsZW5kYXJfZGVmYXVsdF9jb3JuZXJyaWdodF9pbm5lciwuY2FsZW5kYXJfZGVmYXVsdF9jb3JuZXJfaW5uZXIsLmNhbGVuZGFyX2RlZmF1bHRfY29saGVhZGVyX2lubmVyLC5jYWxlbmRhcl9kZWZhdWx0X2FsbGRheWhlYWRlcl9pbm5lclwiLFwiY29sb3I6ICMzMzM7YmFja2dyb3VuZDogI2YzZjNmMztcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9jb3JuZXJyaWdodF9pbm5lclwiLFwicG9zaXRpb246IGFic29sdXRlO3RvcDogMHB4O2xlZnQ6IDBweDtib3R0b206IDBweDtyaWdodDogMHB4O1xcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2RpcmVjdGlvbl9ydGwgLmNhbGVuZGFyX2RlZmF1bHRfY29ybmVycmlnaHRfaW5uZXJcIixcImJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjMGMwYzA7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfcm93aGVhZGVyX2lubmVyXCIsXCJmb250LXNpemU6IDE2cHQ7dGV4dC1hbGlnbjogcmlnaHQ7IHBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDBweDtsZWZ0OiAwcHg7Ym90dG9tOiAwcHg7cmlnaHQ6IDBweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwOyBwYWRkaW5nOiAzcHg7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfZGlyZWN0aW9uX3J0bCAuY2FsZW5kYXJfZGVmYXVsdF9yb3doZWFkZXJfaW5uZXJcIixcImJvcmRlci1yaWdodDogbm9uZTtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9jb3JuZXJfaW5uZXJcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDBweDtsZWZ0OiAwcHg7Ym90dG9tOiAwcHg7cmlnaHQ6IDBweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2RpcmVjdGlvbl9ydGwgLmNhbGVuZGFyX2RlZmF1bHRfY29ybmVyX2lubmVyXCIsXCJib3JkZXItcmlnaHQ6IG5vbmU7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfcm93aGVhZGVyX21pbnV0ZXNcIixcImZvbnQtc2l6ZToxMHB4O3ZlcnRpY2FsLWFsaWduOiBzdXBlcjtwYWRkaW5nLWxlZnQ6IDJweDtwYWRkaW5nLXJpZ2h0OiAycHg7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfY29saGVhZGVyX2lubmVyXCIsXCJwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwcHg7bGVmdDogMHB4O2JvdHRvbTogMHB4O3JpZ2h0OiAwcHg7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzBjMDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9jZWxsX2lubmVyXCIsXCJwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwcHg7bGVmdDogMHB4O2JvdHRvbTogMHB4O3JpZ2h0OiAwcHg7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsgYmFja2dyb3VuZDogI2Y5ZjlmOTtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9jZWxsX2J1c2luZXNzIC5jYWxlbmRhcl9kZWZhdWx0X2NlbGxfaW5uZXJcIixcImJhY2tncm91bmQ6ICNmZmZcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9hbGxkYXloZWFkZXJfaW5uZXJcIixcInRleHQtYWxpZ246IGNlbnRlcjtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwcHg7bGVmdDogMHB4O2JvdHRvbTogMHB4O3JpZ2h0OiAwcHg7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzBjMDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9tZXNzYWdlXCIsXCJvcGFjaXR5OiAwLjk7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiAjZmZmZmZmO2JhY2tncm91bmQ6ICNmZmEyMTY7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfYWxsZGF5ZXZlbnRfaW5uZXIsLmNhbGVuZGFyX2RlZmF1bHRfZXZlbnRfaW5uZXJcIixcImNvbG9yOiAjNjY2OyBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2V2ZW50X2JhclwiLFwidG9wOiAwcHg7Ym90dG9tOiAwcHg7bGVmdDogMHB4O3dpZHRoOiA0cHg7YmFja2dyb3VuZC1jb2xvcjogIzlkYzhlODtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9ldmVudF9iYXJfaW5uZXJcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogNHB4O2JhY2tncm91bmQtY29sb3I6ICMxMDY2YTg7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfYWxsZGF5ZXZlbnRfaW5uZXIsLmNhbGVuZGFyX2RlZmF1bHRfZXZlbnRfaW5uZXJcIiwnYmFja2dyb3VuZDogI2ZmZjtiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZmZmZmYpLCB0bygjZWVlZWVlKSk7YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5HcmFkaWVudChzdGFydENvbG9yU3RyPVwiI2ZmZmZmZlwiLCBlbmRDb2xvclN0cj1cIiNlZWVlZWVcIik7JyksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9zZWxlY3RlZCAuY2FsZW5kYXJfZGVmYXVsdF9ldmVudF9pbm5lclwiLFwiYmFja2dyb3VuZDogI2RkZDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9hbGxkYXlldmVudF9pbm5lclwiLFwicG9zaXRpb246IGFic29sdXRlO3RvcDogMnB4O2JvdHRvbTogMnB4O2xlZnQ6IDJweDtyaWdodDogMnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOiAycHg7bWFyZ2luLXJpZ2h0OiAxcHg7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9ldmVudF93aXRoaGVhZGVyIC5jYWxlbmRhcl9kZWZhdWx0X2V2ZW50X2lubmVyXCIsXCJwYWRkaW5nLXRvcDogMTVweDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9ldmVudFwiLFwiY3Vyc29yOiBkZWZhdWx0O1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2V2ZW50X2lubmVyXCIsXCJwb3NpdGlvbjogYWJzb2x1dGU7b3ZlcmZsb3c6IGhpZGRlbjt0b3A6IDBweDtib3R0b206IDBweDtsZWZ0OiAwcHg7cmlnaHQ6IDBweDtwYWRkaW5nOiAycHggMnB4IDJweCA2cHg7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9zaGFkb3dfaW5uZXJcIixcInBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7cmlnaHQ6MHB4O2JvdHRvbTowcHg7YmFja2dyb3VuZC1jb2xvcjogIzY2NjY2Njsgb3BhY2l0eTogMC41O1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2V2ZW50X2RlbGV0ZVwiLFwiYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQXNBQUFBTENBWUFBQUNwckhjbUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBYWRFVllkRk52Wm5SM1lYSmxBRkJoYVc1MExrNUZWQ0IyTXk0MUxqRXhSL05DTndBQUFJNUpSRUZVS0ZOdGtMRVJnQ0FNUmJtemRLOHM0Z0FVbGhZT1lFSEpFSllPWU9Fd0RtR0JQeEM0a09QZnZlUHk4NE1HUjBSSjJOMUE4SDNONkRBVHdTUTU3bTJxbDhOQkcrQUVNN0QrVVcrd2pkZlVQZ2VyWU5nQjVnT0xSSHFoY2FzZzg0QzJReFBNdHJVaFNxUUloZzd5cHk5Vk0yRVVaUEkvNHJRN3JHeHFvOXNhZFRlZ3crVWRqZURMQUtVZmhiYVFVVlBJZkpZQUFBQUFTVVZPUks1Q1lJST0pIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyBvcGFjaXR5OiAwLjY7IGN1cnNvcjogcG9pbnRlcjtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9ldmVudF9kZWxldGU6aG92ZXJcIixcIm9wYWNpdHk6IDE7LW1zLWZpbHRlcjogbm9uZTtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9zY3JvbGxfdXBcIixcImJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQjNSSlRVVUgyd0VTRGlZY3Jod0NpUUFBQUFsd1NGbHpBQUF1SXdBQUxpTUJlS1UvZGdBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFDY1NVUkJWSGphWTJBZ0Y5d1dzVFc2eUdNbGhpN09oQzdBeU1EUXpNbkJYSXBGSEFGdUN0dWFNVFArUDhuQThQL2IxeC8vRmZXL0hIdUYxVVFteHYrTlVQMWMzT3hNVlZoTnZDVmk2ODNFOEg4TFhPWS93OStmVEg4MXRGOGZ2NE5pSXBCUmorWW9adFovTERVb0ptS1loc1ZVcHYwTURpeU1EUDk2c0lZVjBGUzIvOHo5SUNhTGxPaHZTNGIvakMvL016Qzh4QkcwdkplRjdHUUJsSzB4ZGlVekN0c0FBQUFBU1VWT1JLNUNZSUk9KTtcIiksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9zY3JvbGxfZG93blwiLFwiYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQW9BQUFBS0NBWUFBQUNOTXMrOUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFMaU1BQUM0akFYaWxQM1lBQUFDcVNVUkJWQ2hUWTd3cGFtM0w5Sit4bVFFUCtQR1BLWlp4UDRNRGk0ekk3OHVNREl3YTJOVCtaMkRZb3ZybWlDK1RJOE9CUC84Wm1FcXdHdmlmNGU4dnhyK0ZJRGttRUtIMjV2QldCZ2JHMCtpSy96RXdMdEYrZmZ3T1hDR0k4WStCb1JGRklkQzAzMHgvV21CaVlCTmhwZ0xkc3dOSjhSU1lhU2dtZ2szOXoxZ1BVZmovMjllZi85cndoUVRESFJIYnJiZEViTHZSRmNHdGhra0FyYS85L3VNdmhrSzhwaU5MQWdDUnBUbk5uNEFFbUFBQUFBQkpSVTVFcmtKZ2dnPT0pO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X25vd1wiLFwiYmFja2dyb3VuZC1jb2xvcjogcmVkO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X25vdzpiZWZvcmVcIixcImNvbnRlbnQ6ICcnOyB0b3A6IC01cHg7IGJvcmRlci13aWR0aDogNXB4OyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJlZDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgd2lkdGg6IDBweDsgaGVpZ2h0OjBweDsgcG9zaXRpb246IGFic29sdXRlOyAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjk5OTkpO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X3NoYWRvd19mb3JiaWRkZW4gLmNhbGVuZGFyX2RlZmF1bHRfc2hhZG93X2lubmVyXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfc2hhZG93X3RvcFwiLCdib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nOjJweDtib3JkZXI6MXB4IHNvbGlkICNjY2M7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2ZmZmZmZiksIHRvKCNlZWVlZWUpKTtiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2VlZWVlZSk7YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KHN0YXJ0Q29sb3JTdHI9XCIjZmZmZmZmXCIsIGVuZENvbG9yU3RyPVwiI2VlZWVlZVwiKTsnKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X3NoYWRvd19ib3R0b21cIiwnYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzoycHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZmZmZmYpLCB0bygjZWVlZWVlKSk7YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDAlLCAjZWVlZWVlKTtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5HcmFkaWVudChzdGFydENvbG9yU3RyPVwiI2ZmZmZmZlwiLCBlbmRDb2xvclN0cj1cIiNlZWVlZWVcIik7JyksZS5hZGQoXCIuY2FsZW5kYXJfZGVmYXVsdF9jcm9zc2hhaXJfdmVydGljYWwsIC5jYWxlbmRhcl9kZWZhdWx0X2Nyb3NzaGFpcl9ob3Jpem9udGFsLCAuY2FsZW5kYXJfZGVmYXVsdF9jcm9zc2hhaXJfbGVmdCwgLmNhbGVuZGFyX2RlZmF1bHRfY3Jvc3NoYWlyX3RvcFwiLFwiYmFja2dyb3VuZC1jb2xvcjogZ3JheTsgb3BhY2l0eTogMC4yO1wiKSxlLmFkZChcIi5jYWxlbmRhcl9kZWZhdWx0X2xvYWRpbmdcIixcImJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiAycHg7XCIpLGUuYWRkKFwiLmNhbGVuZGFyX2RlZmF1bHRfc2Nyb2xsXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9zZWxlY3RlZCAuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRfaW5uZXJcIixcImJhY2tncm91bmQ6ICNkZGQ7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X21haW5cIixcImJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfdGltZWhlYWRlclwiLFwiY3Vyc29yOiBkZWZhdWx0O2NvbG9yOiAjMzMzO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9tZXNzYWdlXCIsXCJvcGFjaXR5OiAwLjk7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTtwYWRkaW5nOiAxMHB4OyBjb2xvcjogI2ZmZmZmZjtiYWNrZ3JvdW5kOiAjZmZhMjE2O1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF90aW1laGVhZGVyZ3JvdXAsLnNjaGVkdWxlcl9kZWZhdWx0X3RpbWVoZWFkZXJjb2xcIixcImNvbG9yOiAjMzMzO2JhY2tncm91bmQ6ICNmM2YzZjM7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X3Jvd2hlYWRlciwuc2NoZWR1bGVyX2RlZmF1bHRfY29ybmVyXCIsXCJjb2xvcjogIzMzMztiYWNrZ3JvdW5kOiAjZjNmM2YzO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9yb3doZWFkZXJfaW5uZXJcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiAwcHg7cmlnaHQ6IDBweDt0b3A6IDBweDtib3R0b206IDBweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWVlO3BhZGRpbmc6IDJweDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfdGltZWhlYWRlcmdyb3VwLCAuc2NoZWR1bGVyX2RlZmF1bHRfdGltZWhlYWRlcmNvbFwiLFwidGV4dC1hbGlnbjogY2VudGVyO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF90aW1laGVhZGVyZ3JvdXBfaW5uZXJcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiAwcHg7cmlnaHQ6IDBweDt0b3A6IDBweDtib3R0b206IDBweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF90aW1laGVhZGVyY29sX2lubmVyXCIsXCJwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMHB4O3JpZ2h0OiAwcHg7dG9wOiAwcHg7Ym90dG9tOiAwcHg7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzBjMDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZGl2aWRlclwiLFwiYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZGl2aWRlcl9ob3Jpem9udGFsXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9tYXRyaXhfdmVydGljYWxfbGluZVwiLFwiYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfbWF0cml4X3ZlcnRpY2FsX2JyZWFrXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9tYXRyaXhfaG9yaXpvbnRhbF9saW5lXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9yZXNvdXJjZWRpdmlkZXJcIixcImJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X3NoYWRvd19pbm5lclwiLFwiYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtvcGFjaXR5OiAwLjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtoZWlnaHQ6IDEwMCU7eGJvcmRlci1yYWRpdXM6IDVweDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRcIixcImNvbG9yOiM2NjY7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRfaW5uZXJcIixcInBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7cmlnaHQ6MHB4O2JvdHRvbTowcHg7cGFkZGluZzo1cHggMnB4IDJweCAycHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgI2NjYztcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRfYmFyXCIsXCJ0b3A6MHB4O2xlZnQ6MHB4O3JpZ2h0OjBweDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzlkYzhlODtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRfYmFyX2lubmVyXCIsXCJwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzEwNjZhODtcIiksZS5hZGQoXCIuc2NoZWR1bGVyX2RlZmF1bHRfZXZlbnRfaW5uZXJcIiwnYmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2ZmZmZmZiksIHRvKCNlZWVlZWUpKTtiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAwJSwgI2VlZWVlZSk7YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYgMCUsICNlZWVlZWUpO2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KHN0YXJ0Q29sb3JTdHI9XCIjZmZmZmZmXCIsIGVuZENvbG9yU3RyPVwiI2VlZWVlZVwiKTsnKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9ldmVudF9mbG9hdF9pbm5lclwiLFwicGFkZGluZzo2cHggMnB4IDJweCA4cHg7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X2V2ZW50X2Zsb2F0X2lubmVyOmFmdGVyXCIsJ2NvbnRlbnQ6XCJcIjtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM2NjYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDo1cHg7d2lkdGg6MDtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6LTRweDsnKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9jb2x1bW5oZWFkZXJfaW5uZXJcIixcImZvbnQtd2VpZ2h0OiBib2xkO1wiKSxlLmFkZChcIi5zY2hlZHVsZXJfZGVmYXVsdF9jb2x1bW5oZWFkZXJfc3BsaXR0ZXJcIixcImJhY2tncm91bmQtY29sb3I6ICM2NjY7b3BhY2l0eTogMC41O2ZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X2NvbHVtbmhlYWRlcl9jZWxsX2lubmVyXCIsXCJwYWRkaW5nOiAycHg7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X2NlbGxcIixcImJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XCIpLGUuYWRkKFwiLnNjaGVkdWxlcl9kZWZhdWx0X2NlbGwuc2NoZWR1bGVyX2RlZmF1bHRfY2VsbF9idXNpbmVzc1wiLFwiYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfbWFpblwiLFwiYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1yaWdodDogMXB4IHNvbGlkICNjMGMwYzA7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Y29sb3I6ICMwMDAwMDA7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1wiKSxlLmFkZChcIi5uYXZpZ2F0b3JfZGVmYXVsdF9tYWluICosIC5uYXZpZ2F0b3JfZGVmYXVsdF9tYWluICo6YmVmb3JlLCAubmF2aWdhdG9yX2RlZmF1bHRfbWFpbiAqOmFmdGVyXCIsXCJib3gtc2l6aW5nOiBjb250ZW50LWJveDtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfbW9udGhcIixcImZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLHN5c3RlbS11aSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHg7XCIpLGUuYWRkKFwiLm5hdmlnYXRvcl9kZWZhdWx0X2RheVwiLFwiY29sb3I6IGJsYWNrO1wiKSxlLmFkZChcIi5uYXZpZ2F0b3JfZGVmYXVsdF93ZWVrZW5kXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1wiKSxlLmFkZChcIi5uYXZpZ2F0b3JfZGVmYXVsdF9kYXloZWFkZXJcIixcImNvbG9yOiBibGFjaztcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfbGluZVwiLFwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7XCIpLGUuYWRkKFwiLm5hdmlnYXRvcl9kZWZhdWx0X2RheW90aGVyXCIsXCJjb2xvcjogZ3JheTtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfdG9kYXlib3hcIixcImJvcmRlcjogMXB4IHNvbGlkIHJlZDtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfdGl0bGUsIC5uYXZpZ2F0b3JfZGVmYXVsdF90aXRsZWxlZnQsIC5uYXZpZ2F0b3JfZGVmYXVsdF90aXRsZXJpZ2h0XCIsXCJib3JkZXItdG9wOiAxcHggc29saWQgI2MwYzBjMDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDtjb2xvcjogIzMzMztiYWNrZ3JvdW5kOiAjZjNmM2YzO1wiKSxlLmFkZChcIi5uYXZpZ2F0b3JfZGVmYXVsdF9idXN5XCIsXCJmb250LXdlaWdodDogYm9sZDtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfY2VsbFwiLFwidGV4dC1hbGlnbjogY2VudGVyO1wiKSxlLmFkZChcIi5uYXZpZ2F0b3JfZGVmYXVsdF9zZWxlY3QgLm5hdmlnYXRvcl9kZWZhdWx0X2NlbGxfYm94XCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFNzk0OyBvcGFjaXR5OiAwLjU7XCIpLGUuYWRkKFwiLm5hdmlnYXRvcl9kZWZhdWx0X3RpdGxlXCIsXCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIpLGUuYWRkKFwiLm5hdmlnYXRvcl9kZWZhdWx0X3RpdGxlbGVmdCwgLm5hdmlnYXRvcl9kZWZhdWx0X3RpdGxlcmlnaHRcIixcInRleHQtYWxpZ246IGNlbnRlcjtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfZGF5aGVhZGVyXCIsXCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIpLGUuYWRkKFwiLm5hdmlnYXRvcl9kZWZhdWx0X3dlZWtudW1iZXJcIixcInRleHQtYWxpZ246IGNlbnRlcjtcIiksZS5hZGQoXCIubmF2aWdhdG9yX2RlZmF1bHRfY2VsbF90ZXh0XCIsXCJjdXJzb3I6IHBvaW50ZXI7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfbWFpblwiLFwiYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4O2NvbG9yOiAjMzMzO1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X21haW4gKiwgLm1vbnRoX2RlZmF1bHRfbWFpbiAqOmJlZm9yZSwgLm1vbnRoX2RlZmF1bHRfbWFpbiAqOmFmdGVyXCIsXCJib3gtc2l6aW5nOiBjb250ZW50LWJveDtcIiksZS5hZGQoXCIubW9udGhfZGVmYXVsdF9jZWxsX2lubmVyXCIsXCJib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDBweDtsZWZ0OiAwcHg7Ym90dG9tOiAwcHg7cmlnaHQ6IDBweDtiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X2NlbGxfYnVzaW5lc3MgLm1vbnRoX2RlZmF1bHRfY2VsbF9pbm5lclwiLFwiYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcIiksZS5hZGQoXCIubW9udGhfZGVmYXVsdF9jZWxsX2hlYWRlclwiLFwidGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmc6IDRweDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIiksZS5hZGQoXCIubW9udGhfZGVmYXVsdF9oZWFkZXJfaW5uZXJcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDBweDtsZWZ0OiAwcHg7Ym90dG9tOiAwcHg7cmlnaHQ6IDBweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO2N1cnNvcjogZGVmYXVsdDtjb2xvcjogIzMzMztiYWNrZ3JvdW5kOiAjZjNmM2YzOyBvdmVyZmxvdzpoaWRkZW47IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X21lc3NhZ2VcIixcInBhZGRpbmc6IDEwcHg7b3BhY2l0eTogMC45OyBjb2xvcjogI2ZmZmZmZjtiYWNrZ3JvdW5kOiAjZmZhMjE2O1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X2V2ZW50X2lubmVyXCIsXCJwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwcHg7Ym90dG9tOiAwcHg7bGVmdDogMXB4O3JpZ2h0OiAxcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6IDJweDtwYWRkaW5nLWxlZnQ6IDVweDtjb2xvcjogIzMzMztiYWNrZ3JvdW5kOiAjZmZmO2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgMCUsICNlZWVlZWUpO2JvcmRlcjogMXB4IHNvbGlkICM5OTk7Ym9yZGVyLXJhZGl1czogMHB4O2Rpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTNweDtcIiksZS5hZGQoXCIubW9udGhfZGVmYXVsdF9ldmVudF9jb250aW51ZXJpZ2h0IC5tb250aF9kZWZhdWx0X2V2ZW50X2lubmVyXCIsXCJib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7Ym9yZGVyLXJpZ2h0LXN0eWxlOiBkb3R0ZWQ7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfZXZlbnRfY29udGludWVsZWZ0IC5tb250aF9kZWZhdWx0X2V2ZW50X2lubmVyXCIsXCJib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O2JvcmRlci1sZWZ0LXN0eWxlOiBkb3R0ZWQ7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfc2VsZWN0ZWQgLm1vbnRoX2RlZmF1bHRfZXZlbnRfaW5uZXJcIixcImJhY2tncm91bmQ6ICNkZGQ7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfc2hhZG93X2lubmVyXCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O29wYWNpdHk6IDAuNTtoZWlnaHQ6IDEwMCU7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfZXZlbnRfZGVsZXRlXCIsXCJiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBc0FBQUFMQ0FZQUFBQ3BySGNtQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUFhZEVWWWRGTnZablIzWVhKbEFGQmhhVzUwTGs1RlZDQjJNeTQxTGpFeFIvTkNOd0FBQUk1SlJFRlVLRk50a0xFUmdDQU1SYm16ZEs4czRnQVVsaFlPWUVISkVKWU9ZT0V3RG1HQlB4QzRrT1BmdmVQeTg0TUdSMFJKMk4xQThIM042REFUd1NRNTdtMnFsOE5CRytBRU03RCtVVyt3amRmVVBnZXJZTmdCNWdPTFJIcWhjYXNnODRDMlF4UE10clVoU3FRSWhnN3lweTlWTTJFVVpQSS80clE3ckd4cW85c2FkVGVndytVZGplRExBS1VmaGJhUVVWUElmSllBQUFBQVNVVk9SSzVDWUlJPSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IG9wYWNpdHk6IDAuNjsgY3Vyc29yOiBwb2ludGVyO1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X2V2ZW50X2RlbGV0ZTpob3ZlclwiLFwib3BhY2l0eTogMTstbXMtZmlsdGVyOiBub25lO1wiKSxlLmFkZChcIi5tb250aF9kZWZhdWx0X2V2ZW50X3RpbWVsZWZ0XCIsXCJjb2xvcjogI2NjYzsgZm9udC1zaXplOiA4cHRcIiksZS5hZGQoXCIubW9udGhfZGVmYXVsdF9ldmVudF90aW1lcmlnaHRcIixcImNvbG9yOiAjY2NjOyBmb250LXNpemU6IDhwdDsgdGV4dC1hbGlnbjogcmlnaHQ7XCIpLGUuYWRkKFwiLm1vbnRoX2RlZmF1bHRfbG9hZGluZ1wiLFwiYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDJweDtcIiksZS5jb21taXQoKSxEYXlQaWxvdC5HbG9iYWwuZGVmYXVsdENzcz0hMH19KCksRGF5UGlsb3QuZG9jPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBlJiZlLmNsaWVudEhlaWdodD9lOmRvY3VtZW50LmJvZHl9LERheVBpbG90Lmd1aWQ9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybig2NTUzNiooMStNYXRoLnJhbmRvbSgpKXwwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpfTtyZXR1cm5cIlwiK2UoKStlKCkrXCItXCIrZSgpK1wiLVwiK2UoKStcIi1cIitlKCkrXCItXCIrZSgpK2UoKStlKCl9LERheVBpbG90LnBhZ2VPZmZzZXQ9ZnVuY3Rpb24oKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgcGFnZVhPZmZzZXQpcmV0dXJue3g6cGFnZVhPZmZzZXQseTpwYWdlWU9mZnNldH07dmFyIGU9RGF5UGlsb3QuZG9jKCk7cmV0dXJue3g6ZS5zY3JvbGxMZWZ0LHk6ZS5zY3JvbGxUb3B9fSxEYXlQaWxvdC5pbmRleE9mPWZ1bmN0aW9uKGUsdCl7aWYoIWV8fCFlLmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKylpZihlW2FdPT09dClyZXR1cm4gYTtyZXR1cm4tMX0sRGF5UGlsb3QubWM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFnZVh8fGUucGFnZVk/e3g6ZS5wYWdlWCx5OmUucGFnZVl9Ont4OmUuY2xpZW50WCtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCx5OmUuY2xpZW50WStkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfX0sRGF5UGlsb3QuU3RhdHM9e30sRGF5UGlsb3QuU3RhdHMuZXZlbnRPYmplY3RzPTAsRGF5UGlsb3QuU3RhdHMuZGF0ZU9iamVjdHM9MCxEYXlQaWxvdC5TdGF0cy5jYWNoZUhpdHNDdG9yPTAsRGF5UGlsb3QuU3RhdHMuY2FjaGVIaXRzUGFyc2luZz0wLERheVBpbG90LlN0YXRzLmNhY2hlSGl0c1RpY2tzPTAsRGF5UGlsb3QuU3RhdHMucHJpbnQ9ZnVuY3Rpb24oKXtjb25zb2xlLmxvZyhcIkRheVBpbG90LlN0YXRzLmV2ZW50T2JqZWN0czogXCIrRGF5UGlsb3QuU3RhdHMuZXZlbnRPYmplY3RzKSxjb25zb2xlLmxvZyhcIkRheVBpbG90LlN0YXRzLmRhdGVPYmplY3RzOiBcIitEYXlQaWxvdC5TdGF0cy5kYXRlT2JqZWN0cyksY29uc29sZS5sb2coXCJEYXlQaWxvdC5TdGF0cy5jYWNoZUhpdHNDdG9yOiBcIitEYXlQaWxvdC5TdGF0cy5jYWNoZUhpdHNDdG9yKSxjb25zb2xlLmxvZyhcIkRheVBpbG90LlN0YXRzLmNhY2hlSGl0c1BhcnNpbmc6IFwiK0RheVBpbG90LlN0YXRzLmNhY2hlSGl0c1BhcnNpbmcpLGNvbnNvbGUubG9nKFwiRGF5UGlsb3QuU3RhdHMuY2FjaGVIaXRzVGlja3M6IFwiK0RheVBpbG90LlN0YXRzLmNhY2hlSGl0c1RpY2tzKSxjb25zb2xlLmxvZyhcIkRheVBpbG90LkRhdGUuQ2FjaGUuQ3RvciBrZXlzOiBcIitPYmplY3Qua2V5cyhEYXlQaWxvdC5EYXRlLkNhY2hlLkN0b3IpLmxlbmd0aCksY29uc29sZS5sb2coXCJEYXlQaWxvdC5EYXRlLkNhY2hlLlBhcnNpbmcga2V5czogXCIrT2JqZWN0LmtleXMoRGF5UGlsb3QuRGF0ZS5DYWNoZS5QYXJzaW5nKS5sZW5ndGgpfSxEYXlQaWxvdC5yZT1mdW5jdGlvbihlLHQsYSl7ZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcih0LGEsITEpOmUuYXR0YWNoRXZlbnQmJmUuYXR0YWNoRXZlbnQoXCJvblwiK3QsYSl9LERheVBpbG90LnB1PWZ1bmN0aW9uKGUpe3ZhciB0LGEscixvPWUuYXR0cmlidXRlcztpZihvKWZvcihhPW8ubGVuZ3RoLHQ9MDt0PGE7dCs9MSlvW3RdJiYocj1vW3RdLm5hbWUsXCJmdW5jdGlvblwiPT10eXBlb2YgZVtyXSYmKGVbcl09bnVsbCkpO2lmKG89ZS5jaGlsZE5vZGVzKWZvcihhPW8ubGVuZ3RoLHQ9MDt0PGE7dCs9MSl7RGF5UGlsb3QucHUoZS5jaGlsZE5vZGVzW3RdKX19LERheVBpbG90LmRlPWZ1bmN0aW9uKGUpe2lmKGUpaWYoRGF5UGlsb3QuaXNBcnJheShlKSlmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKylEYXlQaWxvdC5kZShlW3RdKTtlbHNlIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxEYXlQaWxvdC5zdz1mdW5jdGlvbihlKXtyZXR1cm4gZT9lLm9mZnNldFdpZHRoLWUuY2xpZW50V2lkdGg6MH0sRGF5UGlsb3QuYW09ZnVuY3Rpb24oKXtyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgYW5ndWxhcj9udWxsOihEYXlQaWxvdC5hbS5jYWNoZWR8fChEYXlQaWxvdC5hbS5jYWNoZWQ9YW5ndWxhci5tb2R1bGUoXCJkYXlwaWxvdFwiLFtdKSksRGF5UGlsb3QuYW0uY2FjaGVkKX0sRGF5UGlsb3QuU2VsZWN0aW9uPWZ1bmN0aW9uKGUsdCxhLHIpe3RoaXMudHlwZT1cInNlbGVjdGlvblwiLHRoaXMuc3RhcnQ9ZS5pc0RheVBpbG90RGF0ZT9lOm5ldyBEYXlQaWxvdC5EYXRlKGUpLHRoaXMuZW5kPXQuaXNEYXlQaWxvdERhdGU/dDpuZXcgRGF5UGlsb3QuRGF0ZSh0KSx0aGlzLnJlc291cmNlPWEsdGhpcy5yb290PXIsdGhpcy50b0pTT049ZnVuY3Rpb24oZSl7dmFyIHQ9e307cmV0dXJuIHQuc3RhcnQ9dGhpcy5zdGFydCx0LmVuZD10aGlzLmVuZCx0LnJlc291cmNlPXRoaXMucmVzb3VyY2UsdH19LERheVBpbG90LnJlcXVlc3Q9ZnVuY3Rpb24oZSx0LGEscil7dmFyIG89RGF5UGlsb3QuY3JlYXRlWG1sSHR0cCgpO28mJihvLm9wZW4oXCJQT1NUXCIsZSwhMCksby5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC10eXBlXCIsXCJ0ZXh0L3BsYWluXCIpLG8ub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09PW8ucmVhZHlTdGF0ZSlyZXR1cm4gMjAwIT09by5zdGF0dXMmJjMwNCE9PW8uc3RhdHVzP3ZvaWQocj9yKG8pOndpbmRvdy5jb25zb2xlJiZjb25zb2xlLmxvZyhcIkhUVFAgZXJyb3IgXCIrby5zdGF0dXMpKTp2b2lkIHQobyl9LDQhPT1vLnJlYWR5U3RhdGUmJihcIm9iamVjdFwiPT10eXBlb2YgYSYmKGE9SlNPTi5zdHJpbmdpZnkoYSkpLG8uc2VuZChhKSkpfSxEYXlQaWxvdC5hamF4PWZ1bmN0aW9uKGUpe2lmKCFlKXRocm93IG5ldyBEYXlQaWxvdC5FeGNlcHRpb24oXCJQYXJhbWV0ZXIgb2JqZWN0IHJlcXVpcmVkLlwiKTtpZihcInN0cmluZ1wiIT10eXBlb2YgZS51cmwpdGhyb3cgbmV3IERheVBpbG90LkV4Y2VwdGlvbihcIlRoZSBwYXJhbWV0ZXIgb2JqZWN0IG11c3QgaGF2ZSAndXJsJyBwcm9wZXJ0eS5cIik7dmFyIHQ9RGF5UGlsb3QuY3JlYXRlWG1sSHR0cCgpO2lmKCF0KXRocm93IG5ldyBEYXlQaWxvdC5FeGNlcHRpb24oXCJVbmFibGUgdG8gY3JlYXRlIFhNTEh0dHBSZXF1ZXN0IG9iamVjdFwiKTt2YXIgYT1cIm9iamVjdFwiPT10eXBlb2YgZS5kYXRhLHI9ZS5kYXRhLG89ZS5tZXRob2R8fChlLmRhdGE/XCJQT1NUXCI6XCJHRVRcIiksbj1lLnN1Y2Nlc3N8fGZ1bmN0aW9uKCl7fSxpPWUuZXJyb3J8fGZ1bmN0aW9uKCl7fSxkPWUudXJsLHM9ZS5jb250ZW50VHlwZXx8KGE/XCJhcHBsaWNhdGlvbi9qc29uXCI6XCJ0ZXh0L3BsYWluXCIpLGw9ZS5oZWFkZXJzfHx7fTt0Lm9wZW4obyxkLCEwKSx0LnNldFJlcXVlc3RIZWFkZXIoXCJDb250ZW50LXR5cGVcIixzKSxEYXlQaWxvdC5VdGlsLm93blByb3BzQXNBcnJheShsKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Quc2V0UmVxdWVzdEhlYWRlcihlLmtleSxlLnZhbCl9KSx0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKDQ9PT10LnJlYWR5U3RhdGUpaWYoMjAwPT09dC5zdGF0dXN8fDIwMT09PXQuc3RhdHVzfHwyMDQ9PT10LnN0YXR1c3x8MzA0PT09dC5zdGF0dXMpe3ZhciBlPXt9O2UucmVxdWVzdD10LHQucmVzcG9uc2VUZXh0JiYoZS5kYXRhPUpTT04ucGFyc2UodC5yZXNwb25zZVRleHQpKSxuKGUpfWVsc2UgaWYoaSl7dmFyIGU9e307ZS5yZXF1ZXN0PXQsaShlKX1lbHNlIHdpbmRvdy5jb25zb2xlJiZjb25zb2xlLmxvZyhcIkhUVFAgZXJyb3IgXCIrdC5zdGF0dXMpfSw0IT09dC5yZWFkeVN0YXRlJiYoYSYmKHI9SlNPTi5zdHJpbmdpZnkocikpLHQuc2VuZChyKSl9LERheVBpbG90LmNyZWF0ZVhtbEh0dHA9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0fSxEYXlQaWxvdC5IdHRwPXt9LERheVBpbG90Lkh0dHAuYWpheD1mdW5jdGlvbihlKXtEYXlQaWxvdC5hamF4KGUpfSxEYXlQaWxvdC5VdGlsPXt9LERheVBpbG90LlV0aWwuYWRkQ2xhc3M9ZnVuY3Rpb24oZSx0KXtpZihlKXtpZighZS5jbGFzc05hbWUpcmV0dXJuIHZvaWQoZS5jbGFzc05hbWU9dCk7bmV3IFJlZ0V4cChcIihefFxcXFxzKVwiK3QrXCIoJHxcXFxccylcIikudGVzdChlLmNsYXNzTmFtZSl8fChlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZStcIiBcIit0KX19LERheVBpbG90LlV0aWwucmVtb3ZlQ2xhc3M9ZnVuY3Rpb24oZSx0KXtpZihlKXt2YXIgYT1uZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIrdCtcIigkfFxcXFxzKVwiKTtlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKGEsXCIgXCIpLnJlcGxhY2UoL15cXHNcXHMqLyxcIlwiKS5yZXBsYWNlKC9cXHNcXHMqJC8sXCJcIil9fSxEYXlQaWxvdC5VdGlsLm93blByb3BzQXNBcnJheT1mdW5jdGlvbihlKXt2YXIgdD1bXTtpZighZSlyZXR1cm4gdDtmb3IodmFyIGEgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGEpKXt2YXIgcj17fTtyLmtleT1hLHIudmFsPWVbYV0sdC5wdXNoKHIpfXJldHVybiB0fSxEYXlQaWxvdC5VdGlsLnJlcGxhY2VDaGFyQXQ9ZnVuY3Rpb24oZSx0LGEpe3JldHVybiBlLnN1YnN0cigwLHQpK2ErZS5zdWJzdHIodCthLmxlbmd0aCl9LERheVBpbG90LlV0aWwuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHxcInVuZGVmaW5lZFwiPT10eXBlb2YgZX0sRGF5UGlsb3QuRXhjZXB0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRXJyb3IoZSl9LERheVBpbG90LkxvY2FsZT1mdW5jdGlvbihlLHQpe2lmKHRoaXMuaWQ9ZSx0aGlzLmRheU5hbWVzPVtcIlN1bmRheVwiLFwiTW9uZGF5XCIsXCJUdWVzZGF5XCIsXCJXZWRuZXNkYXlcIixcIlRodXJzZGF5XCIsXCJGcmlkYXlcIixcIlNhdHVyZGF5XCJdLHRoaXMuZGF5TmFtZXNTaG9ydD1bXCJTdVwiLFwiTW9cIixcIlR1XCIsXCJXZVwiLFwiVGhcIixcIkZyXCIsXCJTYVwiXSx0aGlzLm1vbnRoTmFtZXM9W1wiSmFudWFyeVwiLFwiRmVicnVhcnlcIixcIk1hcmNoXCIsXCJBcHJpbFwiLFwiTWF5XCIsXCJKdW5lXCIsXCJKdWx5XCIsXCJBdWd1c3RcIixcIlNlcHRlbWJlclwiLFwiT2N0b2JlclwiLFwiTm92ZW1iZXJcIixcIkRlY2VtYmVyXCJdLHRoaXMuZGF0ZVBhdHRlcm49XCJNL2QveXl5eVwiLHRoaXMudGltZVBhdHRlcm49XCJIOm1tXCIsdGhpcy5kYXRlVGltZVBhdHRlcm49XCJNL2QveXl5eSBIOm1tXCIsdGhpcy50aW1lRm9ybWF0PVwiQ2xvY2sxMkhvdXJzXCIsdGhpcy53ZWVrU3RhcnRzPTAsdClmb3IodmFyIGEgaW4gdCl0aGlzW2FdPXRbYV19LERheVBpbG90LkxvY2FsZS5hbGw9e30sRGF5UGlsb3QuTG9jYWxlLmZpbmQ9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7dmFyIHQ9ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0Lmxlbmd0aD4yJiYodD1EYXlQaWxvdC5VdGlsLnJlcGxhY2VDaGFyQXQodCwyLFwiLVwiKSksRGF5UGlsb3QuTG9jYWxlLmFsbFt0XX0sRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyPWZ1bmN0aW9uKGUpe0RheVBpbG90LkxvY2FsZS5hbGxbZS5pZF09ZX0sRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJjYS1lc1wiLHtcImRheU5hbWVzXCI6W1wiZGl1bWVuZ2VcIixcImRpbGx1bnNcIixcImRpbWFydHNcIixcImRpbWVjcmVzXCIsXCJkaWpvdXNcIixcImRpdmVuZHJlc1wiLFwiZGlzc2FidGVcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiZGdcIixcImRsXCIsXCJkdFwiLFwiZGNcIixcImRqXCIsXCJkdlwiLFwiZHNcIl0sXCJtb250aE5hbWVzXCI6W1wiZ2VuZXJcIixcImZlYnJlclwiLFwibWFyw6dcIixcImFicmlsXCIsXCJtYWlnXCIsXCJqdW55XCIsXCJqdWxpb2xcIixcImFnb3N0XCIsXCJzZXRlbWJyZVwiLFwib2N0dWJyZVwiLFwibm92ZW1icmVcIixcImRlc2VtYnJlXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJnZW4uXCIsXCJmZWJyLlwiLFwibWFyw6dcIixcImFici5cIixcIm1haWdcIixcImp1bnlcIixcImp1bC5cIixcImFnLlwiLFwic2V0LlwiLFwib2N0LlwiLFwibm92LlwiLFwiZGVzLlwiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC9NTS95eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkL01NL3l5eXkgSDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImNzLWN6XCIse1wiZGF5TmFtZXNcIjpbXCJuZWTEm2xlXCIsXCJwb25kxJtsw61cIixcIsO6dGVyw71cIixcInN0xZllZGFcIixcIsSNdHZydGVrXCIsXCJww6F0ZWtcIixcInNvYm90YVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJuZVwiLFwicG9cIixcIsO6dFwiLFwic3RcIixcIsSNdFwiLFwicMOhXCIsXCJzb1wiXSxcIm1vbnRoTmFtZXNcIjpbXCJsZWRlblwiLFwiw7pub3JcIixcImLFmWV6ZW5cIixcImR1YmVuXCIsXCJrdsSbdGVuXCIsXCLEjWVydmVuXCIsXCLEjWVydmVuZWNcIixcInNycGVuXCIsXCJ6w6HFmcOtXCIsXCLFmcOtamVuXCIsXCJsaXN0b3BhZFwiLFwicHJvc2luZWNcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIklcIixcIklJXCIsXCJJSUlcIixcIklWXCIsXCJWXCIsXCJWSVwiLFwiVklJXCIsXCJWSUlJXCIsXCJJWFwiLFwiWFwiLFwiWElcIixcIlhJSVwiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkLiBNLiB5eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImQuIE0uIHl5eXkgSDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImRhLWRrXCIse1wiZGF5TmFtZXNcIjpbXCJzw7huZGFnXCIsXCJtYW5kYWdcIixcInRpcnNkYWdcIixcIm9uc2RhZ1wiLFwidG9yc2RhZ1wiLFwiZnJlZGFnXCIsXCJsw7hyZGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcInPDuFwiLFwibWFcIixcInRpXCIsXCJvblwiLFwidG9cIixcImZyXCIsXCJsw7hcIl0sXCJtb250aE5hbWVzXCI6W1wiamFudWFyXCIsXCJmZWJydWFyXCIsXCJtYXJ0c1wiLFwiYXByaWxcIixcIm1halwiLFwianVuaVwiLFwianVsaVwiLFwiYXVndXN0XCIsXCJzZXB0ZW1iZXJcIixcIm9rdG9iZXJcIixcIm5vdmVtYmVyXCIsXCJkZWNlbWJlclwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1wiamFuXCIsXCJmZWJcIixcIm1hclwiLFwiYXByXCIsXCJtYWpcIixcImp1blwiLFwianVsXCIsXCJhdWdcIixcInNlcFwiLFwib2t0XCIsXCJub3ZcIixcImRlY1wiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkhIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwiZGQtTU0teXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkZC1NTS15eXl5IEhIOm1tXCIsXCJ0aW1lRm9ybWF0XCI6XCJDbG9jazI0SG91cnNcIixcIndlZWtTdGFydHNcIjoxfSkpLERheVBpbG90LkxvY2FsZS5yZWdpc3RlcihuZXcgRGF5UGlsb3QuTG9jYWxlKFwiZGUtYXRcIix7XCJkYXlOYW1lc1wiOltcIlNvbm50YWdcIixcIk1vbnRhZ1wiLFwiRGllbnN0YWdcIixcIk1pdHR3b2NoXCIsXCJEb25uZXJzdGFnXCIsXCJGcmVpdGFnXCIsXCJTYW1zdGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIlNvXCIsXCJNb1wiLFwiRGlcIixcIk1pXCIsXCJEb1wiLFwiRnJcIixcIlNhXCJdLFwibW9udGhOYW1lc1wiOltcIkrDpG5uZXJcIixcIkZlYnJ1YXJcIixcIk3DpHJ6XCIsXCJBcHJpbFwiLFwiTWFpXCIsXCJKdW5pXCIsXCJKdWxpXCIsXCJBdWd1c3RcIixcIlNlcHRlbWJlclwiLFwiT2t0b2JlclwiLFwiTm92ZW1iZXJcIixcIkRlemVtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJKw6RuXCIsXCJGZWJcIixcIk3DpHJcIixcIkFwclwiLFwiTWFpXCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9rdFwiLFwiTm92XCIsXCJEZXpcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkLk1NLnl5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQuTU0ueXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImRlLWNoXCIse1wiZGF5TmFtZXNcIjpbXCJTb25udGFnXCIsXCJNb250YWdcIixcIkRpZW5zdGFnXCIsXCJNaXR0d29jaFwiLFwiRG9ubmVyc3RhZ1wiLFwiRnJlaXRhZ1wiLFwiU2Ftc3RhZ1wiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJTb1wiLFwiTW9cIixcIkRpXCIsXCJNaVwiLFwiRG9cIixcIkZyXCIsXCJTYVwiXSxcIm1vbnRoTmFtZXNcIjpbXCJKYW51YXJcIixcIkZlYnJ1YXJcIixcIk3DpHJ6XCIsXCJBcHJpbFwiLFwiTWFpXCIsXCJKdW5pXCIsXCJKdWxpXCIsXCJBdWd1c3RcIixcIlNlcHRlbWJlclwiLFwiT2t0b2JlclwiLFwiTm92ZW1iZXJcIixcIkRlemVtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJKYW5cIixcIkZlYlwiLFwiTXJ6XCIsXCJBcHJcIixcIk1haVwiLFwiSnVuXCIsXCJKdWxcIixcIkF1Z1wiLFwiU2VwXCIsXCJPa3RcIixcIk5vdlwiLFwiRGV6XCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkLk1NLnl5eXkgSEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJkZS1kZVwiLHtcImRheU5hbWVzXCI6W1wiU29ubnRhZ1wiLFwiTW9udGFnXCIsXCJEaWVuc3RhZ1wiLFwiTWl0dHdvY2hcIixcIkRvbm5lcnN0YWdcIixcIkZyZWl0YWdcIixcIlNhbXN0YWdcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiU29cIixcIk1vXCIsXCJEaVwiLFwiTWlcIixcIkRvXCIsXCJGclwiLFwiU2FcIl0sXCJtb250aE5hbWVzXCI6W1wiSmFudWFyXCIsXCJGZWJydWFyXCIsXCJNw6RyelwiLFwiQXByaWxcIixcIk1haVwiLFwiSnVuaVwiLFwiSnVsaVwiLFwiQXVndXN0XCIsXCJTZXB0ZW1iZXJcIixcIk9rdG9iZXJcIixcIk5vdmVtYmVyXCIsXCJEZXplbWJlclwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1wiSmFuXCIsXCJGZWJcIixcIk1yelwiLFwiQXByXCIsXCJNYWlcIixcIkp1blwiLFwiSnVsXCIsXCJBdWdcIixcIlNlcFwiLFwiT2t0XCIsXCJOb3ZcIixcIkRlelwiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkhIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwiZGQuTU0ueXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5IEhIOm1tXCIsXCJ0aW1lRm9ybWF0XCI6XCJDbG9jazI0SG91cnNcIixcIndlZWtTdGFydHNcIjoxfSkpLERheVBpbG90LkxvY2FsZS5yZWdpc3RlcihuZXcgRGF5UGlsb3QuTG9jYWxlKFwiZGUtbHVcIix7XCJkYXlOYW1lc1wiOltcIlNvbm50YWdcIixcIk1vbnRhZ1wiLFwiRGllbnN0YWdcIixcIk1pdHR3b2NoXCIsXCJEb25uZXJzdGFnXCIsXCJGcmVpdGFnXCIsXCJTYW1zdGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIlNvXCIsXCJNb1wiLFwiRGlcIixcIk1pXCIsXCJEb1wiLFwiRnJcIixcIlNhXCJdLFwibW9udGhOYW1lc1wiOltcIkphbnVhclwiLFwiRmVicnVhclwiLFwiTcOkcnpcIixcIkFwcmlsXCIsXCJNYWlcIixcIkp1bmlcIixcIkp1bGlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPa3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGV6ZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIkphblwiLFwiRmViXCIsXCJNcnpcIixcIkFwclwiLFwiTWFpXCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9rdFwiLFwiTm92XCIsXCJEZXpcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkLk1NLnl5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQuTU0ueXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImVuLWF1XCIse1wiZGF5TmFtZXNcIjpbXCJTdW5kYXlcIixcIk1vbmRheVwiLFwiVHVlc2RheVwiLFwiV2VkbmVzZGF5XCIsXCJUaHVyc2RheVwiLFwiRnJpZGF5XCIsXCJTYXR1cmRheVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJTdVwiLFwiTW9cIixcIlR1XCIsXCJXZVwiLFwiVGhcIixcIkZyXCIsXCJTYVwiXSxcIm1vbnRoTmFtZXNcIjpbXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIkphblwiLFwiRmViXCIsXCJNYXJcIixcIkFwclwiLFwiTWF5XCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9jdFwiLFwiTm92XCIsXCJEZWNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJoOm1tIHR0XCIsXCJkYXRlUGF0dGVyblwiOlwiZC9NTS95eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImQvTU0veXl5eSBoOm1tIHR0XCIsXCJ0aW1lRm9ybWF0XCI6XCJDbG9jazEySG91cnNcIixcIndlZWtTdGFydHNcIjoxfSkpLERheVBpbG90LkxvY2FsZS5yZWdpc3RlcihuZXcgRGF5UGlsb3QuTG9jYWxlKFwiZW4tY2FcIix7XCJkYXlOYW1lc1wiOltcIlN1bmRheVwiLFwiTW9uZGF5XCIsXCJUdWVzZGF5XCIsXCJXZWRuZXNkYXlcIixcIlRodXJzZGF5XCIsXCJGcmlkYXlcIixcIlNhdHVyZGF5XCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIlN1XCIsXCJNb1wiLFwiVHVcIixcIldlXCIsXCJUaFwiLFwiRnJcIixcIlNhXCJdLFwibW9udGhOYW1lc1wiOltcIkphbnVhcnlcIixcIkZlYnJ1YXJ5XCIsXCJNYXJjaFwiLFwiQXByaWxcIixcIk1heVwiLFwiSnVuZVwiLFwiSnVseVwiLFwiQXVndXN0XCIsXCJTZXB0ZW1iZXJcIixcIk9jdG9iZXJcIixcIk5vdmVtYmVyXCIsXCJEZWNlbWJlclwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1wiSmFuXCIsXCJGZWJcIixcIk1hclwiLFwiQXByXCIsXCJNYXlcIixcIkp1blwiLFwiSnVsXCIsXCJBdWdcIixcIlNlcFwiLFwiT2N0XCIsXCJOb3ZcIixcIkRlY1wiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcImg6bW0gdHRcIixcImRhdGVQYXR0ZXJuXCI6XCJ5eXl5LU1NLWRkXCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcInl5eXktTU0tZGQgaDptbSB0dFwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2sxMkhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MH0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImVuLWdiXCIse1wiZGF5TmFtZXNcIjpbXCJTdW5kYXlcIixcIk1vbmRheVwiLFwiVHVlc2RheVwiLFwiV2VkbmVzZGF5XCIsXCJUaHVyc2RheVwiLFwiRnJpZGF5XCIsXCJTYXR1cmRheVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJTdVwiLFwiTW9cIixcIlR1XCIsXCJXZVwiLFwiVGhcIixcIkZyXCIsXCJTYVwiXSxcIm1vbnRoTmFtZXNcIjpbXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIkphblwiLFwiRmViXCIsXCJNYXJcIixcIkFwclwiLFwiTWF5XCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9jdFwiLFwiTm92XCIsXCJEZWNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImVuLXVzXCIse1wiZGF5TmFtZXNcIjpbXCJTdW5kYXlcIixcIk1vbmRheVwiLFwiVHVlc2RheVwiLFwiV2VkbmVzZGF5XCIsXCJUaHVyc2RheVwiLFwiRnJpZGF5XCIsXCJTYXR1cmRheVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJTdVwiLFwiTW9cIixcIlR1XCIsXCJXZVwiLFwiVGhcIixcIkZyXCIsXCJTYVwiXSxcIm1vbnRoTmFtZXNcIjpbXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIkphblwiLFwiRmViXCIsXCJNYXJcIixcIkFwclwiLFwiTWF5XCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9jdFwiLFwiTm92XCIsXCJEZWNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJoOm1tIHR0XCIsXCJkYXRlUGF0dGVyblwiOlwiTS9kL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiTS9kL3l5eXkgaDptbSB0dFwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2sxMkhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MH0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImVzLWVzXCIse1wiZGF5TmFtZXNcIjpbXCJkb21pbmdvXCIsXCJsdW5lc1wiLFwibWFydGVzXCIsXCJtacOpcmNvbGVzXCIsXCJqdWV2ZXNcIixcInZpZXJuZXNcIixcInPDoWJhZG9cIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiRFwiLFwiTFwiLFwiTVwiLFwiWFwiLFwiSlwiLFwiVlwiLFwiU1wiXSxcIm1vbnRoTmFtZXNcIjpbXCJlbmVyb1wiLFwiZmVicmVyb1wiLFwibWFyem9cIixcImFicmlsXCIsXCJtYXlvXCIsXCJqdW5pb1wiLFwianVsaW9cIixcImFnb3N0b1wiLFwic2VwdGllbWJyZVwiLFwib2N0dWJyZVwiLFwibm92aWVtYnJlXCIsXCJkaWNpZW1icmVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImVuZS5cIixcImZlYi5cIixcIm1hci5cIixcImFici5cIixcIm1heS5cIixcImp1bi5cIixcImp1bC5cIixcImFnby5cIixcInNlcC5cIixcIm9jdC5cIixcIm5vdi5cIixcImRpYy5cIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwiZGQvTU0veXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkZC9NTS95eXl5IEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJlcy1teFwiLHtcImRheU5hbWVzXCI6W1wiZG9taW5nb1wiLFwibHVuZXNcIixcIm1hcnRlc1wiLFwibWnDqXJjb2xlc1wiLFwianVldmVzXCIsXCJ2aWVybmVzXCIsXCJzw6FiYWRvXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcImRvLlwiLFwibHUuXCIsXCJtYS5cIixcIm1pLlwiLFwianUuXCIsXCJ2aS5cIixcInPDoS5cIl0sXCJtb250aE5hbWVzXCI6W1wiZW5lcm9cIixcImZlYnJlcm9cIixcIm1hcnpvXCIsXCJhYnJpbFwiLFwibWF5b1wiLFwianVuaW9cIixcImp1bGlvXCIsXCJhZ29zdG9cIixcInNlcHRpZW1icmVcIixcIm9jdHVicmVcIixcIm5vdmllbWJyZVwiLFwiZGljaWVtYnJlXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJlbmUuXCIsXCJmZWIuXCIsXCJtYXIuXCIsXCJhYnIuXCIsXCJtYXkuXCIsXCJqdW4uXCIsXCJqdWwuXCIsXCJhZ28uXCIsXCJzZXAuXCIsXCJvY3QuXCIsXCJub3YuXCIsXCJkaWMuXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiaGg6bW0gdHRcIixcImRhdGVQYXR0ZXJuXCI6XCJkZC9NTS95eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkL01NL3l5eXkgaGg6bW0gdHRcIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMTJIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjB9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJldS1lc1wiLHtcImRheU5hbWVzXCI6W1wiaWdhbmRlYVwiLFwiYXN0ZWxlaGVuYVwiLFwiYXN0ZWFydGVhXCIsXCJhc3RlYXprZW5hXCIsXCJvc3RlZ3VuYVwiLFwib3N0aXJhbGFcIixcImxhcnVuYmF0YVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJpZ1wiLFwiYWxcIixcImFzXCIsXCJhelwiLFwib2dcIixcIm9yXCIsXCJsclwiXSxcIm1vbnRoTmFtZXNcIjpbXCJ1cnRhcnJpbGFcIixcIm90c2FpbGFcIixcIm1hcnR4b2FcIixcImFwaXJpbGFcIixcIm1haWF0emFcIixcImVrYWluYVwiLFwidXp0YWlsYVwiLFwiYWJ1enR1YVwiLFwiaXJhaWxhXCIsXCJ1cnJpYVwiLFwiYXphcm9hXCIsXCJhYmVuZHVhXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJ1cnQuXCIsXCJvdHMuXCIsXCJtYXIuXCIsXCJhcGkuXCIsXCJtYWkuXCIsXCJla2EuXCIsXCJ1enQuXCIsXCJhYnUuXCIsXCJpcmEuXCIsXCJ1cnIuXCIsXCJhemEuXCIsXCJhYmUuXCIsXCJcIl0sXG5cInRpbWVQYXR0ZXJuXCI6XCJIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwieXl5eS9NTS9kZFwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJ5eXl5L01NL2RkIEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJmaS1maVwiLHtcImRheU5hbWVzXCI6W1wic3VubnVudGFpXCIsXCJtYWFuYW50YWlcIixcInRpaXN0YWlcIixcImtlc2tpdmlpa2tvXCIsXCJ0b3JzdGFpXCIsXCJwZXJqYW50YWlcIixcImxhdWFudGFpXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcInN1XCIsXCJtYVwiLFwidGlcIixcImtlXCIsXCJ0b1wiLFwicGVcIixcImxhXCJdLFwibW9udGhOYW1lc1wiOltcInRhbW1pa3V1XCIsXCJoZWxtaWt1dVwiLFwibWFhbGlza3V1XCIsXCJodWh0aWt1dVwiLFwidG91a29rdXVcIixcImtlc8Oka3V1XCIsXCJoZWluw6RrdXVcIixcImVsb2t1dVwiLFwic3l5c2t1dVwiLFwibG9rYWt1dVwiLFwibWFycmFza3V1XCIsXCJqb3VsdWt1dVwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1widGFtbWlcIixcImhlbG1pXCIsXCJtYWFsaXNcIixcImh1aHRpXCIsXCJ0b3Vrb1wiLFwia2Vzw6RcIixcImhlaW7DpFwiLFwiZWxvXCIsXCJzeXlzXCIsXCJsb2thXCIsXCJtYXJyYXNcIixcImpvdWx1XCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImQuTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImQuTS55eXl5IEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJmci1iZVwiLHtcImRheU5hbWVzXCI6W1wiZGltYW5jaGVcIixcImx1bmRpXCIsXCJtYXJkaVwiLFwibWVyY3JlZGlcIixcImpldWRpXCIsXCJ2ZW5kcmVkaVwiLFwic2FtZWRpXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcImRpXCIsXCJsdVwiLFwibWFcIixcIm1lXCIsXCJqZVwiLFwidmVcIixcInNhXCJdLFwibW9udGhOYW1lc1wiOltcImphbnZpZXJcIixcImbDqXZyaWVyXCIsXCJtYXJzXCIsXCJhdnJpbFwiLFwibWFpXCIsXCJqdWluXCIsXCJqdWlsbGV0XCIsXCJhb8O7dFwiLFwic2VwdGVtYnJlXCIsXCJvY3RvYnJlXCIsXCJub3ZlbWJyZVwiLFwiZMOpY2VtYnJlXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJqYW52LlwiLFwiZsOpdnIuXCIsXCJtYXJzXCIsXCJhdnIuXCIsXCJtYWlcIixcImp1aW5cIixcImp1aWwuXCIsXCJhb8O7dFwiLFwic2VwdC5cIixcIm9jdC5cIixcIm5vdi5cIixcImTDqWMuXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC1NTS15eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkZC1NTS15eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImZyLWNoXCIse1wiZGF5TmFtZXNcIjpbXCJkaW1hbmNoZVwiLFwibHVuZGlcIixcIm1hcmRpXCIsXCJtZXJjcmVkaVwiLFwiamV1ZGlcIixcInZlbmRyZWRpXCIsXCJzYW1lZGlcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiZGlcIixcImx1XCIsXCJtYVwiLFwibWVcIixcImplXCIsXCJ2ZVwiLFwic2FcIl0sXCJtb250aE5hbWVzXCI6W1wiamFudmllclwiLFwiZsOpdnJpZXJcIixcIm1hcnNcIixcImF2cmlsXCIsXCJtYWlcIixcImp1aW5cIixcImp1aWxsZXRcIixcImFvw7t0XCIsXCJzZXB0ZW1icmVcIixcIm9jdG9icmVcIixcIm5vdmVtYnJlXCIsXCJkw6ljZW1icmVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphbnYuXCIsXCJmw6l2ci5cIixcIm1hcnNcIixcImF2ci5cIixcIm1haVwiLFwianVpblwiLFwianVpbC5cIixcImFvw7t0XCIsXCJzZXB0LlwiLFwib2N0LlwiLFwibm92LlwiLFwiZMOpYy5cIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkLk1NLnl5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQuTU0ueXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImZyLWZyXCIse1wiZGF5TmFtZXNcIjpbXCJkaW1hbmNoZVwiLFwibHVuZGlcIixcIm1hcmRpXCIsXCJtZXJjcmVkaVwiLFwiamV1ZGlcIixcInZlbmRyZWRpXCIsXCJzYW1lZGlcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiZGlcIixcImx1XCIsXCJtYVwiLFwibWVcIixcImplXCIsXCJ2ZVwiLFwic2FcIl0sXCJtb250aE5hbWVzXCI6W1wiamFudmllclwiLFwiZsOpdnJpZXJcIixcIm1hcnNcIixcImF2cmlsXCIsXCJtYWlcIixcImp1aW5cIixcImp1aWxsZXRcIixcImFvw7t0XCIsXCJzZXB0ZW1icmVcIixcIm9jdG9icmVcIixcIm5vdmVtYnJlXCIsXCJkw6ljZW1icmVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphbnYuXCIsXCJmw6l2ci5cIixcIm1hcnNcIixcImF2ci5cIixcIm1haVwiLFwianVpblwiLFwianVpbC5cIixcImFvw7t0XCIsXCJzZXB0LlwiLFwib2N0LlwiLFwibm92LlwiLFwiZMOpYy5cIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImZyLWx1XCIse1wiZGF5TmFtZXNcIjpbXCJkaW1hbmNoZVwiLFwibHVuZGlcIixcIm1hcmRpXCIsXCJtZXJjcmVkaVwiLFwiamV1ZGlcIixcInZlbmRyZWRpXCIsXCJzYW1lZGlcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiZGlcIixcImx1XCIsXCJtYVwiLFwibWVcIixcImplXCIsXCJ2ZVwiLFwic2FcIl0sXCJtb250aE5hbWVzXCI6W1wiamFudmllclwiLFwiZsOpdnJpZXJcIixcIm1hcnNcIixcImF2cmlsXCIsXCJtYWlcIixcImp1aW5cIixcImp1aWxsZXRcIixcImFvw7t0XCIsXCJzZXB0ZW1icmVcIixcIm9jdG9icmVcIixcIm5vdmVtYnJlXCIsXCJkw6ljZW1icmVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphbnYuXCIsXCJmw6l2ci5cIixcIm1hcnNcIixcImF2ci5cIixcIm1haVwiLFwianVpblwiLFwianVpbC5cIixcImFvw7t0XCIsXCJzZXB0LlwiLFwib2N0LlwiLFwibm92LlwiLFwiZMOpYy5cIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcImdsLWVzXCIse1wiZGF5TmFtZXNcIjpbXCJkb21pbmdvXCIsXCJsdW5zXCIsXCJtYXJ0ZXNcIixcIm3DqXJjb3Jlc1wiLFwieG92ZXNcIixcInZlbnJlc1wiLFwic8OhYmFkb1wiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJkb1wiLFwibHVcIixcIm1hXCIsXCJtw6lcIixcInhvXCIsXCJ2ZVwiLFwic8OhXCJdLFwibW9udGhOYW1lc1wiOltcInhhbmVpcm9cIixcImZlYnJlaXJvXCIsXCJtYXJ6b1wiLFwiYWJyaWxcIixcIm1haW9cIixcInh1w7FvXCIsXCJ4dWxsb1wiLFwiYWdvc3RvXCIsXCJzZXRlbWJyb1wiLFwib3V0dWJyb1wiLFwibm92ZW1icm9cIixcImRlY2VtYnJvXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJ4YW5cIixcImZlYlwiLFwibWFyXCIsXCJhYnJcIixcIm1haW9cIixcInh1w7FvXCIsXCJ4dWxcIixcImFnb1wiLFwic2V0XCIsXCJvdXRcIixcIm5vdlwiLFwiZGVjXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBIOm1tXCIsXCJ0aW1lRm9ybWF0XCI6XCJDbG9jazI0SG91cnNcIixcIndlZWtTdGFydHNcIjoxfSkpLERheVBpbG90LkxvY2FsZS5yZWdpc3RlcihuZXcgRGF5UGlsb3QuTG9jYWxlKFwiaXQtaXRcIix7XCJkYXlOYW1lc1wiOltcImRvbWVuaWNhXCIsXCJsdW5lZMOsXCIsXCJtYXJ0ZWTDrFwiLFwibWVyY29sZWTDrFwiLFwiZ2lvdmVkw6xcIixcInZlbmVyZMOsXCIsXCJzYWJhdG9cIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiZG9cIixcImx1XCIsXCJtYVwiLFwibWVcIixcImdpXCIsXCJ2ZVwiLFwic2FcIl0sXCJtb250aE5hbWVzXCI6W1wiZ2VubmFpb1wiLFwiZmViYnJhaW9cIixcIm1hcnpvXCIsXCJhcHJpbGVcIixcIm1hZ2dpb1wiLFwiZ2l1Z25vXCIsXCJsdWdsaW9cIixcImFnb3N0b1wiLFwic2V0dGVtYnJlXCIsXCJvdHRvYnJlXCIsXCJub3ZlbWJyZVwiLFwiZGljZW1icmVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImdlblwiLFwiZmViXCIsXCJtYXJcIixcImFwclwiLFwibWFnXCIsXCJnaXVcIixcImx1Z1wiLFwiYWdvXCIsXCJzZXRcIixcIm90dFwiLFwibm92XCIsXCJkaWNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcIml0LWNoXCIse1wiZGF5TmFtZXNcIjpbXCJkb21lbmljYVwiLFwibHVuZWTDrFwiLFwibWFydGVkw6xcIixcIm1lcmNvbGVkw6xcIixcImdpb3ZlZMOsXCIsXCJ2ZW5lcmTDrFwiLFwic2FiYXRvXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcImRvXCIsXCJsdVwiLFwibWFcIixcIm1lXCIsXCJnaVwiLFwidmVcIixcInNhXCJdLFwibW9udGhOYW1lc1wiOltcImdlbm5haW9cIixcImZlYmJyYWlvXCIsXCJtYXJ6b1wiLFwiYXByaWxlXCIsXCJtYWdnaW9cIixcImdpdWdub1wiLFwibHVnbGlvXCIsXCJhZ29zdG9cIixcInNldHRlbWJyZVwiLFwib3R0b2JyZVwiLFwibm92ZW1icmVcIixcImRpY2VtYnJlXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJnZW5cIixcImZlYlwiLFwibWFyXCIsXCJhcHJcIixcIm1hZ1wiLFwiZ2l1XCIsXCJsdWdcIixcImFnb1wiLFwic2V0XCIsXCJvdHRcIixcIm5vdlwiLFwiZGljXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkLk1NLnl5eXkgSEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJqYS1qcFwiLHtcImRheU5hbWVzXCI6W1wi5pel5puc5pelXCIsXCLmnIjmm5zml6VcIixcIueBq+abnOaXpVwiLFwi5rC05puc5pelXCIsXCLmnKjmm5zml6VcIixcIumHkeabnOaXpVwiLFwi5Zyf5puc5pelXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIuaXpVwiLFwi5pyIXCIsXCLngatcIixcIuawtFwiLFwi5pyoXCIsXCLph5FcIixcIuWcn1wiXSxcIm1vbnRoTmFtZXNcIjpbXCIx5pyIXCIsXCIy5pyIXCIsXCIz5pyIXCIsXCI05pyIXCIsXCI15pyIXCIsXCI25pyIXCIsXCI35pyIXCIsXCI45pyIXCIsXCI55pyIXCIsXCIxMOaciFwiLFwiMTHmnIhcIixcIjEy5pyIXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCIxXCIsXCIyXCIsXCIzXCIsXCI0XCIsXCI1XCIsXCI2XCIsXCI3XCIsXCI4XCIsXCI5XCIsXCIxMFwiLFwiMTFcIixcIjEyXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcInl5eXkvTU0vZGRcIixcImRhdGVUaW1lUGF0dGVyblwiOlwieXl5eS9NTS9kZCBIOm1tXCIsXCJ0aW1lRm9ybWF0XCI6XCJDbG9jazI0SG91cnNcIixcIndlZWtTdGFydHNcIjowfSkpLERheVBpbG90LkxvY2FsZS5yZWdpc3RlcihuZXcgRGF5UGlsb3QuTG9jYWxlKFwibmItbm9cIix7XCJkYXlOYW1lc1wiOltcInPDuG5kYWdcIixcIm1hbmRhZ1wiLFwidGlyc2RhZ1wiLFwib25zZGFnXCIsXCJ0b3JzZGFnXCIsXCJmcmVkYWdcIixcImzDuHJkYWdcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wic8O4XCIsXCJtYVwiLFwidGlcIixcIm9uXCIsXCJ0b1wiLFwiZnJcIixcImzDuFwiXSxcIm1vbnRoTmFtZXNcIjpbXCJqYW51YXJcIixcImZlYnJ1YXJcIixcIm1hcnNcIixcImFwcmlsXCIsXCJtYWlcIixcImp1bmlcIixcImp1bGlcIixcImF1Z3VzdFwiLFwic2VwdGVtYmVyXCIsXCJva3RvYmVyXCIsXCJub3ZlbWJlclwiLFwiZGVzZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphblwiLFwiZmViXCIsXCJtYXJcIixcImFwclwiLFwibWFpXCIsXCJqdW5cIixcImp1bFwiLFwiYXVnXCIsXCJzZXBcIixcIm9rdFwiLFwibm92XCIsXCJkZXNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkLk1NLnl5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQuTU0ueXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcIm5sLW5sXCIse1wiZGF5TmFtZXNcIjpbXCJ6b25kYWdcIixcIm1hYW5kYWdcIixcImRpbnNkYWdcIixcIndvZW5zZGFnXCIsXCJkb25kZXJkYWdcIixcInZyaWpkYWdcIixcInphdGVyZGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcInpvXCIsXCJtYVwiLFwiZGlcIixcIndvXCIsXCJkb1wiLFwidnJcIixcInphXCJdLFwibW9udGhOYW1lc1wiOltcImphbnVhcmlcIixcImZlYnJ1YXJpXCIsXCJtYWFydFwiLFwiYXByaWxcIixcIm1laVwiLFwianVuaVwiLFwianVsaVwiLFwiYXVndXN0dXNcIixcInNlcHRlbWJlclwiLFwib2t0b2JlclwiLFwibm92ZW1iZXJcIixcImRlY2VtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJqYW5cIixcImZlYlwiLFwibXJ0XCIsXCJhcHJcIixcIm1laVwiLFwianVuXCIsXCJqdWxcIixcImF1Z1wiLFwic2VwXCIsXCJva3RcIixcIm5vdlwiLFwiZGVjXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkLU0teXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkLU0teXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcIm5sLWJlXCIse1wiZGF5TmFtZXNcIjpbXCJ6b25kYWdcIixcIm1hYW5kYWdcIixcImRpbnNkYWdcIixcIndvZW5zZGFnXCIsXCJkb25kZXJkYWdcIixcInZyaWpkYWdcIixcInphdGVyZGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcInpvXCIsXCJtYVwiLFwiZGlcIixcIndvXCIsXCJkb1wiLFwidnJcIixcInphXCJdLFwibW9udGhOYW1lc1wiOltcImphbnVhcmlcIixcImZlYnJ1YXJpXCIsXCJtYWFydFwiLFwiYXByaWxcIixcIm1laVwiLFwianVuaVwiLFwianVsaVwiLFwiYXVndXN0dXNcIixcInNlcHRlbWJlclwiLFwib2t0b2JlclwiLFwibm92ZW1iZXJcIixcImRlY2VtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJqYW5cIixcImZlYlwiLFwibXJ0XCIsXCJhcHJcIixcIm1laVwiLFwianVuXCIsXCJqdWxcIixcImF1Z1wiLFwic2VwXCIsXCJva3RcIixcIm5vdlwiLFwiZGVjXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImQvTU0veXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkL01NL3l5eXkgSDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcIm5uLW5vXCIse1wiZGF5TmFtZXNcIjpbXCJzw7huZGFnXCIsXCJtw6VuZGFnXCIsXCJ0eXNkYWdcIixcIm9uc2RhZ1wiLFwidG9yc2RhZ1wiLFwiZnJlZGFnXCIsXCJsYXVyZGFnXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcInPDuFwiLFwibcOlXCIsXCJ0eVwiLFwib25cIixcInRvXCIsXCJmclwiLFwibGFcIl0sXCJtb250aE5hbWVzXCI6W1wiamFudWFyXCIsXCJmZWJydWFyXCIsXCJtYXJzXCIsXCJhcHJpbFwiLFwibWFpXCIsXCJqdW5pXCIsXCJqdWxpXCIsXCJhdWd1c3RcIixcInNlcHRlbWJlclwiLFwib2t0b2JlclwiLFwibm92ZW1iZXJcIixcImRlc2VtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJqYW5cIixcImZlYlwiLFwibWFyXCIsXCJhcHJcIixcIm1haVwiLFwianVuXCIsXCJqdWxcIixcImF1Z1wiLFwic2VwXCIsXCJva3RcIixcIm5vdlwiLFwiZGVzXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkLk1NLnl5eXkgSEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJwdC1iclwiLHtcImRheU5hbWVzXCI6W1wiZG9taW5nb1wiLFwic2VndW5kYS1mZWlyYVwiLFwidGVyw6dhLWZlaXJhXCIsXCJxdWFydGEtZmVpcmFcIixcInF1aW50YS1mZWlyYVwiLFwic2V4dGEtZmVpcmFcIixcInPDoWJhZG9cIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiRFwiLFwiU1wiLFwiVFwiLFwiUVwiLFwiUVwiLFwiU1wiLFwiU1wiXSxcIm1vbnRoTmFtZXNcIjpbXCJqYW5laXJvXCIsXCJmZXZlcmVpcm9cIixcIm1hcsOnb1wiLFwiYWJyaWxcIixcIm1haW9cIixcImp1bmhvXCIsXCJqdWxob1wiLFwiYWdvc3RvXCIsXCJzZXRlbWJyb1wiLFwib3V0dWJyb1wiLFwibm92ZW1icm9cIixcImRlemVtYnJvXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCJqYW5cIixcImZldlwiLFwibWFyXCIsXCJhYnJcIixcIm1haVwiLFwianVuXCIsXCJqdWxcIixcImFnb1wiLFwic2V0XCIsXCJvdXRcIixcIm5vdlwiLFwiZGV6XCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSEg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC9NTS95eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkL01NL3l5eXkgSEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjB9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJwbC1wbFwiLHtcImRheU5hbWVzXCI6W1wibmllZHppZWxhXCIsXCJwb25pZWR6aWHFgmVrXCIsXCJ3dG9yZWtcIixcIsWbcm9kYVwiLFwiY3p3YXJ0ZWtcIixcInBpxIV0ZWtcIixcInNvYm90YVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJOXCIsXCJQblwiLFwiV3RcIixcIsWaclwiLFwiQ3pcIixcIlB0XCIsXCJTb1wiXSxcIm1vbnRoTmFtZXNcIjpbXCJzdHljemXFhFwiLFwibHV0eVwiLFwibWFyemVjXCIsXCJrd2llY2llxYRcIixcIm1halwiLFwiY3plcndpZWNcIixcImxpcGllY1wiLFwic2llcnBpZcWEXCIsXCJ3cnplc2llxYRcIixcInBhxbpkemllcm5pa1wiLFwibGlzdG9wYWRcIixcImdydWR6aWXFhFwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1wic3R5XCIsXCJsdXRcIixcIm1hclwiLFwia3dpXCIsXCJtYWpcIixcImN6ZVwiLFwibGlwXCIsXCJzaWVcIixcIndyelwiLFwicGHFulwiLFwibGlzXCIsXCJncnVcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcInl5eXktTU0tZGRcIixcImRhdGVUaW1lUGF0dGVyblwiOlwieXl5eS1NTS1kZCBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcInB0LXB0XCIse1wiZGF5TmFtZXNcIjpbXCJkb21pbmdvXCIsXCJzZWd1bmRhLWZlaXJhXCIsXCJ0ZXLDp2EtZmVpcmFcIixcInF1YXJ0YS1mZWlyYVwiLFwicXVpbnRhLWZlaXJhXCIsXCJzZXh0YS1mZWlyYVwiLFwic8OhYmFkb1wiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJEXCIsXCJTXCIsXCJUXCIsXCJRXCIsXCJRXCIsXCJTXCIsXCJTXCJdLFwibW9udGhOYW1lc1wiOltcImphbmVpcm9cIixcImZldmVyZWlyb1wiLFwibWFyw6dvXCIsXCJhYnJpbFwiLFwibWFpb1wiLFwianVuaG9cIixcImp1bGhvXCIsXCJhZ29zdG9cIixcInNldGVtYnJvXCIsXCJvdXR1YnJvXCIsXCJub3ZlbWJyb1wiLFwiZGV6ZW1icm9cIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphblwiLFwiZmV2XCIsXCJtYXJcIixcImFiclwiLFwibWFpXCIsXCJqdW5cIixcImp1bFwiLFwiYWdvXCIsXCJzZXRcIixcIm91dFwiLFwibm92XCIsXCJkZXpcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImRkL01NL3l5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZGQvTU0veXl5eSBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MH0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcInJvLXJvXCIse1wiZGF5TmFtZXNcIjpbXCJkdW1pbmljxINcIixcImx1bmlcIixcIm1hcsibaVwiLFwibWllcmN1cmlcIixcImpvaVwiLFwidmluZXJpXCIsXCJzw6JtYsSDdMSDXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIkRcIixcIkxcIixcIk1hXCIsXCJNaVwiLFwiSlwiLFwiVlwiLFwiU1wiXSxcIm1vbnRoTmFtZXNcIjpbXCJpYW51YXJpZVwiLFwiZmVicnVhcmllXCIsXCJtYXJ0aWVcIixcImFwcmlsaWVcIixcIm1haVwiLFwiaXVuaWVcIixcIml1bGllXCIsXCJhdWd1c3RcIixcInNlcHRlbWJyaWVcIixcIm9jdG9tYnJpZVwiLFwibm9pZW1icmllXCIsXCJkZWNlbWJyaWVcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImlhbi5cIixcImZlYi5cIixcIm1hci5cIixcImFwci5cIixcIm1haS5cIixcIml1bi5cIixcIml1bC5cIixcImF1Zy5cIixcInNlcC5cIixcIm9jdC5cIixcIm5vdi5cIixcImRlYy5cIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwiZGQuTU0ueXl5eVwiLFwiZGF0ZVRpbWVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5IEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJydS1ydVwiLHtcImRheU5hbWVzXCI6W1wi0LLQvtGB0LrRgNC10YHQtdC90YzQtVwiLFwi0L/QvtC90LXQtNC10LvRjNC90LjQulwiLFwi0LLRgtC+0YDQvdC40LpcIixcItGB0YDQtdC00LBcIixcItGH0LXRgtCy0LXRgNCzXCIsXCLQv9GP0YLQvdC40YbQsFwiLFwi0YHRg9Cx0LHQvtGC0LBcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wi0JLRgVwiLFwi0J/QvVwiLFwi0JLRglwiLFwi0KHRgFwiLFwi0KfRglwiLFwi0J/RglwiLFwi0KHQsVwiXSxcIm1vbnRoTmFtZXNcIjpbXCLQr9C90LLQsNGA0YxcIixcItCk0LXQstGA0LDQu9GMXCIsXCLQnNCw0YDRglwiLFwi0JDQv9GA0LXQu9GMXCIsXCLQnNCw0LlcIixcItCY0Y7QvdGMXCIsXCLQmNGO0LvRjFwiLFwi0JDQstCz0YPRgdGCXCIsXCLQodC10L3RgtGP0LHRgNGMXCIsXCLQntC60YLRj9Cx0YDRjFwiLFwi0J3QvtGP0LHRgNGMXCIsXCLQlNC10LrQsNCx0YDRjFwiLFwiXCJdLFwibW9udGhOYW1lc1Nob3J0XCI6W1wi0Y/QvdCyXCIsXCLRhNC10LJcIixcItC80LDRgFwiLFwi0LDQv9GAXCIsXCLQvNCw0LlcIixcItC40Y7QvVwiLFwi0LjRjtC7XCIsXCLQsNCy0LNcIixcItGB0LXQvVwiLFwi0L7QutGCXCIsXCLQvdC+0Y9cIixcItC00LXQulwiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkg6bW1cIixcImRhdGVQYXR0ZXJuXCI6XCJkZC5NTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImRkLk1NLnl5eXkgSDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcInNrLXNrXCIse1wiZGF5TmFtZXNcIjpbXCJuZWRlxL5hXCIsXCJwb25kZWxva1wiLFwidXRvcm9rXCIsXCJzdHJlZGFcIixcIsWhdHZydG9rXCIsXCJwaWF0b2tcIixcInNvYm90YVwiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJuZVwiLFwicG9cIixcInV0XCIsXCJzdFwiLFwixaF0XCIsXCJwaVwiLFwic29cIl0sXCJtb250aE5hbWVzXCI6W1wiamFudcOhclwiLFwiZmVicnXDoXJcIixcIm1hcmVjXCIsXCJhcHLDrWxcIixcIm3DoWpcIixcImrDum5cIixcImrDumxcIixcImF1Z3VzdFwiLFwic2VwdGVtYmVyXCIsXCJva3TDs2JlclwiLFwibm92ZW1iZXJcIixcImRlY2VtYmVyXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCIxXCIsXCIyXCIsXCIzXCIsXCI0XCIsXCI1XCIsXCI2XCIsXCI3XCIsXCI4XCIsXCI5XCIsXCIxMFwiLFwiMTFcIixcIjEyXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcImQuTS55eXl5XCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcImQuTS55eXl5IEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJzdi1zZVwiLHtcImRheU5hbWVzXCI6W1wic8O2bmRhZ1wiLFwibcOlbmRhZ1wiLFwidGlzZGFnXCIsXCJvbnNkYWdcIixcInRvcnNkYWdcIixcImZyZWRhZ1wiLFwibMO2cmRhZ1wiXSxcImRheU5hbWVzU2hvcnRcIjpbXCJzw7ZcIixcIm3DpVwiLFwidGlcIixcIm9uXCIsXCJ0b1wiLFwiZnJcIixcImzDtlwiXSxcIm1vbnRoTmFtZXNcIjpbXCJqYW51YXJpXCIsXCJmZWJydWFyaVwiLFwibWFyc1wiLFwiYXByaWxcIixcIm1halwiLFwianVuaVwiLFwianVsaVwiLFwiYXVndXN0aVwiLFwic2VwdGVtYmVyXCIsXCJva3RvYmVyXCIsXCJub3ZlbWJlclwiLFwiZGVjZW1iZXJcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcImphblwiLFwiZmViXCIsXCJtYXJcIixcImFwclwiLFwibWFqXCIsXCJqdW5cIixcImp1bFwiLFwiYXVnXCIsXCJzZXBcIixcIm9rdFwiLFwibm92XCIsXCJkZWNcIixcIlwiXSxcInRpbWVQYXR0ZXJuXCI6XCJISDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcInl5eXktTU0tZGRcIixcImRhdGVUaW1lUGF0dGVyblwiOlwieXl5eS1NTS1kZCBISDptbVwiLFwidGltZUZvcm1hdFwiOlwiQ2xvY2syNEhvdXJzXCIsXCJ3ZWVrU3RhcnRzXCI6MX0pKSxEYXlQaWxvdC5Mb2NhbGUucmVnaXN0ZXIobmV3IERheVBpbG90LkxvY2FsZShcInRyLXRyXCIse1wiZGF5TmFtZXNcIjpbXCJQYXphclwiLFwiUGF6YXJ0ZXNpXCIsXCJTYWzEsVwiLFwiw4dhcsWfYW1iYVwiLFwiUGVyxZ9lbWJlXCIsXCJDdW1hXCIsXCJDdW1hcnRlc2lcIl0sXCJkYXlOYW1lc1Nob3J0XCI6W1wiUHpcIixcIlB0XCIsXCJTYVwiLFwiw4dhXCIsXCJQZVwiLFwiQ3VcIixcIkN0XCJdLFwibW9udGhOYW1lc1wiOltcIk9jYWtcIixcIsWedWJhdFwiLFwiTWFydFwiLFwiTmlzYW5cIixcIk1hecSxc1wiLFwiSGF6aXJhblwiLFwiVGVtbXV6XCIsXCJBxJ91c3Rvc1wiLFwiRXlsw7xsXCIsXCJFa2ltXCIsXCJLYXPEsW1cIixcIkFyYWzEsWtcIixcIlwiXSxcIm1vbnRoTmFtZXNTaG9ydFwiOltcIk9jYVwiLFwixZ51YlwiLFwiTWFyXCIsXCJOaXNcIixcIk1heVwiLFwiSGF6XCIsXCJUZW1cIixcIkHEn3VcIixcIkV5bFwiLFwiRWtpXCIsXCJLYXNcIixcIkFyYVwiLFwiXCJdLFwidGltZVBhdHRlcm5cIjpcIkhIOm1tXCIsXCJkYXRlUGF0dGVyblwiOlwiZC5NLnl5eXlcIixcImRhdGVUaW1lUGF0dGVyblwiOlwiZC5NLnl5eXkgSEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLnJlZ2lzdGVyKG5ldyBEYXlQaWxvdC5Mb2NhbGUoXCJ6aC1jblwiLHtcImRheU5hbWVzXCI6W1wi5pif5pyf5pelXCIsXCLmmJ/mnJ/kuIBcIixcIuaYn+acn+S6jFwiLFwi5pif5pyf5LiJXCIsXCLmmJ/mnJ/lm5tcIixcIuaYn+acn+S6lFwiLFwi5pif5pyf5YWtXCJdLFwiZGF5TmFtZXNTaG9ydFwiOltcIuaXpVwiLFwi5LiAXCIsXCLkuoxcIixcIuS4iVwiLFwi5ZubXCIsXCLkupRcIixcIuWFrVwiXSxcIm1vbnRoTmFtZXNcIjpbXCLkuIDmnIhcIixcIuS6jOaciFwiLFwi5LiJ5pyIXCIsXCLlm5vmnIhcIixcIuS6lOaciFwiLFwi5YWt5pyIXCIsXCLkuIPmnIhcIixcIuWFq+aciFwiLFwi5Lmd5pyIXCIsXCLljYHmnIhcIixcIuWNgeS4gOaciFwiLFwi5Y2B5LqM5pyIXCIsXCJcIl0sXCJtb250aE5hbWVzU2hvcnRcIjpbXCIx5pyIXCIsXCIy5pyIXCIsXCIz5pyIXCIsXCI05pyIXCIsXCI15pyIXCIsXCI25pyIXCIsXCI35pyIXCIsXCI45pyIXCIsXCI55pyIXCIsXCIxMOaciFwiLFwiMTHmnIhcIixcIjEy5pyIXCIsXCJcIl0sXCJ0aW1lUGF0dGVyblwiOlwiSDptbVwiLFwiZGF0ZVBhdHRlcm5cIjpcInl5eXkvTS9kXCIsXCJkYXRlVGltZVBhdHRlcm5cIjpcInl5eXkvTS9kIEg6bW1cIixcInRpbWVGb3JtYXRcIjpcIkNsb2NrMjRIb3Vyc1wiLFwid2Vla1N0YXJ0c1wiOjF9KSksRGF5UGlsb3QuTG9jYWxlLlVTPURheVBpbG90LkxvY2FsZS5maW5kKFwiZW4tdXNcIiksRGF5UGlsb3QuRHVyYXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxhPTg2NGU1LHI9MzZlNSxvPTZlNCxuPTFlMztpZigyPT09YXJndW1lbnRzLmxlbmd0aCl7dmFyIGk9YXJndW1lbnRzWzBdLGQ9YXJndW1lbnRzWzFdO2lmKCEoaSBpbnN0YW5jZW9mIERheVBpbG90LkRhdGUpJiZcInN0cmluZ1wiIT10eXBlb2YgaSl0aHJvd1wiRGF5UGlsb3QuRHVyYXRpb24oKTogSW52YWxpZCBzdGFydCBhcmd1bWVudCwgRGF5UGlsb3QuRGF0ZSBleHBlY3RlZFwiO2lmKCEoZCBpbnN0YW5jZW9mIERheVBpbG90LkRhdGUpJiZcInN0cmluZ1wiIT10eXBlb2YgZCl0aHJvd1wiRGF5UGlsb3QuRHVyYXRpb24oKTogSW52YWxpZCBlbmQgYXJndW1lbnQsIERheVBpbG90LkRhdGUgZXhwZWN0ZWRcIjtcInN0cmluZ1wiPT10eXBlb2YgaSYmKGk9bmV3IERheVBpbG90LkRhdGUoaSkpLFwic3RyaW5nXCI9PXR5cGVvZiBkJiYoZD1uZXcgRGF5UGlsb3QuRGF0ZShkKSksZT1kLmdldFRpbWUoKS1pLmdldFRpbWUoKX1yZXR1cm4gdGhpcy50aWNrcz1lLERheVBpbG90LkRhdGUuQ2FjaGUuRHVyYXRpb25DdG9yW1wiXCIrZV0/RGF5UGlsb3QuRGF0ZS5DYWNoZS5EdXJhdGlvbkN0b3JbXCJcIitlXTooRGF5UGlsb3QuRGF0ZS5DYWNoZS5EdXJhdGlvbkN0b3JbXCJcIitlXT10aGlzLHRoaXMudG9TdHJpbmc9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHQuZGF5cygpK1wiLlwiK3QuaG91cnMoKStcIjpcIit0Lm1pbnV0ZXMoKStcIjpcIit0LnNlY29uZHMoKStcIi5cIit0Lm1pbGxpc2Vjb25kcygpO3ZhciBhPXQubWludXRlcygpO2E9KGE8MTA/XCIwXCI6XCJcIikrYTt2YXIgcj1lO3JldHVybiByPXIucmVwbGFjZShcIm1tXCIsYSkscj1yLnJlcGxhY2UoXCJtXCIsdC5taW51dGVzKCkpLHI9ci5yZXBsYWNlKFwiSFwiLHQuaG91cnMoKSkscj1yLnJlcGxhY2UoXCJoXCIsdC5ob3VycygpKSxyPXIucmVwbGFjZShcImRcIix0LmRheXMoKSkscj1yLnJlcGxhY2UoXCJzXCIsdC5zZWNvbmRzKCkpfSx0aGlzLnRvdGFsSG91cnM9ZnVuY3Rpb24oKXtyZXR1cm4gdC50aWNrcy9yfSx0aGlzLnRvdGFsRGF5cz1mdW5jdGlvbigpe3JldHVybiB0LnRpY2tzL2F9LHRoaXMudG90YWxNaW51dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIHQudGlja3Mvb30sdGhpcy50b3RhbFNlY29uZHM9ZnVuY3Rpb24oKXtyZXR1cm4gdC50aWNrcy9ufSx0aGlzLmRheXM9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcih0LnRvdGFsRGF5cygpKX0sdGhpcy5ob3Vycz1mdW5jdGlvbigpe3ZhciBlPXQudGlja3MtdC5kYXlzKCkqYTtyZXR1cm4gTWF0aC5mbG9vcihlL3IpfSx0aGlzLm1pbnV0ZXM9ZnVuY3Rpb24oKXt2YXIgZT10LnRpY2tzLU1hdGguZmxvb3IodC50b3RhbEhvdXJzKCkpKnI7cmV0dXJuIE1hdGguZmxvb3IoZS9vKX0sdGhpcy5zZWNvbmRzPWZ1bmN0aW9uKCl7dmFyIGU9dC50aWNrcy1NYXRoLmZsb29yKHQudG90YWxNaW51dGVzKCkpKm87cmV0dXJuIE1hdGguZmxvb3IoZS9uKX0sdm9pZCh0aGlzLm1pbGxpc2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiB0LnRpY2tzJW59KSl9LERheVBpbG90LkR1cmF0aW9uLndlZWtzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRGF5UGlsb3QuRHVyYXRpb24oMWUzKmUqNjAqNjAqMjQqNyl9LERheVBpbG90LkR1cmF0aW9uLmRheXM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBEYXlQaWxvdC5EdXJhdGlvbigxZTMqZSo2MCo2MCoyNCl9LERheVBpbG90LkR1cmF0aW9uLmhvdXJzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRGF5UGlsb3QuRHVyYXRpb24oMWUzKmUqNjAqNjApfSxEYXlQaWxvdC5EdXJhdGlvbi5taW51dGVzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRGF5UGlsb3QuRHVyYXRpb24oMWUzKmUqNjApfSxEYXlQaWxvdC5EdXJhdGlvbi5zZWNvbmRzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgRGF5UGlsb3QuRHVyYXRpb24oMWUzKmUpfSxEYXlQaWxvdC5UaW1lU3Bhbj1mdW5jdGlvbigpe3Rocm93XCJQbGVhc2UgdXNlIERheVBpbG90LkR1cmF0aW9uIGNsYXNzIGluc3RlYWQgb2YgRGF5UGlsb3QuVGltZVNwYW4uXCJ9O3RyeXtEYXlQaWxvdC5UaW1lU3Bhbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShEYXlQaWxvdC5EdXJhdGlvbi5wcm90b3R5cGUpfWNhdGNoKGUpe31EYXlQaWxvdC5EYXRlPWZ1bmN0aW9uKHQsYSl7aWYodCBpbnN0YW5jZW9mIERheVBpbG90LkRhdGUpcmV0dXJuIHQ7dmFyIHI7RGF5UGlsb3QuVXRpbC5pc051bGxPclVuZGVmaW5lZCh0KSYmKHI9RGF5UGlsb3QuRGF0ZVV0aWwuZnJvbUxvY2FsKCkuZ2V0VGltZSgpLHQ9cik7dmFyIG89RGF5UGlsb3QuRGF0ZS5DYWNoZS5DdG9yO2lmKG9bdF0pcmV0dXJuIERheVBpbG90LlN0YXRzLmNhY2hlSGl0c0N0b3IrPTEsb1t0XTt2YXIgbj0hMTtpZihcInN0cmluZ1wiPT10eXBlb2YgdClyPURheVBpbG90LkRhdGVVdGlsLmZyb21TdHJpbmdTb3J0YWJsZSh0LGEpLmdldFRpbWUoKSxuPSEwO2Vsc2UgaWYoXCJudW1iZXJcIj09dHlwZW9mIHQpe2lmKGlzTmFOKHQpKXRocm93XCJDYW5ub3QgY3JlYXRlIERheVBpbG90LkRhdGUgZnJvbSBOYU5cIjtyPXR9ZWxzZXtpZighKHQgaW5zdGFuY2VvZiBEYXRlKSl0aHJvd1wiVW5yZWNvZ25pemVkIHBhcmFtZXRlcjogdXNlIERhdGUsIG51bWJlciBvciBzdHJpbmcgaW4gSVNPIDg2MDEgZm9ybWF0XCI7cj1hP0RheVBpbG90LkRhdGVVdGlsLmZyb21Mb2NhbCh0KS5nZXRUaW1lKCk6dC5nZXRUaW1lKCl9dmFyIGk9ZShyKTtyZXR1cm4gb1tpXT9vW2ldOihvW2ldPXRoaXMsb1tyXT10aGlzLG4mJmkhPT10JiZEYXlQaWxvdC5EYXRlVXRpbC5oYXNUelNwZWModCkmJihvW3RdPXRoaXMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmIURheVBpbG90LmJyb3dzZXIuaWVsdDk/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwidGlja3NcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJ2YWx1ZVwiLHtcInZhbHVlXCI6aSxcIndyaXRhYmxlXCI6ITEsXCJlbnVtZXJhYmxlXCI6ITB9KSk6KHRoaXMudGlja3M9cix0aGlzLnZhbHVlPWkpLERheVBpbG90LkRhdGUuQ29uZmlnLmxlZ2FjeVNob3dEJiYodGhpcy5kPW5ldyBEYXRlKHIpKSx2b2lkKERheVBpbG90LlN0YXRzLmRhdGVPYmplY3RzKz0xKSl9LERheVBpbG90LkRhdGUuQ29uZmlnPXt9LERheVBpbG90LkRhdGUuQ29uZmlnLmxlZ2FjeVNob3dEPSExLERheVBpbG90LkRhdGUuQ2FjaGU9e30sRGF5UGlsb3QuRGF0ZS5DYWNoZS5QYXJzaW5nPXt9LERheVBpbG90LkRhdGUuQ2FjaGUuQ3Rvcj17fSxEYXlQaWxvdC5EYXRlLkNhY2hlLlRpY2tzPXt9LERheVBpbG90LkRhdGUuQ2FjaGUuRHVyYXRpb25DdG9yPXt9LERheVBpbG90LkRhdGUuQ2FjaGUuY2xlYXI9ZnVuY3Rpb24oKXtEYXlQaWxvdC5EYXRlLkNhY2hlLlBhcnNpbmc9e30sRGF5UGlsb3QuRGF0ZS5DYWNoZS5DdG9yPXt9LERheVBpbG90LkRhdGUuQ2FjaGUuVGlja3M9e30sRGF5UGlsb3QuRGF0ZS5DYWNoZS5EdXJhdGlvbkN0b3I9e319LERheVBpbG90LkRhdGUucHJvdG90eXBlLmFkZERheXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/bmV3IERheVBpbG90LkRhdGUodGhpcy50aWNrcysyNCplKjYwKjYwKjFlMyk6dGhpc30sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuYWRkSG91cnM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/dGhpcy5hZGRUaW1lKDYwKmUqNjAqMWUzKTp0aGlzfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5hZGRNaWxsaXNlY29uZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/dGhpcy5hZGRUaW1lKGUpOnRoaXN9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmFkZE1pbnV0ZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/dGhpcy5hZGRUaW1lKDYwKmUqMWUzKTp0aGlzfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5hZGRNb250aHM9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHRoaXM7dmFyIHQ9bmV3IERhdGUodGhpcy50aWNrcyksYT10LmdldFVUQ0Z1bGxZZWFyKCkscj10LmdldFVUQ01vbnRoKCkrMTtpZihlPjApe2Zvcig7ZT49MTI7KWUtPTEyLGErKztlPjEyLXI/KGErKyxyPWUtKDEyLXIpKTpyKz1lfWVsc2V7Zm9yKDtlPD0tMTI7KWUrPTEyLGEtLTtyK2U8PTA/KGEtLSxyPTEyK3IrZSk6cis9ZX12YXIgbz1uZXcgRGF0ZSh0LmdldFRpbWUoKSk7by5zZXRVVENEYXRlKDEpLG8uc2V0VVRDRnVsbFllYXIoYSksby5zZXRVVENNb250aChyLTEpO3ZhciBuPW5ldyBEYXlQaWxvdC5EYXRlKG8pLmRheXNJbk1vbnRoKCk7cmV0dXJuIG8uc2V0VVRDRGF0ZShNYXRoLm1pbihuLHQuZ2V0VVRDRGF0ZSgpKSksbmV3IERheVBpbG90LkRhdGUobyl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmFkZFNlY29uZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/dGhpcy5hZGRUaW1lKDFlMyplKTp0aGlzfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5hZGRUaW1lPWZ1bmN0aW9uKGUpe3JldHVybiBlPyhlIGluc3RhbmNlb2YgRGF5UGlsb3QuRHVyYXRpb24mJihlPWUudGlja3MpLG5ldyBEYXlQaWxvdC5EYXRlKHRoaXMudGlja3MrZSkpOnRoaXN9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmFkZFllYXJzPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBEYXRlKHRoaXMudGlja3MpLGE9bmV3IERhdGUodGhpcy50aWNrcykscj10aGlzLmdldFllYXIoKStlLG89dGhpcy5nZXRNb250aCgpO2Euc2V0VVRDRGF0ZSgxKSxhLnNldFVUQ0Z1bGxZZWFyKHIpLGEuc2V0VVRDTW9udGgobyk7dmFyIG49bmV3IERheVBpbG90LkRhdGUoYSkuZGF5c0luTW9udGgoKTtyZXR1cm4gYS5zZXRVVENEYXRlKE1hdGgubWluKG4sdC5nZXRVVENEYXRlKCkpKSxuZXcgRGF5UGlsb3QuRGF0ZShhKX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuZGF5T2ZXZWVrPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudGlja3MpLmdldFVUQ0RheSgpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXREYXlPZldlZWs9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy50aWNrcykuZ2V0VVRDRGF5KCl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmdldERheU9mWWVhcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZmlyc3REYXlPZlllYXIoKTtyZXR1cm4gRGF5UGlsb3QuRGF0ZVV0aWwuZGF5c0RpZmYoZSx0aGlzKSsxfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5kYXlzSW5Nb250aD1mdW5jdGlvbigpe3ZhciBlPW5ldyBEYXRlKHRoaXMudGlja3MpLHQ9ZS5nZXRVVENNb250aCgpKzEsYT1lLmdldFVUQ0Z1bGxZZWFyKCkscj1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO3JldHVybiAyIT09dD9yW3QtMV06YSU0IT09MD9yWzFdOmElMTAwPT09MCYmYSU0MDAhPT0wP3JbMV06clsxXSsxfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5kYXlzSW5ZZWFyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRZZWFyKCk7cmV0dXJuIGUlNCE9PTA/MzY1OmUlMTAwPT09MCYmZSU0MDAhPT0wPzM2NTozNjZ9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmRheU9mWWVhcj1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwoKHRoaXMuZ2V0RGF0ZVBhcnQoKS5nZXRUaW1lKCktdGhpcy5maXJzdERheU9mWWVhcigpLmdldFRpbWUoKSkvODY0ZTUpKzF9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihlKXtpZihudWxsPT09ZSlyZXR1cm4hMTtpZihlIGluc3RhbmNlb2YgRGF5UGlsb3QuRGF0ZSlyZXR1cm4gdGhpcz09PWU7dGhyb3dcIlRoZSBwYXJhbWV0ZXIgbXVzdCBiZSBhIERheVBpbG90LkRhdGUgb2JqZWN0IChEYXlQaWxvdC5EYXRlLmVxdWFscygpKVwifSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5maXJzdERheU9mTW9udGg9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgRGF0ZTtyZXR1cm4gZS5zZXRVVENGdWxsWWVhcih0aGlzLmdldFllYXIoKSx0aGlzLmdldE1vbnRoKCksMSksZS5zZXRVVENIb3VycygwKSxlLnNldFVUQ01pbnV0ZXMoMCksZS5zZXRVVENTZWNvbmRzKDApLGUuc2V0VVRDTWlsbGlzZWNvbmRzKDApLG5ldyBEYXlQaWxvdC5EYXRlKGUpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5maXJzdERheU9mWWVhcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0WWVhcigpLHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0VVRDRnVsbFllYXIoZSwwLDEpLHQuc2V0VVRDSG91cnMoMCksdC5zZXRVVENNaW51dGVzKDApLHQuc2V0VVRDU2Vjb25kcygwKSx0LnNldFVUQ01pbGxpc2Vjb25kcygwKSxuZXcgRGF5UGlsb3QuRGF0ZSh0KX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuZmlyc3REYXlPZldlZWs9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZihlIGluc3RhbmNlb2YgRGF5UGlsb3QuTG9jYWxlKWU9ZS53ZWVrU3RhcnRzO2Vsc2UgaWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJkRheVBpbG90LkxvY2FsZS5maW5kKGUpKXt2YXIgYT1EYXlQaWxvdC5Mb2NhbGUuZmluZChlKTtlPWEud2Vla1N0YXJ0c31lbHNlIGU9ZXx8MDtmb3IodmFyIHI9dC5kYXlPZldlZWsoKTtyIT09ZTspdD10LmFkZERheXMoLTEpLHI9dC5kYXlPZldlZWsoKTtyZXR1cm4gbmV3IERheVBpbG90LkRhdGUodCl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmdldERheT1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnRpY2tzKS5nZXRVVENEYXRlKCl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmdldERhdGVQYXJ0PWZ1bmN0aW9uKCl7dmFyIGU9bmV3IERhdGUodGhpcy50aWNrcyk7cmV0dXJuIGUuc2V0VVRDSG91cnMoMCksZS5zZXRVVENNaW51dGVzKDApLGUuc2V0VVRDU2Vjb25kcygwKSxlLnNldFVUQ01pbGxpc2Vjb25kcygwKSxuZXcgRGF5UGlsb3QuRGF0ZShlKX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuZ2V0WWVhcj1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnRpY2tzKS5nZXRVVENGdWxsWWVhcigpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXRIb3Vycz1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnRpY2tzKS5nZXRVVENIb3VycygpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy50aWNrcykuZ2V0VVRDTWlsbGlzZWNvbmRzKCl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLmdldE1pbnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy50aWNrcykuZ2V0VVRDTWludXRlcygpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXRNb250aD1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnRpY2tzKS5nZXRVVENNb250aCgpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudGlja3MpLmdldFVUQ1NlY29uZHMoKX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuZ2V0VG90YWxUaWNrcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpbWUoKX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUuZ2V0VGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpY2tzfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5nZXRUaW1lUGFydD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0RGF0ZVBhcnQoKTtyZXR1cm4gRGF5UGlsb3QuRGF0ZVV0aWwuZGlmZih0aGlzLGUpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS5sYXN0RGF5T2ZNb250aD1mdW5jdGlvbigpe3ZhciBlPW5ldyBEYXRlKHRoaXMuZmlyc3REYXlPZk1vbnRoKCkuZ2V0VGltZSgpKSx0PXRoaXMuZGF5c0luTW9udGgoKTtyZXR1cm4gZS5zZXRVVENEYXRlKHQpLG5ldyBEYXlQaWxvdC5EYXRlKGUpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS53ZWVrTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5maXJzdERheU9mWWVhcigpLHQ9KHRoaXMuZ2V0VGltZSgpLWUuZ2V0VGltZSgpKS84NjRlNTtyZXR1cm4gTWF0aC5jZWlsKCh0K2UuZGF5T2ZXZWVrKCkrMSkvNyl9LERheVBpbG90LkRhdGUucHJvdG90eXBlLndlZWtOdW1iZXJJU089ZnVuY3Rpb24oKXt2YXIgZT0hMSx0PXRoaXMuZGF5T2ZZZWFyKCksYT10aGlzLmZpcnN0RGF5T2ZZZWFyKCkuZGF5T2ZXZWVrKCkscj10aGlzLmZpcnN0RGF5T2ZZZWFyKCkuYWRkWWVhcnMoMSkuYWRkRGF5cygtMSkuZGF5T2ZXZWVrKCk7MD09PWEmJihhPTcpLDA9PT1yJiYocj03KTt2YXIgbz04LWE7NCE9PWEmJjQhPT1yfHwoZT0hMCk7dmFyIG49TWF0aC5jZWlsKCh0LW8pLzcpLGk9bjtyZXR1cm4gbz49NCYmKGkrPTEpLGk+NTImJiFlJiYoaT0xKSwwPT09aSYmKGk9dGhpcy5maXJzdERheU9mWWVhcigpLmFkZERheXMoLTEpLndlZWtOdW1iZXJJU08oKSksaX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUudG9EYXRlTG9jYWw9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgRGF0ZSh0aGlzLnRpY2tzKSx0PW5ldyBEYXRlO3JldHVybiB0LnNldEZ1bGxZZWFyKGUuZ2V0VVRDRnVsbFllYXIoKSxlLmdldFVUQ01vbnRoKCksZS5nZXRVVENEYXRlKCkpLHQuc2V0SG91cnMoZS5nZXRVVENIb3VycygpKSx0LnNldE1pbnV0ZXMoZS5nZXRVVENNaW51dGVzKCkpLHQuc2V0U2Vjb25kcyhlLmdldFVUQ1NlY29uZHMoKSksdC5zZXRNaWxsaXNlY29uZHMoZS5nZXRVVENNaWxsaXNlY29uZHMoKSksdH0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUudG9EYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudGlja3MpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sRGF5UGlsb3QuRGF0ZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oZSxhKXtyZXR1cm4gZT9uZXcgdChlLGEpLnByaW50KHRoaXMpOnRoaXMudG9TdHJpbmdTb3J0YWJsZSgpfSxEYXlQaWxvdC5EYXRlLnByb3RvdHlwZS50b1N0cmluZ1NvcnRhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcy50aWNrcyl9LERheVBpbG90LkRhdGUucGFyc2U9ZnVuY3Rpb24oZSxhLHIpe3JldHVybiBuZXcgdChhLHIpLnBhcnNlKGUpfTtEYXlQaWxvdC5EYXRlLnRvZGF5PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXlQaWxvdC5EYXRlKERheVBpbG90LkRhdGVVdGlsLmxvY2FsVG9kYXkoKSwhMCl9LERheVBpbG90LkRhdGUuZnJvbVllYXJNb250aERheT1mdW5jdGlvbihlLHQsYSl7dD10fHwxLGE9YXx8MTt2YXIgcj1uZXcgRGF0ZSgwKTtyZXR1cm4gci5zZXRVVENGdWxsWWVhcihlKSxyLnNldFVUQ01vbnRoKHQtMSksci5zZXRVVENEYXRlKGEpLG5ldyBEYXlQaWxvdC5EYXRlKHIpfSxEYXlQaWxvdC5EYXRlVXRpbD17fSxEYXlQaWxvdC5EYXRlVXRpbC5mcm9tU3RyaW5nU29ydGFibGU9ZnVuY3Rpb24oZSx0KXtpZighZSl0aHJvd1wiQ2FuJ3QgY3JlYXRlIERheVBpbG90LkRhdGUgZnJvbSBhbiBlbXB0eSBzdHJpbmdcIjt2YXIgYT1lLmxlbmd0aCxyPTEwPT09YSxvPTE5PT09YSxuPWE+MTk7aWYoIXImJiFvJiYhbil0aHJvd1wiSW52YWxpZCBzdHJpbmcgZm9ybWF0ICh1c2UgJzIwMTAtMDEtMDEnIG9yICcyMDEwLTAxLTAxVDAwOjAwOjAwJyk6IFwiK2U7aWYoRGF5UGlsb3QuRGF0ZS5DYWNoZS5QYXJzaW5nW2VdJiYhdClyZXR1cm4gRGF5UGlsb3QuU3RhdHMuY2FjaGVIaXRzUGFyc2luZys9MSxEYXlQaWxvdC5EYXRlLkNhY2hlLlBhcnNpbmdbZV07dmFyIGk9ZS5zdWJzdHJpbmcoMCw0KSxkPWUuc3Vic3RyaW5nKDUsNykscz1lLnN1YnN0cmluZyg4LDEwKSxsPW5ldyBEYXRlKDApO2lmKGwuc2V0VVRDRnVsbFllYXIoaSxkLTEscykscilyZXR1cm4gRGF5UGlsb3QuRGF0ZS5DYWNoZS5QYXJzaW5nW2VdPWwsbDt2YXIgdT1lLnN1YnN0cmluZygxMSwxMyksYz1lLnN1YnN0cmluZygxNCwxNiksZj1lLnN1YnN0cmluZygxNywxOSk7aWYobC5zZXRVVENIb3Vycyh1KSxsLnNldFVUQ01pbnV0ZXMoYyksbC5zZXRVVENTZWNvbmRzKGYpLG8pcmV0dXJuIERheVBpbG90LkRhdGUuQ2FjaGUuUGFyc2luZ1tlXT1sLGw7dmFyIG09ZVsxOV0seT0wO2lmKFwiLlwiPT09bSl7dmFyIGg9cGFyc2VJbnQoZS5zdWJzdHJpbmcoMjAsMjMpKTtsLnNldFVUQ01pbGxpc2Vjb25kcyhoKSx5PURheVBpbG90LkRhdGVVdGlsLmdldFR6T2Zmc2V0TWludXRlcyhlLnN1YnN0cmluZygyMykpfWVsc2UgeT1EYXlQaWxvdC5EYXRlVXRpbC5nZXRUek9mZnNldE1pbnV0ZXMoZS5zdWJzdHJpbmcoMTkpKTt2YXIgZz1uZXcgRGF5UGlsb3QuRGF0ZShsKTtyZXR1cm4gdHx8KGc9Zy5hZGRNaW51dGVzKC15KSksbD1nLnRvRGF0ZSgpLERheVBpbG90LkRhdGUuQ2FjaGUuUGFyc2luZ1tlXT1sLGx9LERheVBpbG90LkRhdGVVdGlsLmdldFR6T2Zmc2V0TWludXRlcz1mdW5jdGlvbihlKXtpZihEYXlQaWxvdC5VdGlsLmlzTnVsbE9yVW5kZWZpbmVkKGUpfHxcIlwiPT09ZSlyZXR1cm4gMDtpZihcIlpcIj09PWUpcmV0dXJuIDA7dmFyIHQ9ZVswXSxhPXBhcnNlSW50KGUuc3Vic3RyaW5nKDEsMykpLHI9cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCkpLG89NjAqYStyO2lmKFwiLVwiPT09dClyZXR1cm4tbztpZihcIitcIj09PXQpcmV0dXJuIG87dGhyb3dcIkludmFsaWQgdGltZXpvbmUgc3BlYzogXCIrZX0sRGF5UGlsb3QuRGF0ZVV0aWwuaGFzVHpTcGVjPWZ1bmN0aW9uKGUpe3JldHVybiEhZS5pbmRleE9mKFwiK1wiKXx8ISFlLmluZGV4T2YoXCItXCIpfSxEYXlQaWxvdC5EYXRlVXRpbC5kYXlzRGlmZj1mdW5jdGlvbihlLHQpe2lmKGUmJnR8fGZ1bmN0aW9uKCl7dGhyb3dcInR3byBwYXJhbWV0ZXJzIHJlcXVpcmVkXCJ9KCksZT1uZXcgRGF5UGlsb3QuRGF0ZShlKSx0PW5ldyBEYXlQaWxvdC5EYXRlKHQpLGUuZ2V0VGltZSgpPnQuZ2V0VGltZSgpKXJldHVybiBudWxsO2Zvcih2YXIgYT0wLHI9ZS5nZXREYXRlUGFydCgpLG89dC5nZXREYXRlUGFydCgpO3I8bzspcj1yLmFkZERheXMoMSksYSsrO3JldHVybiBhfSxEYXlQaWxvdC5EYXRlVXRpbC5kYXlzU3Bhbj1mdW5jdGlvbihlLHQpe2lmKGUmJnR8fGZ1bmN0aW9uKCl7dGhyb3dcInR3byBwYXJhbWV0ZXJzIHJlcXVpcmVkXCJ9KCksZT1uZXcgRGF5UGlsb3QuRGF0ZShlKSx0PW5ldyBEYXlQaWxvdC5EYXRlKHQpLGU9PT10KXJldHVybiAwO3ZhciBhPURheVBpbG90LkRhdGVVdGlsLmRheXNEaWZmKGUsdCk7cmV0dXJuIHQ9PXQuZ2V0RGF0ZVBhcnQoKSYmYS0tLGF9LERheVBpbG90LkRhdGVVdGlsLmRpZmY9ZnVuY3Rpb24oZSx0KXtpZighKGUmJnQmJmUuZ2V0VGltZSYmdC5nZXRUaW1lKSl0aHJvd1wiQm90aCBjb21wYXJlZCBvYmplY3RzIG11c3QgYmUgRGF0ZSBvYmplY3RzIChEYXlQaWxvdC5EYXRlLmRpZmYpLlwiO3JldHVybiBlLmdldFRpbWUoKS10LmdldFRpbWUoKX0sRGF5UGlsb3QuRGF0ZVV0aWwuZnJvbUxvY2FsPWZ1bmN0aW9uKGUpe2V8fChlPW5ldyBEYXRlKTt2YXIgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRVVENGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCksZS5nZXRNb250aCgpLGUuZ2V0RGF0ZSgpKSx0LnNldFVUQ0hvdXJzKGUuZ2V0SG91cnMoKSksdC5zZXRVVENNaW51dGVzKGUuZ2V0TWludXRlcygpKSx0LnNldFVUQ1NlY29uZHMoZS5nZXRTZWNvbmRzKCkpLHQuc2V0VVRDTWlsbGlzZWNvbmRzKGUuZ2V0TWlsbGlzZWNvbmRzKCkpLHR9LERheVBpbG90LkRhdGVVdGlsLmxvY2FsVG9kYXk9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgRGF0ZTtyZXR1cm4gZS5zZXRIb3VycygwKSxlLnNldE1pbnV0ZXMoMCksZS5zZXRTZWNvbmRzKDApLGUuc2V0TWlsbGlzZWNvbmRzKDApLGV9LERheVBpbG90LkRhdGVVdGlsLmhvdXJzPWZ1bmN0aW9uKGUsdCl7dmFyIGE9ZS5nZXRVVENNaW51dGVzKCk7YTwxMCYmKGE9XCIwXCIrYSk7dmFyIHI9ZS5nZXRVVENIb3VycygpO2lmKHQpe3ZhciBvPXI8MTIscj1yJTEyOzA9PT1yJiYocj0xMik7cmV0dXJuIHIrXCI6XCIrYStcIiBcIisobz9cIkFNXCI6XCJQTVwiKX1yZXR1cm4gcitcIjpcIithfSxEYXlQaWxvdC5EYXRlVXRpbC5tYXg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5nZXRUaW1lKCk+dC5nZXRUaW1lKCk/ZTp0fSxEYXlQaWxvdC5EYXRlVXRpbC5taW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5nZXRUaW1lKCk8dC5nZXRUaW1lKCk/ZTp0fTt2YXIgdD1mdW5jdGlvbihlLHQpe1wic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1EYXlQaWxvdC5Mb2NhbGUuZmluZCh0KSk7dmFyIHQ9dHx8RGF5UGlsb3QuTG9jYWxlLlVTLGE9W3tcInNlcVwiOlwieXl5eVwiLFwiZXhwclwiOlwiWzAtOV17NCw0fVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0WWVhcigpfX0se1wic2VxXCI6XCJ5eVwiLFwiZXhwclwiOlwiWzAtOV17MiwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0WWVhcigpJTEwMH19LHtcInNlcVwiOlwibW1cIixcImV4cHJcIjpcIlswLTldezIsMn1cIixcInN0clwiOmZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0TWludXRlcygpO3JldHVybiB0PDEwP1wiMFwiK3Q6dH19LHtcInNlcVwiOlwibVwiLFwiZXhwclwiOlwiWzAtOV17MSwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0TWludXRlcygpfX0se1wic2VxXCI6XCJISFwiLFwiZXhwclwiOlwiWzAtOV17MiwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRIb3VycygpO3JldHVybiB0PDEwP1wiMFwiK3Q6dH19LHtcInNlcVwiOlwiSFwiLFwiZXhwclwiOlwiWzAtOV17MSwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0SG91cnMoKX19LHtcInNlcVwiOlwiaGhcIixcImV4cHJcIjpcIlswLTldezIsMn1cIixcInN0clwiOmZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0SG91cnMoKSx0PXQlMTI7MD09PXQmJih0PTEyKTt2YXIgYT10O3JldHVybiBhPDEwP1wiMFwiK2E6YX19LHtcInNlcVwiOlwiaFwiLFwiZXhwclwiOlwiWzAtOV17MSwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRIb3VycygpLHQ9dCUxMjtyZXR1cm4gMD09PXQmJih0PTEyKSx0fX0se1wic2VxXCI6XCJzc1wiLFwiZXhwclwiOlwiWzAtOV17MiwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRTZWNvbmRzKCk7cmV0dXJuIHQ8MTA/XCIwXCIrdDp0fX0se1wic2VxXCI6XCJzXCIsXCJleHByXCI6XCJbMC05XXsxLDJ9XCIsXCJzdHJcIjpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRTZWNvbmRzKCl9fSx7XCJzZXFcIjpcIk1NTU1cIixcImV4cHJcIjpcIlteXFxcXHMwLTldKlwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQubW9udGhOYW1lc1tlLmdldE1vbnRoKCldfSxcInRyYW5zZm9ybVwiOmZ1bmN0aW9uKGUpe3ZhciBhPURheVBpbG90LmluZGV4T2YodC5tb250aE5hbWVzLGUsZXF1YWxzSWdub3JlQ2FzZSk7cmV0dXJuIGE8MD9udWxsOmErMX19LHtcInNlcVwiOlwiTU1NXCIsXCJleHByXCI6XCJbXlxcXFxzMC05XSpcIixcInN0clwiOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm1vbnRoTmFtZXNTaG9ydFtlLmdldE1vbnRoKCldfSxcInRyYW5zZm9ybVwiOmZ1bmN0aW9uKGUpe3ZhciBhPURheVBpbG90LmluZGV4T2YodC5tb250aE5hbWVzU2hvcnQsZSxlcXVhbHNJZ25vcmVDYXNlKTtyZXR1cm4gYTwwP251bGw6YSsxfX0se1wic2VxXCI6XCJNTVwiLFwiZXhwclwiOlwiWzAtOV17MiwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRNb250aCgpKzE7cmV0dXJuIHQ8MTA/XCIwXCIrdDp0fX0se1wic2VxXCI6XCJNXCIsXCJleHByXCI6XCJbMC05XXsxLDJ9XCIsXCJzdHJcIjpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRNb250aCgpKzF9fSx7XCJzZXFcIjpcImRkZGRcIixcImV4cHJcIjpcIlteXFxcXHMwLTldKlwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZGF5TmFtZXNbZS5nZXREYXlPZldlZWsoKV19fSx7XCJzZXFcIjpcImRkZFwiLFwiZXhwclwiOlwiW15cXFxcczAtOV0qXCIsXCJzdHJcIjpmdW5jdGlvbihlKXtyZXR1cm4gdC5kYXlOYW1lc1Nob3J0W2UuZ2V0RGF5T2ZXZWVrKCldfX0se1wic2VxXCI6XCJkZFwiLFwiZXhwclwiOlwiWzAtOV17MiwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXREYXkoKTtyZXR1cm4gdDwxMD9cIjBcIit0OnR9fSx7XCJzZXFcIjpcIiVkXCIsXCJleHByXCI6XCJbMC05XXsxLDJ9XCIsXCJzdHJcIjpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXREYXkoKX19LHtcInNlcVwiOlwiZFwiLFwiZXhwclwiOlwiWzAtOV17MSwyfVwiLFwic3RyXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0RGF5KCl9fSx7XCJzZXFcIjpcInR0XCIsXCJleHByXCI6XCIoQU18UE18YW18cG0pXCIsXCJzdHJcIjpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRIb3VycygpPDEyP1wiQU1cIjpcIlBNXCJ9LFwidHJhbnNmb3JtXCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9VcHBlckNhc2UoKX19XSxyPWZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLFwiXFxcXCQmXCIpfTt0aGlzLmluaXQ9ZnVuY3Rpb24oKXt0aGlzLnllYXI9dGhpcy5maW5kU2VxdWVuY2UoXCJ5eXl5XCIpLHRoaXMubW9udGg9dGhpcy5maW5kU2VxdWVuY2UoXCJNTU1NXCIpfHx0aGlzLmZpbmRTZXF1ZW5jZShcIk1NTVwiKXx8dGhpcy5maW5kU2VxdWVuY2UoXCJNTVwiKXx8dGhpcy5maW5kU2VxdWVuY2UoXCJNXCIpLHRoaXMuZGF5PXRoaXMuZmluZFNlcXVlbmNlKFwiZGRcIil8fHRoaXMuZmluZFNlcXVlbmNlKFwiZFwiKSx0aGlzLmhvdXJzPXRoaXMuZmluZFNlcXVlbmNlKFwiSEhcIil8fHRoaXMuZmluZFNlcXVlbmNlKFwiSFwiKSx0aGlzLm1pbnV0ZXM9dGhpcy5maW5kU2VxdWVuY2UoXCJtbVwiKXx8dGhpcy5maW5kU2VxdWVuY2UoXCJtXCIpLHRoaXMuc2Vjb25kcz10aGlzLmZpbmRTZXF1ZW5jZShcInNzXCIpfHx0aGlzLmZpbmRTZXF1ZW5jZShcInNcIiksdGhpcy5hbXBtPXRoaXMuZmluZFNlcXVlbmNlKFwidHRcIiksdGhpcy5ob3VyczEyPXRoaXMuZmluZFNlcXVlbmNlKFwiaGhcIil8fHRoaXMuZmluZFNlcXVlbmNlKFwiaFwiKX0sdGhpcy5maW5kU2VxdWVuY2U9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcGFyc2VJbnQoZSl9cmV0dXJuIGUuaW5kZXhPZih0KT09PS0xP251bGw6e1wiZmluZFZhbHVlXCI6ZnVuY3Rpb24obil7Zm9yKHZhciBpPXIoZSksZD1udWxsLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIGw9KGFbc10ubGVuZ3RoLHQ9PT1hW3NdLnNlcSksdT1hW3NdLmV4cHI7bCYmKHU9XCIoXCIrdStcIilcIixkPWFbc10udHJhbnNmb3JtKSxpPWkucmVwbGFjZShhW3NdLnNlcSx1KX1pPVwiXlwiK2krXCIkXCI7dHJ5e3ZhciBjPW5ldyBSZWdFeHAoaSksZj1jLmV4ZWMobik7cmV0dXJuIGY/KGQ9ZHx8bykoZlsxXSk6bnVsbH1jYXRjaChlKXt0aHJvd1widW5hYmxlIHRvIGNyZWF0ZSByZWdleCBmcm9tOiBcIitpfX19fSx0aGlzLnByaW50PWZ1bmN0aW9uKHQpe2Zvcih2YXIgcj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGEubGVuZ3RoO3QrKylpZihhW3RdJiZhW3RdLnNlcT09PWUpcmV0dXJuIGFbdF07cmV0dXJuIG51bGx9LG89ZS5sZW5ndGg8PTAsbj0wLGk9W107IW87KXt2YXIgZD1lLnN1YnN0cmluZyhuKSxzPS8lPyguKVxcMSovLmV4ZWMoZCk7aWYocyYmcy5sZW5ndGg+MCl7dmFyIGw9c1swXSx1PXIobCk7dT9pLnB1c2godSk6aS5wdXNoKGwpLG4rPWwubGVuZ3RoLG89ZS5sZW5ndGg8PW59ZWxzZSBvPSEwfWZvcih2YXIgYz0wO2M8aS5sZW5ndGg7YysrKXt2YXIgZj1pW2NdO1wic3RyaW5nXCIhPXR5cGVvZiBmJiYoaVtjXT1mLnN0cih0KSl9cmV0dXJuIGkuam9pbihcIlwiKX0sdGhpcy5wYXJzZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnllYXIuZmluZFZhbHVlKGUpO2lmKCF0KXJldHVybiBudWxsO3ZhciBhPXRoaXMubW9udGguZmluZFZhbHVlKGUpO2lmKERheVBpbG90LlV0aWwuaXNOdWxsT3JVbmRlZmluZWQoYSkpcmV0dXJuIG51bGw7aWYoYT4xMnx8YTwxKXJldHVybiBudWxsO3ZhciByPXRoaXMuZGF5LmZpbmRWYWx1ZShlKSxvPURheVBpbG90LkRhdGUuZnJvbVllYXJNb250aERheSh0LGEpLmRheXNJbk1vbnRoKCk7aWYocjwxfHxyPm8pcmV0dXJuIG51bGw7dmFyIG49dGhpcy5ob3Vycz90aGlzLmhvdXJzLmZpbmRWYWx1ZShlKTowLGk9dGhpcy5taW51dGVzP3RoaXMubWludXRlcy5maW5kVmFsdWUoZSk6MCxkPXRoaXMuc2Vjb25kcz90aGlzLnNlY29uZHMuZmluZFZhbHVlKGUpOjAscz10aGlzLmFtcG0/dGhpcy5hbXBtLmZpbmRWYWx1ZShlKTpudWxsO2lmKHRoaXMuYW1wbSYmdGhpcy5ob3VyczEyKXt2YXIgbD10aGlzLmhvdXJzMTIuZmluZFZhbHVlKGUpO2lmKGw8MXx8bD4xMilyZXR1cm4gbnVsbDtuPVwiUE1cIj09PXM/MTI9PT1sPzEyOmwrMTI6MTI9PT1sPzA6bH1pZihuPDB8fG4+MjMpcmV0dXJuIG51bGw7aWYoaTwwfHxpPjU5KXJldHVybiBudWxsO2lmKGQ8MHx8ZD41OSlyZXR1cm4gbnVsbDt2YXIgdT1uZXcgRGF0ZTtyZXR1cm4gdS5zZXRVVENGdWxsWWVhcih0LGEtMSxyKSx1LnNldFVUQ0hvdXJzKG4pLHUuc2V0VVRDTWludXRlcyhpKSx1LnNldFVUQ1NlY29uZHMoZCksdS5zZXRVVENNaWxsaXNlY29uZHMoMCksbmV3IERheVBpbG90LkRhdGUodSl9LHRoaXMuaW5pdCgpfTtEYXlQaWxvdC5FdmVudD1mdW5jdGlvbihlLHQsYSl7dmFyIHI9dGhpczt0aGlzLmNhbGVuZGFyPXQsdGhpcy5kYXRhPWU/ZTp7fSx0aGlzLnBhcnQ9YT9hOnt9LFwidW5kZWZpbmVkXCI9PXR5cGVvZiB0aGlzLmRhdGEuaWQmJih0aGlzLmRhdGEuaWQ9dGhpcy5kYXRhLnZhbHVlKTt2YXIgbz17fSxuPVtcImlkXCIsXCJ0ZXh0XCIsXCJzdGFydFwiLFwiZW5kXCJdO3RoaXMuaXNFdmVudD0hMCx0aGlzLnRlbXA9ZnVuY3Rpb24oKXtpZihvLmRpcnR5KXJldHVybiBvO2Zvcih2YXIgZT0wO2U8bi5sZW5ndGg7ZSsrKW9bbltlXV09ci5kYXRhW25bZV1dO3JldHVybiBvLmRpcnR5PSEwLG99LHRoaXMuY29weT1mdW5jdGlvbigpe2Zvcih2YXIgZT17fSx0PTA7dDxuLmxlbmd0aDt0KyspZVtuW3RdXT1yLmRhdGFbblt0XV07cmV0dXJuIGV9LHRoaXMuY29tbWl0PWZ1bmN0aW9uKCl7aWYoby5kaXJ0eSl7Zm9yKHZhciBlPTA7ZTxuLmxlbmd0aDtlKyspci5kYXRhW25bZV1dPW9bbltlXV07by5kaXJ0eT0hMX19LHRoaXMuZGlydHk9ZnVuY3Rpb24oKXtyZXR1cm4gby5kaXJ0eX0sdGhpcy5pZD1mdW5jdGlvbihlKXtyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgZT9yLmRhdGEuaWQ6dm9pZCh0aGlzLnRlbXAoKS5pZD1lKX0sdGhpcy52YWx1ZT1mdW5jdGlvbihlKXtyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgZT9yLmlkKCk6dm9pZCByLmlkKGUpfSx0aGlzLnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/ci5kYXRhLnRleHQ6KHRoaXMudGVtcCgpLnRleHQ9ZSx2b2lkIHRoaXMuY2xpZW50LmlubmVySFRNTChlKSl9LHRoaXMuc3RhcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/bmV3IERheVBpbG90LkRhdGUoci5kYXRhLnN0YXJ0KTp2b2lkKHRoaXMudGVtcCgpLnN0YXJ0PW5ldyBEYXlQaWxvdC5EYXRlKGUpKX0sdGhpcy5lbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/bmV3IERheVBpbG90LkRhdGUoci5kYXRhLmVuZCk6dm9pZCh0aGlzLnRlbXAoKS5lbmQ9bmV3IERheVBpbG90LkRhdGUoZSkpfSx0aGlzLnBhcnRTdGFydD1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF5UGlsb3QuRGF0ZSh0aGlzLnBhcnQuc3RhcnQpfSx0aGlzLnBhcnRFbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERheVBpbG90LkRhdGUodGhpcy5wYXJ0LmVuZCl9LHRoaXMudGFnPWZ1bmN0aW9uKGUpe3ZhciB0PXIuZGF0YS50YWc7aWYoIXQpcmV0dXJuIG51bGw7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIGUpcmV0dXJuIHIuZGF0YS50YWc7Zm9yKHZhciBhPXIuY2FsZW5kYXIudGFnRmllbGRzLG89LTEsbj0wO248YS5sZW5ndGg7bisrKWU9PT1hW25dJiYobz1uKTtpZihvPT09LTEpdGhyb3dcIkZpZWxkIG5hbWUgbm90IGZvdW5kLlwiO3JldHVybiB0W29dfSx0aGlzLmNsaWVudD17fSx0aGlzLmNsaWVudC5pbm5lckhUTUw9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/ci5jYWNoZSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHIuY2FjaGUuaHRtbD9yLmNhY2hlLmh0bWw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHIuZGF0YS5odG1sP3IuZGF0YS5odG1sOnIuZGF0YS50ZXh0OnZvaWQoci5kYXRhLmh0bWw9ZSl9LHRoaXMuY2xpZW50Lmh0bWw9dGhpcy5jbGllbnQuaW5uZXJIVE1MLHRoaXMuY2xpZW50LmhlYWRlcj1mdW5jdGlvbihlKXtyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgZT9yLmRhdGEuaGVhZGVyOnZvaWQoci5kYXRhLmhlYWRlcj1lKX0sdGhpcy5jbGllbnQuY3NzQ2xhc3M9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/ci5kYXRhLmNzc0NsYXNzOnZvaWQoci5kYXRhLmNzc0NsYXNzPWUpfSx0aGlzLmNsaWVudC50b29sVGlwPWZ1bmN0aW9uKGUpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiBlP3IuY2FjaGUmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiByLmNhY2hlLnRvb2xUaXA/ci5jYWNoZS50b29sVGlwOlwidW5kZWZpbmVkXCIhPXR5cGVvZiByLmRhdGEudG9vbFRpcD9yLmRhdGEudG9vbFRpcDpyLmRhdGEudGV4dDp2b2lkKHIuZGF0YS50b29sVGlwPWUpfSx0aGlzLmNsaWVudC5iYXJWaXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiBlP3IuY2FjaGUmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiByLmNhY2hlLmJhckhpZGRlbj8hci5jYWNoZS5iYXJIaWRkZW46ci5jYWxlbmRhci5kdXJhdGlvbkJhclZpc2libGUmJiFyLmRhdGEuYmFySGlkZGVuOnZvaWQoci5kYXRhLmJhckhpZGRlbj0hZSl9LHRoaXMuY2xpZW50LmJhY2tDb2xvcj1mdW5jdGlvbihlKXtyZXR1cm5cInVuZGVmaW5lZFwiPT10eXBlb2YgZT9yLmNhY2hlJiZcInVuZGVmaW5lZFwiIT10eXBlb2Ygci5jYWNoZS5iYWNrQ29sb3I/ci5jYWNoZS5iYWNrQ29sb3I6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHIuZGF0YS5iYWNrQ29sb3I/ci5kYXRhLmJhY2tDb2xvcjpyLmNhbGVuZGFyLmV2ZW50QmFja0NvbG9yOnZvaWQoci5kYXRhLmJhY2tDb2xvcj1lKX0sdGhpcy5jbGllbnQuYm9yZGVyQ29sb3I9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/ci5jYWNoZSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHIuY2FjaGUuYm9yZGVyQ29sb3I/ci5jYWNoZS5ib3JkZXJDb2xvcjpcInVuZGVmaW5lZFwiIT10eXBlb2Ygci5kYXRhLmJvcmRlckNvbG9yP3IuZGF0YS5ib3JkZXJDb2xvcjpyLmNhbGVuZGFyLmV2ZW50Qm9yZGVyQ29sb3I6dm9pZChyLmRhdGEuYm9yZGVyQ29sb3I9ZSl9LHRoaXMuY2xpZW50Lm1vdmVFbmFibGVkPWZ1bmN0aW9uKGUpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiBlP1wiRGlzYWJsZWRcIiE9PXIuY2FsZW5kYXIuZXZlbnRNb3ZlSGFuZGxpbmcmJiFyLmRhdGEubW92ZURpc2FibGVkOnZvaWQoci5kYXRhLm1vdmVEaXNhYmxlZD0hZSl9LHRoaXMuY2xpZW50LnJlc2l6ZUVuYWJsZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIj09dHlwZW9mIGU/XCJEaXNhYmxlZFwiIT09ci5jYWxlbmRhci5ldmVudFJlc2l6ZUhhbmRsaW5nJiYhci5kYXRhLnJlc2l6ZURpc2FibGVkOnZvaWQoci5kYXRhLnJlc2l6ZURpc2FibGVkPSFlKX0sdGhpcy5jbGllbnQuY2xpY2tFbmFibGVkPWZ1bmN0aW9uKGUpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiBlP1wiRGlzYWJsZWRcIiE9PXIuY2FsZW5kYXIuZXZlbnRDbGlja0hhbmRsaW5nJiYhci5kYXRhLmNsaWNrRGlzYWJsZWQ6dm9pZChyLmRhdGEuY2xpY2tEaXNhYmxlZD0hZSl9LHRoaXMudG9KU09OPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2lmKHQudmFsdWU9dGhpcy5pZCgpLHQuaWQ9dGhpcy5pZCgpLHQudGV4dD10aGlzLnRleHQoKSx0LnN0YXJ0PXRoaXMuc3RhcnQoKSx0LmVuZD10aGlzLmVuZCgpLHQudGFnPXt9LHIuY2FsZW5kYXImJnIuY2FsZW5kYXIudGFnRmllbGRzKWZvcih2YXIgYT1yLmNhbGVuZGFyLnRhZ0ZpZWxkcyxvPTA7bzxhLmxlbmd0aDtvKyspdC50YWdbYVtvXV09dGhpcy50YWcoYVtvXSk7cmV0dXJuIHR9fX19KCksRGF5UGlsb3QuSlNPTj17fSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGU8MTA/XCIwXCIrZTplfWZ1bmN0aW9uIHQoZSl7cmV0dXJuIGkubGFzdEluZGV4PTAsaS50ZXN0KGUpPydcIicrZS5yZXBsYWNlKGksZnVuY3Rpb24oZSl7dmFyIHQ9ZFtlXTtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgdD90OlwiXFxcXHVcIisoXCIwMDAwXCIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTQpfSkrJ1wiJzonXCInK2UrJ1wiJ31mdW5jdGlvbiBhKGUsaSl7dmFyIGQscyxsLHUsYyxmPXIsbT1pW2VdO3N3aXRjaChtJiZcIm9iamVjdFwiPT10eXBlb2YgbSYmXCJmdW5jdGlvblwiPT10eXBlb2YgbS50b0pTT04yP209bS50b0pTT04yKGUpOm0mJlwib2JqZWN0XCI9PXR5cGVvZiBtJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBtLnRvSlNPTiYmIW0uaWdub3JlVG9KU09OJiYobT1tLnRvSlNPTihlKSksXG5cImZ1bmN0aW9uXCI9PXR5cGVvZiBuJiYobT1uLmNhbGwoaSxlLG0pKSx0eXBlb2YgbSl7Y2FzZVwic3RyaW5nXCI6cmV0dXJuIHQobSk7Y2FzZVwibnVtYmVyXCI6cmV0dXJuIGlzRmluaXRlKG0pP1N0cmluZyhtKTpcIm51bGxcIjtjYXNlXCJib29sZWFuXCI6Y2FzZVwibnVsbFwiOnJldHVybiBTdHJpbmcobSk7Y2FzZVwib2JqZWN0XCI6aWYoIW0pcmV0dXJuXCJudWxsXCI7aWYocis9byxjPVtdLFwibnVtYmVyXCI9PXR5cGVvZiBtLmxlbmd0aCYmIW0ucHJvcGVydHlJc0VudW1lcmFibGUoXCJsZW5ndGhcIikpe2Zvcih1PW0ubGVuZ3RoLGQ9MDtkPHU7ZCs9MSljW2RdPWEoZCxtKXx8XCJudWxsXCI7cmV0dXJuIGw9MD09PWMubGVuZ3RoP1wiW11cIjpyP1wiW1xcblwiK3IrYy5qb2luKFwiLFxcblwiK3IpK1wiXFxuXCIrZitcIl1cIjpcIltcIitjLmpvaW4oXCIsXCIpK1wiXVwiLHI9ZixsfWlmKG4mJlwib2JqZWN0XCI9PXR5cGVvZiBuKWZvcih1PW4ubGVuZ3RoLGQ9MDtkPHU7ZCs9MSlzPW5bZF0sXCJzdHJpbmdcIj09dHlwZW9mIHMmJihsPWEocyxtKSxsJiZjLnB1c2godChzKSsocj9cIjogXCI6XCI6XCIpK2wpKTtlbHNlIGZvcihzIGluIG0pT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobSxzKSYmKGw9YShzLG0pLGwmJmMucHVzaCh0KHMpKyhyP1wiOiBcIjpcIjpcIikrbCkpO3JldHVybiBsPTA9PT1jLmxlbmd0aD9cInt9XCI6cj9cIntcXG5cIityK2Muam9pbihcIixcXG5cIityKStcIlxcblwiK2YrXCJ9XCI6XCJ7XCIrYy5qb2luKFwiLFwiKStcIn1cIixyPWYsbH19XCJmdW5jdGlvblwiIT10eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9KU09OMiYmKERhdGUucHJvdG90eXBlLnRvSlNPTjI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ2V0VVRDRnVsbFllYXIoKStcIi1cIitlKHRoaXMuZ2V0VVRDTW9udGgoKSsxKStcIi1cIitlKHRoaXMuZ2V0VVRDRGF0ZSgpKStcIlRcIitlKHRoaXMuZ2V0VVRDSG91cnMoKSkrXCI6XCIrZSh0aGlzLmdldFVUQ01pbnV0ZXMoKSkrXCI6XCIrZSh0aGlzLmdldFVUQ1NlY29uZHMoKSl9LFN0cmluZy5wcm90b3R5cGUudG9KU09OPU51bWJlci5wcm90b3R5cGUudG9KU09OPUJvb2xlYW4ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy52YWx1ZU9mKCl9KTt2YXIgcixvLG4saT0vW1xcXFxcXFwiXFx4MDAtXFx4MWZcXHg3Zi1cXHg5ZlxcdTAwYWRcXHUwNjAwLVxcdTA2MDRcXHUwNzBmXFx1MTdiNFxcdTE3YjVcXHUyMDBjLVxcdTIwMGZcXHUyMDI4LVxcdTIwMmZcXHUyMDYwLVxcdTIwNmZcXHVmZWZmXFx1ZmZmMC1cXHVmZmZmXS9nLGQ9e1wiXFxiXCI6XCJcXFxcYlwiLFwiXFx0XCI6XCJcXFxcdFwiLFwiXFxuXCI6XCJcXFxcblwiLFwiXFxmXCI6XCJcXFxcZlwiLFwiXFxyXCI6XCJcXFxcclwiLCdcIic6J1xcXFxcIicsXCJcXFxcXCI6XCJcXFxcXFxcXFwifTtcImZ1bmN0aW9uXCIhPXR5cGVvZiBEYXlQaWxvdC5KU09OLnN0cmluZ2lmeSYmKERheVBpbG90LkpTT04uc3RyaW5naWZ5PWZ1bmN0aW9uKGUsdCxpKXt2YXIgZDtpZihyPVwiXCIsbz1cIlwiLFwibnVtYmVyXCI9PXR5cGVvZiBpKWZvcihkPTA7ZDxpO2QrPTEpbys9XCIgXCI7ZWxzZVwic3RyaW5nXCI9PXR5cGVvZiBpJiYobz1pKTtpZihuPXQsdCYmXCJmdW5jdGlvblwiIT10eXBlb2YgdCYmKFwib2JqZWN0XCIhPXR5cGVvZiB0fHxcIm51bWJlclwiIT10eXBlb2YgdC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcihcIkpTT04uc3RyaW5naWZ5XCIpO3JldHVybiBhKFwiXCIse1wiXCI6ZX0pfSl9KCk7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIERheVBpbG90KXZhciBEYXlQaWxvdD17fTtcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuR2xvYmFsJiYoRGF5UGlsb3QuR2xvYmFsPXt9KSxmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKCl7fTtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuQ2FsZW5kYXJ8fCFEYXlQaWxvdC5DYWxlbmRhci5ldmVudHMpe3ZhciB0PXt9O3Quc2VsZWN0ZWRDZWxscz1bXSx0LnRvcFNlbGVjdGVkQ2VsbD1udWxsLHQuYm90dG9tU2VsZWN0ZWRDZWxsPW51bGwsdC5zZWxlY3Rpbmc9ITEsdC5jb2x1bW49bnVsbCx0LmZpcnN0U2VsZWN0ZWQ9bnVsbCx0LmZpcnN0TW91c2VQb3M9bnVsbCx0Lm9yaWdpbmFsTW91c2U9bnVsbCx0Lm9yaWdpbmFsSGVpZ2h0PW51bGwsdC5vcmlnaW5hbFRvcD1udWxsLHQucmVzaXppbmc9bnVsbCx0Lmdsb2JhbEhhbmRsZXJzPSExLHQubW92aW5nPW51bGwsdC5yZWdpc3Rlcj1mdW5jdGlvbihlKXt0LnJlZ2lzdGVyZWR8fCh0LnJlZ2lzdGVyZWQ9W10pO2Zvcih2YXIgaT10LnJlZ2lzdGVyZWQsbj0wO248aS5sZW5ndGg7bisrKWlmKGlbbl09PT1lKXJldHVybjtpLnB1c2goZSl9LHQudW5yZWdpc3Rlcj1mdW5jdGlvbihlKXt2YXIgaT10LnJlZ2lzdGVyZWQ7aWYoaSl7dmFyIG49RGF5UGlsb3QuaW5kZXhPZihpLGUpO24hPT0tMSYmaS5zcGxpY2UobiwxKX19LHQuZ2V0Q2VsbHNBYm92ZT1mdW5jdGlvbihlKXtmb3IodmFyIGk9W10sbj10LmdldENvbHVtbihlKSxzPWUucGFyZW50Tm9kZSxsPW51bGw7cyYmbCE9PXQuZmlyc3RTZWxlY3RlZDspZm9yKGw9cy5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRkXCIpW25dLGkucHVzaChsKSxzPXMucHJldmlvdXNTaWJsaW5nO3MmJlwiVFJcIiE9PXMudGFnTmFtZTspcz1zLnByZXZpb3VzU2libGluZztyZXR1cm4gaX0sdC5nZXRDZWxsc0JlbG93PWZ1bmN0aW9uKGUpe2Zvcih2YXIgaT1bXSxuPXQuZ2V0Q29sdW1uKGUpLHM9ZS5wYXJlbnROb2RlLGw9bnVsbDtzJiZsIT09dC5maXJzdFNlbGVjdGVkOylmb3IobD1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwidGRcIilbbl0saS5wdXNoKGwpLHM9cy5uZXh0U2libGluZztzJiZcIlRSXCIhPT1zLnRhZ05hbWU7KXM9cy5uZXh0U2libGluZztyZXR1cm4gaX0sdC5nZXRDb2x1bW49ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7ZS5wcmV2aW91c1NpYmxpbmc7KWU9ZS5wcmV2aW91c1NpYmxpbmcsXCJURFwiPT09ZS50YWdOYW1lJiZ0Kys7cmV0dXJuIHR9LHQuZ1VubG9hZD1mdW5jdGlvbihlKXtpZih0LnJlZ2lzdGVyZWQpZm9yKHZhciBpPXQucmVnaXN0ZXJlZCxuPTA7bjxpLmxlbmd0aDtuKyspe3ZhciBzPWlbbl07cy5kaXNwb3NlKCksdC51bnJlZ2lzdGVyKHMpfX0sdC5nTW91c2VVcD1mdW5jdGlvbihpKXtpZih0LnJlc2l6aW5nKXtpZighdC5yZXNpemluZ1NoYWRvdylyZXR1cm4gdC5yZXNpemluZy5zdHlsZS5jdXJzb3I9XCJkZWZhdWx0XCIsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9XCJkZWZhdWx0XCIsdm9pZCh0LnJlc2l6aW5nPW51bGwpO3ZhciBuPXQucmVzaXppbmcuZXZlbnQscz10LnJlc2l6aW5nU2hhZG93LmNsaWVudEhlaWdodCs0LGw9dC5yZXNpemluZ1NoYWRvdy5vZmZzZXRUb3AsYT10LnJlc2l6aW5nLmRwQm9yZGVyO3QuZGVsZXRlU2hhZG93KHQucmVzaXppbmdTaGFkb3cpLHQucmVzaXppbmdTaGFkb3c9bnVsbCx0LnJlc2l6aW5nLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIixuLmNhbGVuZGFyLm5hdi50b3Auc3R5bGUuY3Vyc29yPVwiYXV0b1wiLHQucmVzaXppbmcub25jbGljaz1udWxsLHQucmVzaXppbmc9bnVsbCxuLmNhbGVuZGFyLmEobixzLGwsYSl9ZWxzZSBpZih0Lm1vdmluZyl7aWYoIXQubW92aW5nU2hhZG93KXJldHVybiB0Lm1vdmluZz1udWxsLHZvaWQoZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9XCJkZWZhdWx0XCIpO3ZhciBsPXQubW92aW5nU2hhZG93Lm9mZnNldFRvcDt0LmRlbGV0ZVNoYWRvdyh0Lm1vdmluZ1NoYWRvdyk7dmFyIG49dC5tb3ZpbmcuZXZlbnQsbz10Lm1vdmluZ1NoYWRvdy5jb2x1bW47dC5tb3Zpbmc9bnVsbCx0Lm1vdmluZ1NoYWRvdz1udWxsLG4uY2FsZW5kYXIubmF2LnRvcC5zdHlsZS5jdXJzb3I9XCJhdXRvXCI7dmFyIHI9aXx8d2luZG93LmV2ZW50O24uY2FsZW5kYXIuYihuLG8sbCxyKX1lbHNlIGlmKHQuc2VsZWN0aW5nJiZudWxsIT09dC50b3BTZWxlY3RlZENlbGwpe3ZhciBoPXQuc2VsZWN0aW5nLmNhbGVuZGFyO3Quc2VsZWN0aW5nPSExO3ZhciBjPWguZ2V0U2VsZWN0aW9uKCk7aC5jKGMuc3RhcnQsYy5lbmQpLFwiSG9sZFwiIT09aC50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nJiZcIkhvbGRGb3JldmVyXCIhPT1oLnRpbWVSYW5nZVNlbGVjdGVkSGFuZGxpbmcmJmUoKX1lbHNlIHQuc2VsZWN0aW5nPSExfSx0LmRlbGV0ZVNoYWRvdz1mdW5jdGlvbihlKXtlJiZlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0sdC5tb3ZlU2hhZG93PWZ1bmN0aW9uKGUpe3ZhciBpPXQubW92aW5nU2hhZG93LG49aS5wYXJlbnROb2RlO24uc3R5bGUuZGlzcGxheT1cIm5vbmVcIixpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksZS5maXJzdENoaWxkLmFwcGVuZENoaWxkKGkpLGkuc3R5bGUubGVmdD1cIjBweFwiLG4uc3R5bGUuZGlzcGxheT1cIlwiLGkuc3R5bGUud2lkdGg9dC5tb3ZpbmdTaGFkb3cucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCsxK1wicHhcIn0sdC5DYWxlbmRhcj1mdW5jdGlvbihlLGkpe3ZhciBuPSExO2lmKHRoaXMgaW5zdGFuY2VvZiB0LkNhbGVuZGFyJiYhdGhpcy5kJiYobj0hMCx0aGlzLmQ9ITApLCFuKXRocm93XCJEYXlQaWxvdC5DYWxlbmRhcigpIGlzIGEgY29uc3RydWN0b3IgYW5kIG11c3QgYmUgY2FsbGVkIGFzICd2YXIgYyA9IG5ldyBEYXlQaWxvdC5DYWxlbmRhcihpZCk7J1wiO3ZhciBzPXRoaXM7dGhpcy51bmlxdWVJRD1udWxsLHRoaXMudj1cIjIwMjEuNC4zMzgtbGl0ZVwiLHRoaXMuaWQ9ZSx0aGlzLmNsaWVudE5hbWU9ZSx0aGlzLmNhY2hlPXt9LHRoaXMuY2FjaGUucGl4ZWxzPXt9LHRoaXMuZWxlbWVudHM9e30sdGhpcy5lbGVtZW50cy5ldmVudHM9W10sdGhpcy5lbGVtZW50cy5zZWxlY3Rpb249W10sdGhpcy5uYXY9e30sdGhpcy5hZnRlclJlbmRlcj1mdW5jdGlvbigpe30sdGhpcy5mYXN0ZXJEaXNwb3NlPSEwLHRoaXMuYW5ndWxhckF1dG9BcHBseT0hMSx0aGlzLmFwaT0yLHRoaXMuYnVzaW5lc3NCZWdpbnNIb3VyPTksdGhpcy5idXNpbmVzc0VuZHNIb3VyPTE4LHRoaXMuY2VsbEhlaWdodD0zMCx0aGlzLmNvbHVtbk1hcmdpblJpZ2h0PTUsdGhpcy5mPSEwLHRoaXMuZGF5cz0xLHRoaXMuZHVyYXRpb25CYXJWaXNpYmxlPSEwLHRoaXMuZXZlbnRIZWFkZXJIZWlnaHQ9MTQsdGhpcy5ldmVudEhlYWRlclZpc2libGU9ITAsdGhpcy5ldmVudHNMb2FkTWV0aG9kPVwiR0VUXCIsdGhpcy5oZWFkZXJIZWlnaHQ9MzAsdGhpcy5oZWlnaHQ9MzAwLHRoaXMuaGVpZ2h0U3BlYz1cIkJ1c2luZXNzSG91cnNcIix0aGlzLmhpZGVVbnRpbEluaXQ9ITAsdGhpcy5ob3VyV2lkdGg9NjAsdGhpcy5pbml0U2Nyb2xsUG9zPVwiQXV0b1wiLHRoaXMubG9hZGluZ0xhYmVsVGV4dD1cIkxvYWRpbmcuLi5cIix0aGlzLmxvYWRpbmdMYWJlbFZpc2libGU9ITAsdGhpcy5sb2FkaW5nTGFiZWxCYWNrQ29sb3I9XCJmZjAwMDBcIix0aGlzLmxvYWRpbmdMYWJlbEZvbnRDb2xvcj1cIiNmZmZmZmZcIix0aGlzLmxvYWRpbmdMYWJlbEZvbnRGYW1pbHk9XCJUYWhvbWEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZcIix0aGlzLmxvYWRpbmdMYWJlbEZvbnRTaXplPVwiMTBwdFwiLHRoaXMubG9jYWxlPVwiZW4tdXNcIix0aGlzLnNob3dUb29sVGlwPSEwLHRoaXMuc3RhcnREYXRlPShuZXcgRGF5UGlsb3QuRGF0ZSkuZ2V0RGF0ZVBhcnQoKSx0aGlzLmNzc0NsYXNzUHJlZml4PVwiY2FsZW5kYXJfZGVmYXVsdFwiLHRoaXMudGhlbWU9bnVsbCx0aGlzLnRpbWVGb3JtYXQ9XCJBdXRvXCIsdGhpcy52aWV3VHlwZT1cIkRheXNcIix0aGlzLnZpc2libGU9ITAsdGhpcy50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPVwiRW5hYmxlZFwiLHRoaXMuZXZlbnRDbGlja0hhbmRsaW5nPVwiRW5hYmxlZFwiLHRoaXMuZXZlbnRSZXNpemVIYW5kbGluZz1cIlVwZGF0ZVwiLHRoaXMuZXZlbnRNb3ZlSGFuZGxpbmc9XCJVcGRhdGVcIix0aGlzLmV2ZW50RGVsZXRlSGFuZGxpbmc9XCJEaXNhYmxlZFwiLHRoaXMub25CZWZvcmVFdmVudFJlbmRlcj1udWxsLHRoaXMub25FdmVudENsaWNrPW51bGwsdGhpcy5vbkV2ZW50Q2xpY2tlZD1udWxsLHRoaXMub25FdmVudERlbGV0ZT1udWxsLHRoaXMub25FdmVudERlbGV0ZWQ9bnVsbCx0aGlzLm9uRXZlbnRNb3ZlPW51bGwsdGhpcy5vbkV2ZW50TW92ZWQ9bnVsbCx0aGlzLm9uRXZlbnRSZXNpemU9bnVsbCx0aGlzLm9uRXZlbnRSZXNpemVkPW51bGwsdGhpcy5vblRpbWVSYW5nZVNlbGVjdD1udWxsLHRoaXMub25UaW1lUmFuZ2VTZWxlY3RlZD1udWxsLHRoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXt0LnRvcFNlbGVjdGVkQ2VsbD1udWxsLHQuYm90dG9tU2VsZWN0ZWRDZWxsPW51bGwsdGhpcy5nKCl9LHRoaXMuZz1mdW5jdGlvbigpe0RheVBpbG90LmRlKHMuZWxlbWVudHMuc2VsZWN0aW9uKSxzLmVsZW1lbnRzLnNlbGVjdGlvbj1bXSxzLm5hdi5hY3RpdmVTZWxlY3Rpb249bnVsbH0sdGhpcy5oPW5hdmlnYXRvciYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiTVNJRVwiKSE9PS0xLHRoaXMuaT1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIkZpcmVmb3hcIikhPT0tMSx0aGlzLmo9ZnVuY3Rpb24oKXtpZigvT3BlcmFbXFwvXFxzXShcXGQrXFwuXFxkKykvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpe3JldHVybiBuZXcgTnVtYmVyKFJlZ0V4cC4kMSk+PTEwLjV9cmV0dXJuITF9KCksdGhpcy5rPWZ1bmN0aW9uKCl7aWYoL0FwcGxlV2ViS2l0W1xcL1xcc10oXFxkK1xcLlxcZCspLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXtyZXR1cm4gbmV3IE51bWJlcihSZWdFeHAuJDEpPj01MjJ9cmV0dXJuITF9KCksdGhpcy5jbGVhblNlbGVjdGlvbj10aGlzLmNsZWFyU2VsZWN0aW9uLHRoaXMubD1mdW5jdGlvbihlLHQsaSl7dmFyIG49e307bi5hY3Rpb249ZSxuLnBhcmFtZXRlcnM9aSxuLmRhdGE9dCxuLmhlYWRlcj10aGlzLm0oKTt2YXIgbD1cIkpTT05cIitEYXlQaWxvdC5KU09OLnN0cmluZ2lmeShuKTtfX2RvUG9zdEJhY2socy51bmlxdWVJRCxsKX0sdGhpcy5uPWZ1bmN0aW9uKGUsdCxpKXt0aGlzLmNhbGxiYWNrVGltZW91dCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmNhbGxiYWNrVGltZW91dCksdGhpcy5jYWxsYmFja1RpbWVvdXQ9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLmxvYWRpbmdTdGFydCgpfSwxMDApO3ZhciBuPXt9O24uYWN0aW9uPWUsbi5wYXJhbWV0ZXJzPWksbi5kYXRhPXQsbi5oZWFkZXI9dGhpcy5tKCk7dmFyIGw9XCJKU09OXCIrRGF5UGlsb3QuSlNPTi5zdHJpbmdpZnkobik7dGhpcy5iYWNrZW5kVXJsP0RheVBpbG90LnJlcXVlc3QodGhpcy5iYWNrZW5kVXJsLHRoaXMubyxsLHRoaXMuYWpheEVycm9yKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBXZWJGb3JtX0RvQ2FsbGJhY2smJldlYkZvcm1fRG9DYWxsYmFjayh0aGlzLnVuaXF1ZUlELGwsdGhpcy5wLHRoaXMuY2xpZW50TmFtZSx0aGlzLm9uQ2FsbGJhY2tFcnJvciwhMCl9LHRoaXMub25DYWxsYmFja0Vycm9yPWZ1bmN0aW9uKGUsdCl7YWxlcnQoXCJFcnJvciFcXHJcXG5SZXN1bHQ6IFwiK2UrXCJcXHJcXG5Db250ZXh0OlwiK3QpfSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgZT1zO2UucSgpLGUubmF2LnNjcm9sbC5yb290PW51bGwsRGF5UGlsb3QucHUoZS5uYXYubG9hZGluZyksZS5yKCksZS5zKCksZS5uYXYuc2VsZWN0PW51bGwsZS5uYXYuY29ybmVyUmlnaHQ9bnVsbCxlLm5hdi5zY3JvbGxhYmxlPW51bGwsZS5uYXYuem9vbT1udWxsLGUubmF2LmxvYWRpbmc9bnVsbCxlLm5hdi5oZWFkZXI9bnVsbCxlLm5hdi5ob3VyVGFibGU9bnVsbCxlLm5hdi5zY3JvbGx0b3A9bnVsbCxlLm5hdi5zY3JvbGw9bnVsbCxlLm5hdi5tYWluPW51bGwsZS5uYXYubWVzc2FnZT1udWxsLGUubmF2Lm1lc3NhZ2VDbG9zZT1udWxsLGUubmF2LnRvcD1udWxsLHQudW5yZWdpc3RlcihlKX0sdGhpcy50PWZ1bmN0aW9uKCl7dGhpcy5uYXYudG9wLmRpc3Bvc2U9dGhpcy5kaXNwb3NlfSx0aGlzLm89ZnVuY3Rpb24oZSl7cy5wKGUucmVzcG9uc2VUZXh0KX0sdGhpcy5tPWZ1bmN0aW9uKCl7dmFyIGU9e307cmV0dXJuIGUuY29udHJvbD1cImRwY1wiLGUuaWQ9dGhpcy5pZCxlLnY9dGhpcy52LGUuZGF5cz1zLmRheXMsZS5zdGFydERhdGU9cy5zdGFydERhdGUsZS5oZWlnaHRTcGVjPXMuaGVpZ2h0U3BlYyxlLmJ1c2luZXNzQmVnaW5zSG91cj1zLmJ1c2luZXNzQmVnaW5zSG91cixlLmJ1c2luZXNzRW5kc0hvdXI9cy5idXNpbmVzc0VuZHNIb3VyLGUuaGFzaGVzPXMuaGFzaGVzLGUudGltZUZvcm1hdD1zLnRpbWVGb3JtYXQsZS52aWV3VHlwZT1zLnZpZXdUeXBlLGUubG9jYWxlPXMubG9jYWxlLGV9LHRoaXMudT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lLnBhcmVudE5vZGU7aSYmXCJURFwiIT09aS50YWdOYW1lOylpPWkucGFyZW50Tm9kZTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO24uc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxuLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixuLnN0eWxlLndpZHRoPWUub2Zmc2V0V2lkdGgrXCJweFwiLG4uc3R5bGUuaGVpZ2h0PWUub2Zmc2V0SGVpZ2h0K1wicHhcIixuLnN0eWxlLmxlZnQ9ZS5vZmZzZXRMZWZ0K1wicHhcIixuLnN0eWxlLnRvcD1lLm9mZnNldFRvcCtcInB4XCIsbi5zdHlsZS5ib3hTaXppbmc9XCJib3JkZXItYm94XCIsbi5zdHlsZS56SW5kZXg9MTAxLG4uY2xhc3NOYW1lPXMudyhcIl9zaGFkb3dcIik7dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm4gbC5jbGFzc05hbWU9cy53KFwiX3NoYWRvd19pbm5lclwiKSxuLmFwcGVuZENoaWxkKGwpLGkuZmlyc3RDaGlsZC5hcHBlbmRDaGlsZChuKSxufSx0aGlzLno9e30sdGhpcy56LmxvY2FsZT1mdW5jdGlvbigpe3ZhciBlPURheVBpbG90LkxvY2FsZS5maW5kKHMubG9jYWxlKTtyZXR1cm4gZT9lOkRheVBpbG90LkxvY2FsZS5VU30sdGhpcy56LnRpbWVGb3JtYXQ9ZnVuY3Rpb24oKXtyZXR1cm5cIkF1dG9cIiE9PXMudGltZUZvcm1hdD9zLnRpbWVGb3JtYXQ6dGhpcy5sb2NhbGUoKS50aW1lRm9ybWF0fTt2YXIgbD10aGlzLno7dGhpcy5wPWZ1bmN0aW9uKGUsdCl7aWYoZSYmMD09PWUuaW5kZXhPZihcIiQkJFwiKSl7aWYoIXdpbmRvdy5jb25zb2xlKXRocm93XCJFcnJvciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgc2lkZTogXCIrZTtyZXR1cm4gdm9pZCBjb25zb2xlLmxvZyhcIkVycm9yIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBzaWRlOiBcIitlKX12YXIgZT1KU09OLnBhcnNlKGUpO2lmKGUuQ2FsbEJhY2tSZWRpcmVjdClyZXR1cm4gdm9pZChkb2N1bWVudC5sb2NhdGlvbi5ocmVmPWUuQ2FsbEJhY2tSZWRpcmVjdCk7aWYoXCJOb25lXCI9PT1lLlVwZGF0ZVR5cGUpcmV0dXJuIHMubG9hZGluZ1N0b3AoKSx2b2lkIHMuQSgpO2lmKHMucSgpLFwiRnVsbFwiPT09ZS5VcGRhdGVUeXBlJiYocy5jb2x1bW5zPWUuQ29sdW1ucyxzLmRheXM9ZS5EYXlzLHMuc3RhcnREYXRlPW5ldyBEYXlQaWxvdC5EYXRlKGUuU3RhcnREYXRlKSxzLmhlaWdodFNwZWM9ZS5IZWlnaHRTcGVjP2UuSGVpZ2h0U3BlYzpzLmhlaWdodFNwZWMscy5idXNpbmVzc0JlZ2luc0hvdXI9ZS5CdXNpbmVzc0JlZ2luc0hvdXI/ZS5CdXNpbmVzc0JlZ2luc0hvdXI6cy5idXNpbmVzc0JlZ2luc0hvdXIscy5idXNpbmVzc0VuZHNIb3VyPWUuQnVzaW5lc3NFbmRzSG91cj9lLkJ1c2luZXNzRW5kc0hvdXI6cy5idXNpbmVzc0VuZHNIb3VyLHMuaGVhZGVyRGF0ZUZvcm1hdD1lLkhlYWRlckRhdGVGb3JtYXQ/ZS5IZWFkZXJEYXRlRm9ybWF0OnMuaGVhZGVyRGF0ZUZvcm1hdCxzLnZpZXdUeXBlPWUuVmlld1R5cGUscy5iYWNrQ29sb3I9ZS5CYWNrQ29sb3I/ZS5CYWNrQ29sb3I6cy5iYWNrQ29sb3Iscy5ldmVudEhlYWRlclZpc2libGU9ZS5FdmVudEhlYWRlclZpc2libGU/ZS5FdmVudEhlYWRlclZpc2libGU6cy5ldmVudEhlYWRlclZpc2libGUscy50aW1lRm9ybWF0PWUuVGltZUZvcm1hdD9lLlRpbWVGb3JtYXQ6cy50aW1lRm9ybWF0LHMubG9jYWxlPWUuTG9jYWxlP2UuTG9jYWxlOnMubG9jYWxlLHMuQigpKSxlLkhhc2hlcylmb3IodmFyIGkgaW4gZS5IYXNoZXMpcy5oYXNoZXNbaV09ZS5IYXNoZXNbaV07cy5ldmVudHMubGlzdD1lLkV2ZW50cyxzLkMoKSxzLkQoKSxcIkZ1bGxcIj09PWUuVXBkYXRlVHlwZSYmKHMuRSgpLHMuRigpLHMuRygpLHMuSCgpKSxzLkEoKSxzLkkoKSxzLmNsZWFyU2VsZWN0aW9uKCkscy5hZnRlclJlbmRlcihlLkNhbGxCYWNrRGF0YSwhMCkscy5sb2FkaW5nU3RvcCgpfSx0aGlzLko9ZnVuY3Rpb24oKXtyZXR1cm4gMjR9LHRoaXMuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1c2luZXNzQmVnaW5zSG91cj50aGlzLmJ1c2luZXNzRW5kc0hvdXI/MjQtdGhpcy5idXNpbmVzc0JlZ2luc0hvdXIrdGhpcy5idXNpbmVzc0VuZHNIb3VyOnRoaXMuYnVzaW5lc3NFbmRzSG91ci10aGlzLmJ1c2luZXNzQmVnaW5zSG91cn0sdGhpcy5MPWZ1bmN0aW9uKCl7cmV0dXJuIDQ4fSx0aGlzLk09ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXMuYXBpfSx0aGlzLmV2ZW50Q2xpY2tDYWxsQmFjaz1mdW5jdGlvbihlLHQpe3RoaXMubihcIkV2ZW50Q2xpY2tcIix0LGUpfSx0aGlzLmV2ZW50Q2xpY2tQb3N0QmFjaz1mdW5jdGlvbihlLHQpe3RoaXMubChcIkV2ZW50Q2xpY2tcIix0LGUpfSx0aGlzLk49ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPXQuZXZlbnQ7aWYocy5NKCkpe3ZhciBuPXt9O2lmKG4uZT1pLG4ub3JpZ2luYWxFdmVudD1lLG4ubWV0YT1lLm1ldGFLZXksbi5jdHJsPWUuY3RybEtleSxuLmNvbnRyb2w9cyxuLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2Ygcy5vbkV2ZW50Q2xpY2smJihzLk8uYXBwbHkoZnVuY3Rpb24oKXtzLm9uRXZlbnRDbGljayhuKX0pLG4ucHJldmVudERlZmF1bHQudmFsdWUpKXJldHVybjtzd2l0Y2gocy5ldmVudENsaWNrSGFuZGxpbmcpe2Nhc2VcIkNhbGxCYWNrXCI6cy5ldmVudENsaWNrQ2FsbEJhY2soaSk7YnJlYWs7Y2FzZVwiUG9zdEJhY2tcIjpzLmV2ZW50Q2xpY2tQb3N0QmFjayhpKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzLm9uRXZlbnRDbGlja2VkJiZzLk8uYXBwbHkoZnVuY3Rpb24oKXtzLm9uRXZlbnRDbGlja2VkKG4pfSl9ZWxzZSBzd2l0Y2gocy5ldmVudENsaWNrSGFuZGxpbmcpe2Nhc2VcIlBvc3RCYWNrXCI6cy5ldmVudENsaWNrUG9zdEJhY2soaSk7YnJlYWs7Y2FzZVwiQ2FsbEJhY2tcIjpzLmV2ZW50Q2xpY2tDYWxsQmFjayhpKTticmVhaztjYXNlXCJKYXZhU2NyaXB0XCI6cy5vbkV2ZW50Q2xpY2soaSl9fSx0aGlzLmV2ZW50RGVsZXRlQ2FsbEJhY2s9ZnVuY3Rpb24oZSx0KXt0aGlzLm4oXCJFdmVudERlbGV0ZVwiLHQsZSl9LHRoaXMuZXZlbnREZWxldGVQb3N0QmFjaz1mdW5jdGlvbihlLHQpe3RoaXMubChcIkV2ZW50RGVsZXRlXCIsdCxlKX0sdGhpcy5QPWZ1bmN0aW9uKGUpe2lmKHMuTSgpKXt2YXIgdD17fTtpZih0LmU9ZSx0LmNvbnRyb2w9cyx0LnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2Ygcy5vbkV2ZW50RGVsZXRlJiYocy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vbkV2ZW50RGVsZXRlKHQpfSksdC5wcmV2ZW50RGVmYXVsdC52YWx1ZSkpcmV0dXJuO3N3aXRjaChzLmV2ZW50RGVsZXRlSGFuZGxpbmcpe2Nhc2VcIkNhbGxCYWNrXCI6cy5ldmVudERlbGV0ZUNhbGxCYWNrKGUpO2JyZWFrO2Nhc2VcIlBvc3RCYWNrXCI6cy5ldmVudERlbGV0ZVBvc3RCYWNrKGUpO2JyZWFrO2Nhc2VcIlVwZGF0ZVwiOnMuZXZlbnRzLnJlbW92ZShlKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzLm9uRXZlbnREZWxldGVkJiZzLk8uYXBwbHkoZnVuY3Rpb24oKXtzLm9uRXZlbnREZWxldGVkKHQpfSl9ZWxzZSBzd2l0Y2gocy5ldmVudERlbGV0ZUhhbmRsaW5nKXtjYXNlXCJQb3N0QmFja1wiOnMuZXZlbnREZWxldGVQb3N0QmFjayhlKTticmVhaztjYXNlXCJDYWxsQmFja1wiOnMuZXZlbnREZWxldGVDYWxsQmFjayhlKTticmVhaztjYXNlXCJKYXZhU2NyaXB0XCI6cy5vbkV2ZW50RGVsZXRlKGUpfX0sdGhpcy5ldmVudFJlc2l6ZUNhbGxCYWNrPWZ1bmN0aW9uKGUsdCxpLG4pe2lmKCF0KXRocm93XCJuZXdTdGFydCBpcyBudWxsXCI7aWYoIWkpdGhyb3dcIm5ld0VuZCBpcyBudWxsXCI7dmFyIHM9e307cy5lPWUscy5uZXdTdGFydD10LHMubmV3RW5kPWksdGhpcy5uKFwiRXZlbnRSZXNpemVcIixuLHMpfSx0aGlzLmV2ZW50UmVzaXplUG9zdEJhY2s9ZnVuY3Rpb24oZSx0LGksbil7aWYoIXQpdGhyb3dcIm5ld1N0YXJ0IGlzIG51bGxcIjtpZighaSl0aHJvd1wibmV3RW5kIGlzIG51bGxcIjt2YXIgcz17fTtzLmU9ZSxzLm5ld1N0YXJ0PXQscy5uZXdFbmQ9aSx0aGlzLmwoXCJFdmVudFJlc2l6ZVwiLG4scyl9LHRoaXMuYT1mdW5jdGlvbihlLHQsaSxuKXt2YXIgbD0xLGE9bmV3IERhdGUsbz1uZXcgRGF0ZSxyPWUuc3RhcnQoKSxoPWUuZW5kKCk7aWYoXCJ0b3BcIj09PW4pe3ZhciBjPXIuZ2V0RGF0ZVBhcnQoKSxkPU1hdGguZmxvb3IoKGktbCkvcy5jZWxsSGVpZ2h0KSx1PTMwKmQsdj02MCp1KjFlMzthPWMuYWRkVGltZSh2KSxvPWUuZW5kKCl9ZWxzZSBpZihcImJvdHRvbVwiPT09bil7dmFyIGM9aC5nZXREYXRlUGFydCgpLGQ9TWF0aC5mbG9vcigoaSt0LWwpL3MuY2VsbEhlaWdodCksdT0zMCpkLHY9NjAqdSoxZTM7YT1yLG89Yy5hZGRUaW1lKHYpfWlmKHMuTSgpKXt2YXIgcD17fTtpZihwLmU9ZSxwLmNvbnRyb2w9cyxwLm5ld1N0YXJ0PWEscC5uZXdFbmQ9byxwLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2Ygcy5vbkV2ZW50UmVzaXplJiYocy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vbkV2ZW50UmVzaXplKHApfSkscC5wcmV2ZW50RGVmYXVsdC52YWx1ZSkpcmV0dXJuO3N3aXRjaChzLmV2ZW50UmVzaXplSGFuZGxpbmcpe2Nhc2VcIlBvc3RCYWNrXCI6cy5ldmVudFJlc2l6ZVBvc3RCYWNrKGUsYSxvKTticmVhaztjYXNlXCJDYWxsQmFja1wiOnMuZXZlbnRSZXNpemVDYWxsQmFjayhlLGEsbyk7YnJlYWs7Y2FzZVwiVXBkYXRlXCI6ZS5zdGFydChhKSxlLmVuZChvKSxzLmV2ZW50cy51cGRhdGUoZSl9XCJmdW5jdGlvblwiPT10eXBlb2Ygcy5vbkV2ZW50UmVzaXplZCYmcy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vbkV2ZW50UmVzaXplZChwKX0pfWVsc2Ugc3dpdGNoKHMuZXZlbnRSZXNpemVIYW5kbGluZyl7Y2FzZVwiUG9zdEJhY2tcIjpzLmV2ZW50UmVzaXplUG9zdEJhY2soZSxhLG8pO2JyZWFrO2Nhc2VcIkNhbGxCYWNrXCI6cy5ldmVudFJlc2l6ZUNhbGxCYWNrKGUsYSxvKTticmVhaztjYXNlXCJKYXZhU2NyaXB0XCI6cy5vbkV2ZW50UmVzaXplKGUsYSxvKX19LHRoaXMuZXZlbnRNb3ZlUG9zdEJhY2s9ZnVuY3Rpb24oZSx0LGksbixzKXtpZighdCl0aHJvd1wibmV3U3RhcnQgaXMgbnVsbFwiO2lmKCFpKXRocm93XCJuZXdFbmQgaXMgbnVsbFwiO3ZhciBsPXt9O2wuZT1lLGwubmV3U3RhcnQ9dCxsLm5ld0VuZD1pLHRoaXMubChcIkV2ZW50TW92ZVwiLHMsbCl9LHRoaXMuZXZlbnRNb3ZlQ2FsbEJhY2s9ZnVuY3Rpb24oZSx0LGksbixzKXtpZighdCl0aHJvd1wibmV3U3RhcnQgaXMgbnVsbFwiO2lmKCFpKXRocm93XCJuZXdFbmQgaXMgbnVsbFwiO3ZhciBsPXt9O2wuZT1lLGwubmV3U3RhcnQ9dCxsLm5ld0VuZD1pLHRoaXMubihcIkV2ZW50TW92ZVwiLHMsbCl9LHRoaXMuYj1mdW5jdGlvbihlLHQsaSxuKXt2YXIgbD0xLGE9TWF0aC5mbG9vcigoaS1sKS9zLmNlbGxIZWlnaHQpLG89MzAqYSo2MCoxZTMscj1lLnN0YXJ0KCksaD1lLmVuZCgpLGM9bmV3IERhdGU7ciBpbnN0YW5jZW9mIERheVBpbG90LkRhdGUmJihyPXIudG9EYXRlKCkpLGMuc2V0VGltZShEYXRlLlVUQyhyLmdldFVUQ0Z1bGxZZWFyKCksci5nZXRVVENNb250aCgpLHIuZ2V0VVRDRGF0ZSgpKSk7dmFyIGQ9ci5nZXRUaW1lKCktKGMuZ2V0VGltZSgpKzM2MDAqci5nZXRVVENIb3VycygpKjFlMyszMCpNYXRoLmZsb29yKHIuZ2V0VVRDTWludXRlcygpLzMwKSo2MCoxZTMpLHU9aC5nZXRUaW1lKCktci5nZXRUaW1lKCksdj10aGlzLmNvbHVtbnNbdF0scD12LlN0YXJ0LmdldFRpbWUoKSxmPW5ldyBEYXRlO2Yuc2V0VGltZShwK28rZCk7dmFyIGc9bmV3IERheVBpbG90LkRhdGUoZiksbT1nLmFkZFRpbWUodSk7aWYocy5NKCkpe3ZhciB5PXt9O2lmKHkuZT1lLHkubmV3U3RhcnQ9Zyx5Lm5ld0VuZD1tLHkuY3RybD1uLmN0cmxLZXkseS5zaGlmdD1uLnNoaWZ0S2V5LHkuY29udHJvbD1zLHkucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBzLm9uRXZlbnRNb3ZlJiYocy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vbkV2ZW50TW92ZSh5KX0pLHkucHJldmVudERlZmF1bHQudmFsdWUpKXJldHVybjtzd2l0Y2gocy5ldmVudE1vdmVIYW5kbGluZyl7Y2FzZVwiUG9zdEJhY2tcIjpzLmV2ZW50TW92ZVBvc3RCYWNrKGUsZyxtLHYuVmFsdWUpO2JyZWFrO2Nhc2VcIkNhbGxCYWNrXCI6cy5ldmVudE1vdmVDYWxsQmFjayhlLGcsbSx2LlZhbHVlKTticmVhaztjYXNlXCJVcGRhdGVcIjplLnN0YXJ0KGcpLGUuZW5kKG0pLHMuZXZlbnRzLnVwZGF0ZShlKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzLm9uRXZlbnRNb3ZlZCYmcy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vbkV2ZW50TW92ZWQoeSl9KX1lbHNlIHN3aXRjaChzLmV2ZW50TW92ZUhhbmRsaW5nKXtjYXNlXCJQb3N0QmFja1wiOnMuZXZlbnRNb3ZlUG9zdEJhY2soZSxnLG0sdi5WYWx1ZSk7YnJlYWs7Y2FzZVwiQ2FsbEJhY2tcIjpzLmV2ZW50TW92ZUNhbGxCYWNrKGUsZyxtLHYuVmFsdWUpO2JyZWFrO2Nhc2VcIkphdmFTY3JpcHRcIjpzLm9uRXZlbnRNb3ZlKGUsZyxtLHYuVmFsdWUsITEpfX0sdGhpcy50aW1lUmFuZ2VTZWxlY3RlZFBvc3RCYWNrPWZ1bmN0aW9uKGUsdCxpLG4pe3ZhciBzPXt9O3Muc3RhcnQ9ZSxzLmVuZD10LHRoaXMubChcIlRpbWVSYW5nZVNlbGVjdGVkXCIsbixzKX0sdGhpcy50aW1lUmFuZ2VTZWxlY3RlZENhbGxCYWNrPWZ1bmN0aW9uKGUsdCxpLG4pe3ZhciBzPXt9O3Muc3RhcnQ9ZSxzLmVuZD10LHRoaXMubihcIlRpbWVSYW5nZVNlbGVjdGVkXCIsbixzKX0sdGhpcy5jPWZ1bmN0aW9uKGUsdCl7aWYoZT1uZXcgRGF5UGlsb3QuRGF0ZShlKSx0PW5ldyBEYXlQaWxvdC5EYXRlKHQpLHRoaXMuTSgpKXt2YXIgaT17fTtpZihpLnN0YXJ0PWUsaS5lbmQ9dCxpLmNvbnRyb2w9cyxpLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2Ygcy5vblRpbWVSYW5nZVNlbGVjdCYmKHMuTy5hcHBseShmdW5jdGlvbigpe3Mub25UaW1lUmFuZ2VTZWxlY3QoaSl9KSxpLnByZXZlbnREZWZhdWx0LnZhbHVlKSlyZXR1cm47c3dpdGNoKHMudGltZVJhbmdlU2VsZWN0ZWRIYW5kbGluZyl7Y2FzZVwiUG9zdEJhY2tcIjpzLnRpbWVSYW5nZVNlbGVjdGVkUG9zdEJhY2soZSx0KTticmVhaztjYXNlXCJDYWxsQmFja1wiOnMudGltZVJhbmdlU2VsZWN0ZWRDYWxsQmFjayhlLHQpfVwiZnVuY3Rpb25cIj09dHlwZW9mIHMub25UaW1lUmFuZ2VTZWxlY3RlZCYmcy5PLmFwcGx5KGZ1bmN0aW9uKCl7cy5vblRpbWVSYW5nZVNlbGVjdGVkKGkpfSl9ZWxzZSBzd2l0Y2gocy50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nKXtjYXNlXCJQb3N0QmFja1wiOnMudGltZVJhbmdlU2VsZWN0ZWRQb3N0QmFjayhlLHQpO2JyZWFrO2Nhc2VcIkNhbGxCYWNrXCI6cy50aW1lUmFuZ2VTZWxlY3RlZENhbGxCYWNrKGUsdCk7YnJlYWs7Y2FzZVwiSmF2YVNjcmlwdFwiOnMub25UaW1lUmFuZ2VTZWxlY3RlZChlLHQpfX0sdGhpcy5RPWZ1bmN0aW9uKGUpe2lmKCF0LnNlbGVjdGluZyYmXCJEaXNhYmxlZFwiIT09cy50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nKXt2YXIgaT13aW5kb3cuZXZlbnQ/d2luZG93LmV2ZW50LmJ1dHRvbjplLndoaWNoO2lmKDE9PT1pfHwwPT09aSlyZXR1cm4gdC5maXJzdE1vdXNlUG9zPURheVBpbG90Lm1jKGV8fHdpbmRvdy5ldmVudCksdC5zZWxlY3Rpbmc9e30sdC5zZWxlY3RpbmcuY2FsZW5kYXI9cyx0LnNlbGVjdGVkQ2VsbHMmJihzLmNsZWFyU2VsZWN0aW9uKCksdC5zZWxlY3RlZENlbGxzPVtdKSx0LmNvbHVtbj10LmdldENvbHVtbih0aGlzKSx0LnNlbGVjdGVkQ2VsbHMucHVzaCh0aGlzKSx0LmZpcnN0U2VsZWN0ZWQ9dGhpcyx0LnRvcFNlbGVjdGVkQ2VsbD10aGlzLHQuYm90dG9tU2VsZWN0ZWRDZWxsPXRoaXMscy5SKCksITF9fSx0aGlzLlI9ZnVuY3Rpb24oKXt0aGlzLmdldFNlbGVjdGlvbigpOyFmdW5jdGlvbigpe3JldHVybn0oKSxmdW5jdGlvbigpe3ZhciBlPXQudG9wU2VsZWN0ZWRDZWxsLGk9dC5ib3R0b21TZWxlY3RlZENlbGwsbj1mdW5jdGlvbigpe2lmKGUuZGF0YSlyZXR1cm4gZS5kYXRhLng7Zm9yKHZhciB0PWUucGFyZW50Tm9kZS5jZWxscyxpPTA7aTx0Lmxlbmd0aDtpKyspaWYodFtpXT09PWUpcmV0dXJuIGk7cmV0dXJuLTF9KCksbD1zLmNvbHVtbnNbbl07aWYobCl7dmFyIGE9bC5TdGFydCxvPXMuZ2V0UGl4ZWxzKGUuc3RhcnQsYSkuYm94VG9wLHI9cy5nZXRQaXhlbHMoaS5lbmQsYSkuYm94Qm90dG9tLGg9ci1vLGM9ZnVuY3Rpb24oKXtpZihzLm5hdi5hY3RpdmVTZWxlY3Rpb24pcmV0dXJuIHMubmF2LmFjdGl2ZVNlbGVjdGlvbjt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Uuc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxlLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixlLnN0eWxlLmxlZnQ9XCIwcHhcIixlLnN0eWxlLndpZHRoPVwiMTAwJVwiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIHQuc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSx0LmNsYXNzTmFtZT1zLncoXCJfc2hhZG93X2lubmVyXCIpLGUuYXBwZW5kQ2hpbGQodCkscy5uYXYuZXZlbnRzLnJvd3NbMF0uY2VsbHNbbl0uc2VsZWN0aW9uLmFwcGVuZENoaWxkKGUpLHMuZWxlbWVudHMuc2VsZWN0aW9uLnB1c2goZSkscy5uYXYuYWN0aXZlU2VsZWN0aW9uPWUsZX0oKTtjLmNsYXNzTmFtZT1zLncoXCJfc2hhZG93XCIpLGMuZmlyc3RDaGlsZC5pbm5lckhUTUw9XCJcIixjLnN0eWxlLnRvcD1vK1wicHhcIixjLnN0eWxlLmhlaWdodD1oK1wicHhcIn19KCl9LHRoaXMuUz1mdW5jdGlvbihlKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgdCYmdC5zZWxlY3Rpbmcpe3ZhciBpPURheVBpbG90Lm1jKGV8fHdpbmRvdy5ldmVudCk7dC5nZXRDb2x1bW4odGhpcyk9PT10LmNvbHVtbiYmKHMuY2xlYXJTZWxlY3Rpb24oKSxpLnk8dC5maXJzdE1vdXNlUG9zLnk/KHQuc2VsZWN0ZWRDZWxscz10LmdldENlbGxzQmVsb3codGhpcyksdC50b3BTZWxlY3RlZENlbGw9dC5zZWxlY3RlZENlbGxzWzBdLHQuYm90dG9tU2VsZWN0ZWRDZWxsPXQuZmlyc3RTZWxlY3RlZCk6KHQuc2VsZWN0ZWRDZWxscz10LmdldENlbGxzQWJvdmUodGhpcyksdC50b3BTZWxlY3RlZENlbGw9dC5maXJzdFNlbGVjdGVkLHQuYm90dG9tU2VsZWN0ZWRDZWxsPXQuc2VsZWN0ZWRDZWxsc1swXSkscy5SKCkpfX0sdGhpcy5nZXRTZWxlY3Rpb249ZnVuY3Rpb24oKXt2YXIgZT10LnRvcFNlbGVjdGVkQ2VsbC5zdGFydCxpPXQuYm90dG9tU2VsZWN0ZWRDZWxsLmVuZDtyZXR1cm4gbmV3IERheVBpbG90LlNlbGVjdGlvbihlLGksbnVsbCxzKX0sdGhpcy5UPWZ1bmN0aW9uKGUpe30sdGhpcy5VPWZ1bmN0aW9uKGUpe2lmKGU8MClyZXR1cm4gbnVsbDtmb3IodmFyIHQ9MCxpPXMubmF2LmV2ZW50cy5yb3dzWzBdLmNlbGxzLG49MDtuPGkubGVuZ3RoO24rKyl7aWYodCs9aVtuXS5vZmZzZXRXaWR0aCxlPHQpcmV0dXJuIG59cmV0dXJuIG51bGx9LHRoaXMuVj17fSx0aGlzLlYuZ2V0Q2VsbENvb3Jkcz1mdW5jdGlvbigpe3ZhciBlPXt9O2lmKGUueD0wLGUueT0wLCFzLmNvb3JkcylyZXR1cm4gbnVsbDtlLng9cy5VKHMuY29vcmRzLngpO3ZhciB0PTAsaT1NYXRoLmZsb29yKChzLmNvb3Jkcy55LXQpL3MuY2VsbEhlaWdodCk7cmV0dXJuIGUueT1pLGUueDwwP251bGw6ZX0sdGhpcy5CPWZ1bmN0aW9uKCl7dGhpcy5jb2x1bW5zPXRoaXMuVygpO2Zvcih2YXIgZT0wO2U8dGhpcy5jb2x1bW5zLmxlbmd0aDtlKyspdGhpcy5YKHRoaXMuY29sdW1uc1tlXSl9LHRoaXMuWD1mdW5jdGlvbihlKXtlLlN0YXJ0PW5ldyBEYXlQaWxvdC5EYXRlKGUuU3RhcnQpLGUucHV0SW50b0Jsb2NrPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8dGhpcy5ibG9ja3MubGVuZ3RoO3QrKyl7dmFyIGk9dGhpcy5ibG9ja3NbdF07aWYoaS5vdmVybGFwc1dpdGgoZS5wYXJ0LnRvcCxlLnBhcnQuaGVpZ2h0KSlyZXR1cm4gaS5ldmVudHMucHVzaChlKSxpLm1pbj1NYXRoLm1pbihpLm1pbixlLnBhcnQudG9wKSxpLm1heD1NYXRoLm1heChpLm1heCxlLnBhcnQudG9wK2UucGFydC5oZWlnaHQpLHR9dmFyIGk9W107cmV0dXJuIGkubGluZXM9W10saS5ldmVudHM9W10saS5vdmVybGFwc1dpdGg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hKGUrdC0xPHRoaXMubWlufHxlPnRoaXMubWF4LTEpfSxpLnB1dEludG9MaW5lPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8dGhpcy5saW5lcy5sZW5ndGg7dCsrKXt2YXIgaT10aGlzLmxpbmVzW3RdO2lmKGkuaXNGcmVlKGUucGFydC50b3AsZS5wYXJ0LmhlaWdodCkpcmV0dXJuIGkucHVzaChlKSx0fXZhciBpPVtdO3JldHVybiBpLmlzRnJlZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lK3QtMSxuPXRoaXMubGVuZ3RoLHM9MDtzPG47cysrKXt2YXIgbD10aGlzW3NdO2lmKCEoaTxsLnBhcnQudG9wfHxlPmwucGFydC50b3ArbC5wYXJ0LmhlaWdodC0xKSlyZXR1cm4hMX1yZXR1cm4hMH0saS5wdXNoKGUpLHRoaXMubGluZXMucHVzaChpKSx0aGlzLmxpbmVzLmxlbmd0aC0xfSxpLmV2ZW50cy5wdXNoKGUpLGkubWluPWUucGFydC50b3AsaS5tYXg9ZS5wYXJ0LnRvcCtlLnBhcnQuaGVpZ2h0LHRoaXMuYmxvY2tzLnB1c2goaSksdGhpcy5ibG9ja3MubGVuZ3RoLTF9LGUucHV0SW50b0xpbmU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDx0aGlzLmxpbmVzLmxlbmd0aDt0Kyspe3ZhciBpPXRoaXMubGluZXNbdF07aWYoaS5pc0ZyZWUoZS5wYXJ0LnRvcCxlLnBhcnQuaGVpZ2h0KSlyZXR1cm4gaS5wdXNoKGUpLHR9dmFyIGk9W107cmV0dXJuIGkuaXNGcmVlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPWUrdC0xLG49dGhpcy5sZW5ndGgscz0wO3M8bjtzKyspe3ZhciBsPXRoaXNbc107aWYoIShpPGwucGFydC50b3B8fGU+bC5wYXJ0LnRvcCtsLnBhcnQuaGVpZ2h0LTEpKXJldHVybiExfXJldHVybiEwfSxpLnB1c2goZSksdGhpcy5saW5lcy5wdXNoKGkpLHRoaXMubGluZXMubGVuZ3RoLTF9fSx0aGlzLlc9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PXRoaXMuc3RhcnREYXRlLmdldERhdGVQYXJ0KCksaT10aGlzLmRheXM7c3dpdGNoKHRoaXMudmlld1R5cGUpe2Nhc2VcIkRheVwiOmk9MTticmVhaztjYXNlXCJXZWVrXCI6aT03LHQ9dC5maXJzdERheU9mV2VlayhsLmxvY2FsZSgpLndlZWtTdGFydHMpO2JyZWFrO2Nhc2VcIldvcmtXZWVrXCI6aT01LHQ9dC5maXJzdERheU9mV2VlaygxKX1mb3IodmFyIG49MDtuPGk7bisrKXt2YXIgYT1zLmhlYWRlckRhdGVGb3JtYXQ/cy5oZWFkZXJEYXRlRm9ybWF0OmwubG9jYWxlKCkuZGF0ZVBhdHRlcm4sbz17fTtvLlN0YXJ0PXQuYWRkRGF5cyhuKSxvLk5hbWU9by5TdGFydC50b1N0cmluZyhhLGwubG9jYWxlKCkpLG8uSW5uZXJIVE1MPW8uTmFtZSxlLnB1c2gobyl9cmV0dXJuIGV9LHRoaXMudmlzaWJsZVN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sdW1uc1swXS5TdGFydH0sdGhpcy52aXNpYmxlRW5kPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb2x1bW5zLmxlbmd0aC0xO3JldHVybiB0aGlzLmNvbHVtbnNbZV0uU3RhcnQuYWRkRGF5cygxKX0sdGhpcy53PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMudGhlbWV8fHRoaXMuY3NzQ2xhc3NQcmVmaXg7cmV0dXJuIHQ/dCtlOlwiXCJ9LHRoaXMucT1mdW5jdGlvbigpe2lmKHRoaXMuZWxlbWVudHMuZXZlbnRzKWZvcih2YXIgZT0wO2U8dGhpcy5lbGVtZW50cy5ldmVudHMubGVuZ3RoO2UrKyl7dmFyIHQ9dGhpcy5lbGVtZW50cy5ldmVudHNbZV0saT10LmV2ZW50O2lmKGkmJihpLmNhbGVuZGFyPW51bGwpLHQub25jbGljaz1udWxsLHQub25jbGlja1NhdmU9bnVsbCx0Lm9ubW91c2VvdmVyPW51bGwsdC5vbm1vdXNlb3V0PW51bGwsdC5vbm1vdXNlbW92ZT1udWxsLHQub25tb3VzZWRvd249bnVsbCx0LmZpcnN0Q2hpbGQmJnQuZmlyc3RDaGlsZC5maXJzdENoaWxkJiZ0LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC50YWdOYW1lJiZcIklNR1wiPT09dC5maXJzdENoaWxkLmZpcnN0Q2hpbGQudGFnTmFtZS50b1VwcGVyQ2FzZSgpKXt2YXIgbj10LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDtuLm9ubW91c2Vkb3duPW51bGwsbi5vbm1vdXNlbW92ZT1udWxsLG4ub25jbGljaz1udWxsfXQuaGVscGVyPW51bGwsdC5kYXRhPW51bGwsdC5ldmVudD1udWxsLERheVBpbG90LmRlKHQpfXRoaXMuZWxlbWVudHMuZXZlbnRzPVtdfSx0aGlzLlk9ZnVuY3Rpb24oZSl7dmFyIGk9ZS5jYWNoZXx8ZS5kYXRhLG49dGhpcy5uYXYuZXZlbnRzLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtsLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixsLnN0eWxlLmxlZnQ9ZS5wYXJ0LmxlZnQrXCIlXCIsbC5zdHlsZS50b3A9ZS5wYXJ0LnRvcCtcInB4XCIsbC5zdHlsZS53aWR0aD1lLnBhcnQud2lkdGgrXCIlXCIsbC5zdHlsZS5oZWlnaHQ9TWF0aC5tYXgoZS5wYXJ0LmhlaWdodCwyKStcInB4XCIsbC5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiLGwuZGF0YT1lLGwuZXZlbnQ9ZSxsLnVuc2VsZWN0YWJsZT1cIm9uXCIsbC5zdHlsZS5Nb3pVc2VyU2VsZWN0PVwibm9uZVwiLGwuc3R5bGUuS2h0bWxVc2VyU2VsZWN0PVwibm9uZVwiLGwuY2xhc3NOYW1lPXRoaXMudyhcIl9ldmVudFwiKSxpLmNzc0NsYXNzJiZEYXlQaWxvdC5VdGlsLmFkZENsYXNzKGwsaS5jc3NDbGFzcyksbC5pc0ZpcnN0PWUucGFydC5zdGFydC5nZXRUaW1lKCk9PT1lLnN0YXJ0KCkuZ2V0VGltZSgpLGwuaXNMYXN0PWUucGFydC5lbmQuZ2V0VGltZSgpPT09ZS5lbmQoKS5nZXRUaW1lKCksbC5vbmNsaWNrPXRoaXMuTixsLm9ubW91c2VvdXQ9ZnVuY3Rpb24oZSl7bC5kZWxldGVJY29uJiYobC5kZWxldGVJY29uLnN0eWxlLmRpc3BsYXk9XCJub25lXCIpfSxsLm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKGUpe3ZhciBpPXMuZXZlbnRIZWFkZXJWaXNpYmxlP3MuZXZlbnRIZWFkZXJIZWlnaHQ6MTA7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHQpe3ZhciBuPURheVBpbG90Lm1vMyhsLGUpO2lmKG4mJiF0LnJlc2l6aW5nJiYhdC5tb3Zpbmcpe2wuZGVsZXRlSWNvbiYmKGwuZGVsZXRlSWNvbi5zdHlsZS5kaXNwbGF5PVwiXCIpO3ZhciBhPXRoaXMuaXNMYXN0O24ueTw9aSYmXCJEaXNhYmxlZFwiIT09cy5ldmVudFJlc2l6ZUhhbmRsaW5nPyh0aGlzLnN0eWxlLmN1cnNvcj1cIm4tcmVzaXplXCIsdGhpcy5kcEJvcmRlcj1cInRvcFwiKTp0aGlzLm9mZnNldEhlaWdodC1uLnk8PTUmJlwiRGlzYWJsZWRcIiE9PXMuZXZlbnRSZXNpemVIYW5kbGluZz9hPyh0aGlzLnN0eWxlLmN1cnNvcj1cInMtcmVzaXplXCIsdGhpcy5kcEJvcmRlcj1cImJvdHRvbVwiKTp0aGlzLnN0eWxlLmN1cnNvcj1cIm5vdC1hbGxvd2VkXCI6dC5yZXNpemluZ3x8dC5tb3Zpbmd8fChcIkRpc2FibGVkXCIhPT1zLmV2ZW50Q2xpY2tIYW5kbGluZz90aGlzLnN0eWxlLmN1cnNvcj1cInBvaW50ZXJcIjp0aGlzLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIil9fX0sbC5vbm1vdXNlZG93bj1mdW5jdGlvbihlKXtlPWV8fHdpbmRvdy5ldmVudDt2YXIgaT1lLndoaWNofHxlLmJ1dHRvbjtpZihcIm4tcmVzaXplXCIhPT10aGlzLnN0eWxlLmN1cnNvciYmXCJzLXJlc2l6ZVwiIT09dGhpcy5zdHlsZS5jdXJzb3J8fDEhPT1pKXtpZigxPT09aSYmXCJEaXNhYmxlZFwiIT09cy5ldmVudE1vdmVIYW5kbGluZyl7dC5tb3Zpbmc9dGhpcyx0Lm1vdmluZy5ldmVudD10aGlzLmV2ZW50O3ZhciBuPXQubW92aW5nLmhlbHBlcj17fTtuLm9sZENvbHVtbj1zLmNvbHVtbnNbdGhpcy5kYXRhLnBhcnQuZGF5SW5kZXhdLlZhbHVlLHQub3JpZ2luYWxNb3VzZT1EYXlQaWxvdC5tYyhlKSx0Lm9yaWdpbmFsVG9wPXRoaXMub2Zmc2V0VG9wO3ZhciBsPURheVBpbG90Lm1vMyh0aGlzLGUpO2w/dC5tb3ZlT2Zmc2V0WT1sLnk6dC5tb3ZlT2Zmc2V0WT0wLHMubmF2LnRvcC5zdHlsZS5jdXJzb3I9XCJtb3ZlXCJ9fWVsc2UgdC5yZXNpemluZz10aGlzLHQub3JpZ2luYWxNb3VzZT1EYXlQaWxvdC5tYyhlKSx0Lm9yaWdpbmFsSGVpZ2h0PXRoaXMub2Zmc2V0SGVpZ2h0LHQub3JpZ2luYWxUb3A9dGhpcy5vZmZzZXRUb3Ascy5uYXYudG9wLnN0eWxlLmN1cnNvcj10aGlzLnN0eWxlLmN1cnNvcjtyZXR1cm4hMX07dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtpZihhLnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksYS5jbGFzc05hbWU9cy53KFwiX2V2ZW50X2lubmVyXCIpLGEuaW5uZXJIVE1MPWUuY2xpZW50Lmh0bWwoKSxpLmJvcmRlckNvbG9yJiYoYS5zdHlsZS5ib3JkZXJDb2xvcj1pLmJvcmRlckNvbG9yKSxpLmJhY2tDb2xvciYmKGEuc3R5bGUuYmFja2dyb3VuZD1pLmJhY2tDb2xvciwoRGF5UGlsb3QuYnJvd3Nlci5pZTl8fERheVBpbG90LmJyb3dzZXIuaWVsdDkpJiYoYS5zdHlsZS5maWx0ZXI9XCJcIikpLGkuZm9udENvbG9yJiYoYS5zdHlsZS5jb2xvcj1pLmZvbnRDb2xvciksbC5hcHBlbmRDaGlsZChhKSxlLmNsaWVudC5iYXJWaXNpYmxlKCkpe3ZhciBvPWUucGFydC5oZWlnaHQtMixyPTEwMCplLnBhcnQuYmFyVG9wL28saD1NYXRoLmNlaWwoMTAwKmUucGFydC5iYXJIZWlnaHQvbyksYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxjLmNsYXNzTmFtZT10aGlzLncoXCJfZXZlbnRfYmFyXCIpLGMuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGkuYmFyQmFja0NvbG9yJiYoYy5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9aS5iYXJCYWNrQ29sb3IpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ZC5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLGQuY2xhc3NOYW1lPXRoaXMudyhcIl9ldmVudF9iYXJfaW5uZXJcIiksZC5zdHlsZS50b3A9citcIiVcIiwwPGgmJmg8PTE/ZC5zdHlsZS5oZWlnaHQ9XCIxcHhcIjpkLnN0eWxlLmhlaWdodD1oK1wiJVwiLGkuYmFyQ29sb3ImJihkLnN0eWxlLmJhY2tncm91bmRDb2xvcj1pLmJhckNvbG9yKSxjLmFwcGVuZENoaWxkKGQpLGwuYXBwZW5kQ2hpbGQoYyl9aWYoXCJEaXNhYmxlZFwiIT09cy5ldmVudERlbGV0ZUhhbmRsaW5nKXt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3Uuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHUuc3R5bGUucmlnaHQ9XCIycHhcIix1LnN0eWxlLnRvcD1cIjJweFwiLHUuc3R5bGUud2lkdGg9XCIxN3B4XCIsdS5zdHlsZS5oZWlnaHQ9XCIxN3B4XCIsdS5jbGFzc05hbWU9cy53KFwiX2V2ZW50X2RlbGV0ZVwiKSx1Lm9uY2xpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlLmV2ZW50O3QmJnMuUCh0KX0sdS5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLGwuZGVsZXRlSWNvbj11LGwuYXBwZW5kQ2hpbGQodSl9aWYobi5yb3dzWzBdLmNlbGxzW2UucGFydC5kYXlJbmRleF0pe24ucm93c1swXS5jZWxsc1tlLnBhcnQuZGF5SW5kZXhdLmZpcnN0Q2hpbGQuYXBwZW5kQ2hpbGQobCkscy5aKGwpfXMuZWxlbWVudHMuZXZlbnRzLnB1c2gobCl9LHRoaXMuWj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZSYmZS5jaGlsZE5vZGVzP2UuY2hpbGROb2Rlcy5sZW5ndGg6MCxpPTA7aTx0O2krKyl0cnl7dmFyIG49ZS5jaGlsZE5vZGVzW2ldOzE9PT1uLm5vZGVUeXBlJiYobi51bnNlbGVjdGFibGU9XCJvblwiLHRoaXMuWihuKSl9Y2F0Y2goZSl7fX0sdGhpcy5JPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvbHVtbnMubGVuZ3RoO2UrKyl7dmFyIHQ9dGhpcy5jb2x1bW5zW2VdO2lmKHQuYmxvY2tzKWZvcih2YXIgaT0wO2k8dC5ibG9ja3MubGVuZ3RoO2krKylmb3IodmFyIG49dC5ibG9ja3NbaV0scz0wO3M8bi5saW5lcy5sZW5ndGg7cysrKWZvcih2YXIgbD1uLmxpbmVzW3NdLGE9MDthPGwubGVuZ3RoO2ErKyl7dmFyIG89bFthXTtvLnBhcnQud2lkdGg9MTAwL24ubGluZXMubGVuZ3RoLG8ucGFydC5sZWZ0PW8ucGFydC53aWR0aCpzO3ZhciByPXM9PT1uLmxpbmVzLmxlbmd0aC0xO3J8fChvLnBhcnQud2lkdGg9MS41Km8ucGFydC53aWR0aCksdGhpcy5ZKG8pfX19LHRoaXMuJD1mdW5jdGlvbigpe3RoaXMubmF2LnRvcC5pbm5lckhUTUw9XCJcIix0aGlzLmY/RGF5UGlsb3QuVXRpbC5hZGRDbGFzcyh0aGlzLm5hdi50b3AsdGhpcy53KFwiX21haW5cIikpOih0aGlzLm5hdi50b3Auc3R5bGUubGluZUhlaWdodD1cIjEuMlwiLHRoaXMubmF2LnRvcC5zdHlsZS50ZXh0QWxpZ249XCJsZWZ0XCIpLHRoaXMubmF2LnRvcC5zdHlsZS5Nb3pVc2VyU2VsZWN0PVwibm9uZVwiLHRoaXMubmF2LnRvcC5zdHlsZS5LaHRtbFVzZXJTZWxlY3Q9XCJub25lXCIsdGhpcy5uYXYudG9wLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIix0aGlzLm5hdi50b3Auc3R5bGUud2lkdGg9dGhpcy53aWR0aD90aGlzLndpZHRoOlwiMTAwJVwiLHRoaXMuaGlkZVVudGlsSW5pdCYmKHRoaXMubmF2LnRvcC5zdHlsZS52aXNpYmlsaXR5PVwiaGlkZGVuXCIpLHRoaXMudmlzaWJsZXx8KHRoaXMubmF2LnRvcC5zdHlsZS5kaXNwbGF5PVwibm9uZVwiKSx0aGlzLm5hdi5zY3JvbGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLm5hdi5zY3JvbGwuc3R5bGUuaGVpZ2h0PXRoaXMuXygpK1wicHhcIixcIkJ1c2luZXNzSG91cnNcIj09PXRoaXMuaGVpZ2h0U3BlYz90aGlzLm5hdi5zY3JvbGwuc3R5bGUub3ZlcmZsb3c9XCJhdXRvXCI6dGhpcy5uYXYuc2Nyb2xsLnN0eWxlLm92ZXJmbG93PVwiaGlkZGVuXCIsdGhpcy5uYXYuc2Nyb2xsLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIiwhdGhpcy5mO3ZhciBlPXRoaXMuYWEoKTt0aGlzLm5hdi50b3AuYXBwZW5kQ2hpbGQoZSksdGhpcy5uYXYuc2Nyb2xsLnN0eWxlLnpvb209MTt2YXIgdD10aGlzLmJhKCk7dGhpcy5uYXYuc2Nyb2xsYWJsZT10LmZpcnN0Q2hpbGQsdGhpcy5uYXYuc2Nyb2xsLmFwcGVuZENoaWxkKHQpLHRoaXMubmF2LnRvcC5hcHBlbmRDaGlsZCh0aGlzLm5hdi5zY3JvbGwpLHRoaXMubmF2LnNjcm9sbExheWVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5uYXYuc2Nyb2xsTGF5ZXIuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHRoaXMubmF2LnNjcm9sbExheWVyLnN0eWxlLnRvcD1cIjBweFwiLHRoaXMubmF2LnNjcm9sbExheWVyLnN0eWxlLmxlZnQ9XCIwcHhcIix0aGlzLm5hdi50b3AuYXBwZW5kQ2hpbGQodGhpcy5uYXYuc2Nyb2xsTGF5ZXIpLHRoaXMubmF2LmxvYWRpbmc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLnRvcD1cIjBweFwiLHRoaXMubmF2LmxvYWRpbmcuc3R5bGUubGVmdD10aGlzLmhvdXJXaWR0aCs1K1wicHhcIix0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLmxvYWRpbmdMYWJlbEJhY2tDb2xvcix0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLmZvbnRTaXplPXRoaXMubG9hZGluZ0xhYmVsRm9udFNpemUsdGhpcy5uYXYubG9hZGluZy5zdHlsZS5mb250RmFtaWx5PXRoaXMubG9hZGluZ0xhYmVsRm9udEZhbWlseSx0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLmNvbG9yPXRoaXMubG9hZGluZ0xhYmVsRm9udENvbG9yLHRoaXMubmF2LmxvYWRpbmcuc3R5bGUucGFkZGluZz1cIjJweFwiLHRoaXMubmF2LmxvYWRpbmcuaW5uZXJIVE1MPXRoaXMubG9hZGluZ0xhYmVsVGV4dCx0aGlzLm5hdi5sb2FkaW5nLnN0eWxlLmRpc3BsYXk9XCJub25lXCIsdGhpcy5uYXYudG9wLmFwcGVuZENoaWxkKHRoaXMubmF2LmxvYWRpbmcpfSx0aGlzLkc9ZnVuY3Rpb24oKXt0aGlzLmZhc3RlckRpc3Bvc2V8fERheVBpbG90LnB1KHRoaXMubmF2LmhvdXJUYWJsZSksdGhpcy5uYXYuc2Nyb2xsYWJsZS5yb3dzWzBdLmNlbGxzWzBdLmlubmVySFRNTD1cIlwiLHRoaXMubmF2LmhvdXJUYWJsZT10aGlzLmNhKCksdGhpcy5uYXYuc2Nyb2xsYWJsZS5yb3dzWzBdLmNlbGxzWzBdLmFwcGVuZENoaWxkKHRoaXMubmF2LmhvdXJUYWJsZSl9LHRoaXMuYmE9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Uuc3R5bGUuem9vbT0xLGUuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKTt0LmNlbGxTcGFjaW5nPVwiMFwiLHQuY2VsbFBhZGRpbmc9XCIwXCIsdC5ib3JkZXI9XCIwXCIsdC5zdHlsZS5ib3JkZXI9XCIwcHggbm9uZVwiLHQuc3R5bGUud2lkdGg9XCIxMDAlXCIsdC5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCI7dmFyIGksbj10Lmluc2VydFJvdygtMSk7aWYoaT1uLmluc2VydENlbGwoLTEpLGkudmFsaWduPVwidG9wXCIsaS5zdHlsZS5wYWRkaW5nPVwiMHB4XCIsaS5zdHlsZS5ib3JkZXI9XCIwcHggbm9uZVwiLHRoaXMubmF2LmhvdXJUYWJsZT10aGlzLmNhKCksaS5hcHBlbmRDaGlsZCh0aGlzLm5hdi5ob3VyVGFibGUpLGk9bi5pbnNlcnRDZWxsKC0xKSxpLnZhbGlnbj1cInRvcFwiLGkud2lkdGg9XCIxMDAlXCIsaS5zdHlsZS5wYWRkaW5nPVwiMHB4XCIsaS5zdHlsZS5ib3JkZXI9XCIwcHggbm9uZVwiLHRoaXMuZil7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtzLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIixpLmFwcGVuZENoaWxkKHMpLHMuYXBwZW5kQ2hpbGQodGhpcy5kYSgpKSxzLmFwcGVuZENoaWxkKHRoaXMuZWEoKSl9ZWxzZSBpLmFwcGVuZENoaWxkKHRoaXMuZGEoKSk7cmV0dXJuIGUuYXBwZW5kQ2hpbGQodCksdGhpcy5uYXYuem9vbT1lLGV9LHRoaXMuZGE9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7cmV0dXJuIGUuY2VsbFBhZGRpbmc9XCIwXCIsZS5jZWxsU3BhY2luZz1cIjBcIixlLmJvcmRlcj1cIjBcIixlLnN0eWxlLndpZHRoPVwiMTAwJVwiLGUuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIixlLnN0eWxlLnRhYmxlTGF5b3V0PVwiZml4ZWRcIix0aGlzLmZ8fChlLnN0eWxlLmJvcmRlckxlZnQ9XCIxcHggc29saWQgXCIrdGhpcy5ib3JkZXJDb2xvciksdGhpcy5uYXYubWFpbj1lLHRoaXMubmF2LmV2ZW50cz1lLGV9LHRoaXMuZWE9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7ZS5zdHlsZS50b3A9XCIwcHhcIixlLmNlbGxQYWRkaW5nPVwiMFwiLGUuY2VsbFNwYWNpbmc9XCIwXCIsZS5ib3JkZXI9XCIwXCIsZS5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsZS5zdHlsZS53aWR0aD1cIjEwMCVcIixlLnN0eWxlLmJvcmRlcj1cIjBweCBub25lXCIsZS5zdHlsZS50YWJsZUxheW91dD1cImZpeGVkXCIsdGhpcy5uYXYuZXZlbnRzPWU7Zm9yKHZhciB0PXRoaXMuY29sdW1ucyxpPXQubGVuZ3RoLG49ZS5pbnNlcnRSb3coLTEpLGw9MDtsPGk7bCsrKXt2YXIgYT1uLmluc2VydENlbGwoLTEpO2Euc3R5bGUucGFkZGluZz1cIjBweFwiLGEuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIixhLnN0eWxlLmhlaWdodD1cIjBweFwiLGEuc3R5bGUub3ZlcmZsb3c9XCJ2aXNpYmxlXCIscy5ydGx8fChhLnN0eWxlLnRleHRBbGlnbj1cImxlZnRcIik7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtvLnN0eWxlLm1hcmdpblJpZ2h0PXMuY29sdW1uTWFyZ2luUmlnaHQrXCJweFwiLG8uc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLG8uc3R5bGUuaGVpZ2h0PVwiMXB4XCIsdGhpcy5mfHwoby5zdHlsZS5mb250U2l6ZT1cIjFweFwiLG8uc3R5bGUubGluZUhlaWdodD1cIjEuMlwiKSxvLnN0eWxlLm1hcmdpblRvcD1cIi0xcHhcIjt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Euc2VsZWN0aW9uPXIsYS5hcHBlbmRDaGlsZChvKSxhLmFwcGVuZENoaWxkKHIpfXJldHVybiBlfSx0aGlzLmNhPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpO2lmKGUuY2VsbFNwYWNpbmc9XCIwXCIsZS5jZWxsUGFkZGluZz1cIjBcIixlLmJvcmRlcj1cIjBcIixlLnN0eWxlLmJvcmRlcj1cIjBweCBub25lXCIsZS5zdHlsZS53aWR0aD10aGlzLmhvdXJXaWR0aCtcInB4XCIsZS5vbmNvbnRleHRtZW51PWZ1bmN0aW9uKCl7cmV0dXJuITF9LHRoaXMuZj8wOjEpe3ZhciB0PWUuaW5zZXJ0Um93KC0xKTt0LnN0eWxlLmhlaWdodD1cIjFweFwiLHQuc3R5bGUuYmFja2dyb3VuZENvbG9yPVwid2hpdGVcIjt2YXIgaT10Lmluc2VydENlbGwoLTEpO2kuc3R5bGUucGFkZGluZz1cIjBweFwiLGkuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIn1mb3IodmFyIG49MjQscz0wO3M8bjtzKyspdGhpcy5mYShlLHMpO3JldHVybiBlfSx0aGlzLmZhPWZ1bmN0aW9uKGUsdCl7dmFyIGk9Mip0aGlzLmNlbGxIZWlnaHQsbj1lLmluc2VydFJvdygtMSk7bi5zdHlsZS5oZWlnaHQ9aStcInB4XCI7dmFyIHM9bi5pbnNlcnRDZWxsKC0xKTtzLnZhbGlnbj1cImJvdHRvbVwiLHMudW5zZWxlY3RhYmxlPVwib25cIiwhdGhpcy5mLHMuc3R5bGUuY3Vyc29yPVwiZGVmYXVsdFwiLHMuc3R5bGUucGFkZGluZz1cIjBweFwiLHMuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIjt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Euc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLHRoaXMuZiYmKGEuY2xhc3NOYW1lPXRoaXMudyhcIl9yb3doZWFkZXJcIikpLGEuc3R5bGUud2lkdGg9dGhpcy5ob3VyV2lkdGgrXCJweFwiLGEuc3R5bGUuaGVpZ2h0PWkrXCJweFwiLGEuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIixhLnVuc2VsZWN0YWJsZT1cIm9uXCI7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0aGlzLmYmJihvLmNsYXNzTmFtZT10aGlzLncoXCJfcm93aGVhZGVyX2lubmVyXCIpKSxvLnVuc2VsZWN0YWJsZT1cIm9uXCI7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyLnVuc2VsZWN0YWJsZT1cIm9uXCI7dmFyIGg9dGhpcy5zdGFydERhdGUuYWRkSG91cnModCksYz1oLmdldEhvdXJzKCksZD1jPDEyLHU9bC50aW1lRm9ybWF0KCk7XCJDbG9jazEySG91cnNcIj09PXUmJihjJT0xMiwwPT09YyYmKGM9MTIpKSxyLmlubmVySFRNTD1jO3ZhciB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO3YudW5zZWxlY3RhYmxlPVwib25cIix0aGlzLmY/di5jbGFzc05hbWU9dGhpcy53KFwiX3Jvd2hlYWRlcl9taW51dGVzXCIpOih2LnN0eWxlLmZvbnRTaXplPVwiMTBweFwiLHYuc3R5bGUudmVydGljYWxBbGlnbj1cInN1cGVyXCIpO3ZhciBwO3A9XCJDbG9jazEySG91cnNcIj09PXU/ZD9cIkFNXCI6XCJQTVwiOlwiMDBcIix0aGlzLmY/di5pbm5lckhUTUw9cDp2LmlubmVySFRNTD1cIiZuYnNwO1wiK3Asci5hcHBlbmRDaGlsZCh2KSxvLmFwcGVuZENoaWxkKHIpLGEuYXBwZW5kQ2hpbGQobykscy5hcHBlbmRDaGlsZChhKX0sdGhpcy5fPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuaGVpZ2h0U3BlYyl7Y2FzZVwiRnVsbFwiOnJldHVybiA0OCp0aGlzLmNlbGxIZWlnaHQ7Y2FzZVwiQnVzaW5lc3NIb3Vyc1wiOnZhciBlPXRoaXMuSygpO3JldHVybiBlKnRoaXMuY2VsbEhlaWdodCoyO2Nhc2VcIkJ1c2luZXNzSG91cnNOb1Njcm9sbFwiOnZhciBlPXRoaXMuSygpO3JldHVybiBlKnRoaXMuY2VsbEhlaWdodCoyO2RlZmF1bHQ6dGhyb3dcIkRheVBpbG90LkNhbGVuZGFyOiBVbmV4cGVjdGVkICdoZWlnaHRTcGVjJyB2YWx1ZS5cIn19LHRoaXMuZ2E9ZnVuY3Rpb24oKXt2YXIgZT1zLm5hdi5jb3JuZXI/cy5uYXYuY29ybmVyLnBhcmVudE5vZGU6bnVsbDtpZihlKXtlLmlubmVySFRNTD1cIlwiO3ZhciB0PXRoaXMuaGEoKTtlLmFwcGVuZENoaWxkKHQpLHMubmF2LmNvcm5lcj10fX0sdGhpcy5hYT1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dGhpcy5mfHwoZS5zdHlsZS5ib3JkZXJMZWZ0PVwiMXB4IHNvbGlkIFwiK3RoaXMuYm9yZGVyQ29sb3IsZS5zdHlsZS5ib3JkZXJSaWdodD1cIjFweCBzb2xpZCBcIit0aGlzLmJvcmRlckNvbG9yKSxlLnN0eWxlLm92ZXJmbG93PVwiYXV0b1wiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKTt0LmNlbGxQYWRkaW5nPVwiMFwiLHQuY2VsbFNwYWNpbmc9XCIwXCIsdC5ib3JkZXI9XCIwXCIsdC5zdHlsZS53aWR0aD1cIjEwMCVcIix0LnN0eWxlLmJvcmRlckNvbGxhcHNlPVwic2VwYXJhdGVcIix0LnN0eWxlLmJvcmRlcj1cIjBweCBub25lXCI7dmFyIGk9dC5pbnNlcnRSb3coLTEpLG49aS5pbnNlcnRDZWxsKC0xKTtuLnN0eWxlLnBhZGRpbmc9XCIwcHhcIixuLnN0eWxlLmJvcmRlcj1cIjBweCBub25lXCI7dmFyIHM9dGhpcy5oYSgpO24uYXBwZW5kQ2hpbGQocyksdGhpcy5uYXYuY29ybmVyPXMsbj1pLmluc2VydENlbGwoLTEpLG4uc3R5bGUud2lkdGg9XCIxMDAlXCIsIXRoaXMuZixuLnZhbGlnbj1cInRvcFwiLG4uc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLG4uc3R5bGUucGFkZGluZz1cIjBweFwiLG4uc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIix0aGlzLm5hdi5oZWFkZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpLHRoaXMubmF2LmhlYWRlci5jZWxsUGFkZGluZz1cIjBcIix0aGlzLm5hdi5oZWFkZXIuY2VsbFNwYWNpbmc9XCIwXCIsdGhpcy5uYXYuaGVhZGVyLmJvcmRlcj1cIjBcIix0aGlzLm5hdi5oZWFkZXIud2lkdGg9XCIxMDAlXCIsdGhpcy5uYXYuaGVhZGVyLnN0eWxlLnRhYmxlTGF5b3V0PVwiZml4ZWRcIix0aGlzLmZ8fCh0aGlzLm5hdi5oZWFkZXIuc3R5bGUuYm9yZGVyQm90dG9tPVwiMHB4IG5vbmUgIzAwMDAwMFwiLHRoaXMubmF2LmhlYWRlci5zdHlsZS5ib3JkZXJSaWdodD1cIjBweCBub25lICMwMDAwMDBcIix0aGlzLm5hdi5oZWFkZXIuc3R5bGUuYm9yZGVyTGVmdD1cIjFweCBzb2xpZCBcIit0aGlzLmJvcmRlckNvbG9yLHRoaXMubmF2LmhlYWRlci5zdHlsZS5ib3JkZXJUb3A9XCIxcHggc29saWQgXCIrdGhpcy5ib3JkZXJDb2xvciksdGhpcy5uYXYuaGVhZGVyLm9uY29udGV4dG1lbnU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGw9XCJoaWRkZW5cIiE9PXRoaXMubmF2LnNjcm9sbC5zdHlsZS5vdmVyZmxvdztpZih0aGlzLmZ8fGwmJih0aGlzLm5hdi5oZWFkZXIuc3R5bGUuYm9yZGVyUmlnaHQ9XCIxcHggc29saWQgXCIrdGhpcy5ib3JkZXJDb2xvciksbi5hcHBlbmRDaGlsZCh0aGlzLm5hdi5oZWFkZXIpLGwpe249aS5pbnNlcnRDZWxsKC0xKSxuLnVuc2VsZWN0YWJsZT1cIm9uXCIsIXRoaXMuZjt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2lmKGEudW5zZWxlY3RhYmxlPVwib25cIixhLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIixhLnN0eWxlLndpZHRoPVwiMTZweFwiLHRoaXMuZil7YS5zdHlsZS5oZWlnaHQ9dGhpcy5oZWFkZXJIZWlnaHQrXCJweFwiLGEuY2xhc3NOYW1lPXRoaXMudyhcIl9jb3JuZXJyaWdodFwiKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO28uY2xhc3NOYW1lPXRoaXMudyhcIl9jb3JuZXJyaWdodF9pbm5lclwiKSxhLmFwcGVuZENoaWxkKG8pfWVsc2U7bi5hcHBlbmRDaGlsZChhKSx0aGlzLm5hdi5jb3JuZXJSaWdodD1hfXJldHVybiBlLmFwcGVuZENoaWxkKHQpLGV9LHRoaXMuaGE9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Uuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLHRoaXMuZiYmKGUuY2xhc3NOYW1lPXRoaXMudyhcIl9jb3JuZXJcIikpLGUuc3R5bGUud2lkdGg9dGhpcy5ob3VyV2lkdGgrXCJweFwiLGUuc3R5bGUuaGVpZ2h0PXRoaXMuaGVhZGVySGVpZ2h0K1wicHhcIixlLm9uY29udGV4dG1lbnU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm4gdC51bnNlbGVjdGFibGU9XCJvblwiLHRoaXMuZiYmKHQuY2xhc3NOYW1lPXRoaXMudyhcIl9jb3JuZXJfaW5uZXJcIikpLGUuYXBwZW5kQ2hpbGQodCksZX0sdGhpcy5yPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5uYXYubWFpbjtlLnJvb3Q9bnVsbCxlLm9ubW91c2V1cD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5yb3dzLmxlbmd0aDt0KyspZm9yKHZhciBpPWUucm93c1t0XSxuPTA7bjxpLmNlbGxzLmxlbmd0aDtuKyspe3ZhciBzPWkuY2VsbHNbbl07cy5yb290PW51bGwscy5vbm1vdXNlZG93bj1udWxsLHMub25tb3VzZW1vdmU9bnVsbCxzLm9ubW91c2VvdXQ9bnVsbCxzLm9ubW91c2V1cD1udWxsfXRoaXMuZmFzdGVyRGlzcG9zZXx8RGF5UGlsb3QucHUoZSl9LHRoaXMuRj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubmF2Lm1haW4saT0xOGU1LG49dGhpcy5MKCksbD1zLmNvbHVtbnM7Zm9yKGUmJnRoaXMucigpO2UmJmUucm93cyYmZS5yb3dzLmxlbmd0aD4wOyl0aGlzLmZhc3RlckRpc3Bvc2V8fERheVBpbG90LnB1KGUucm93c1swXSksZS5kZWxldGVSb3coMCk7dGhpcy50YWJsZUNyZWF0ZWQ9ITA7dmFyIGE9bC5sZW5ndGg7aWYodGhpcy5mKXtmb3IodmFyIG89dGhpcy5uYXYuZXZlbnRzO28mJm8ucm93cyYmby5yb3dzLmxlbmd0aD4wOyl0aGlzLmZhc3RlckRpc3Bvc2V8fERheVBpbG90LnB1KG8ucm93c1swXSksby5kZWxldGVSb3coMCk7Zm9yKHZhciBhPWwubGVuZ3RoLHI9by5pbnNlcnRSb3coLTEpLGg9MDtoPGE7aCsrKXt2YXIgYz1yLmluc2VydENlbGwoLTEpO2Muc3R5bGUucGFkZGluZz1cIjBweFwiLGMuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIixjLnN0eWxlLmhlaWdodD1cIjBweFwiLGMuc3R5bGUub3ZlcmZsb3c9XCJ2aXNpYmxlXCIscy5ydGx8fChjLnN0eWxlLnRleHRBbGlnbj1cImxlZnRcIik7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtkLnN0eWxlLm1hcmdpblJpZ2h0PXMuY29sdW1uTWFyZ2luUmlnaHQrXCJweFwiLGQuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLGQuc3R5bGUuaGVpZ2h0PVwiMXB4XCIsdGhpcy5mfHwoZC5zdHlsZS5mb250U2l6ZT1cIjFweFwiLGQuc3R5bGUubGluZUhlaWdodD1cIjEuMlwiKSxkLnN0eWxlLm1hcmdpblRvcD1cIi0xcHhcIjt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3Uuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiLGMuc2VsZWN0aW9uPXUsYy5hcHBlbmRDaGlsZChkKSxjLmFwcGVuZENoaWxkKHUpfX1pZighdGhpcy5mKXt2YXIgcj1lLmluc2VydFJvdygtMSk7ci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9XCJ3aGl0ZVwiO2Zvcih2YXIgaD0wO2g8YTtoKyspe3ZhciBjPXIuaW5zZXJ0Q2VsbCgtMSk7Yy5zdHlsZS5wYWRkaW5nPVwiMHB4XCIsYy5zdHlsZS5ib3JkZXI9XCIwcHggbm9uZVwiLGMuc3R5bGUuaGVpZ2h0PVwiMXB4XCIsYy5zdHlsZS5vdmVyZmxvdz1cInZpc2libGVcIixjLnN0eWxlLndpZHRoPTEwMC9sLmxlbmd0aCtcIiVcIjt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Quc3R5bGUuZGlzcGxheT1cImJsb2NrXCIsZC5zdHlsZS5tYXJnaW5SaWdodD1zLmNvbHVtbk1hcmdpblJpZ2h0K1wicHhcIixkLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIixkLnN0eWxlLmhlaWdodD1cIjFweFwiLGQuc3R5bGUuZm9udFNpemU9XCIxcHhcIixkLnN0eWxlLmxpbmVIZWlnaHQ9XCIxLjJcIixkLnN0eWxlLm1hcmdpblRvcD1cIi0xcHhcIixjLmFwcGVuZENoaWxkKGQpfX1mb3IodmFyIHY9MDt2PG47disrKXt2YXIgcj0odGhpcy5mPzA6MSxlLmluc2VydFJvdygtMSkpO3Iuc3R5bGUuTW96VXNlclNlbGVjdD1cIm5vbmVcIixyLnN0eWxlLktodG1sVXNlclNlbGVjdD1cIm5vbmVcIjtmb3IodmFyIGg9MDtoPGE7aCsrKXt2YXIgcD10aGlzLmNvbHVtbnNbaF0sYz1yLmluc2VydENlbGwoLTEpO2lmKGMuc3RhcnQ9cC5TdGFydC5hZGRUaW1lKHYqaSksYy5lbmQ9Yy5zdGFydC5hZGRUaW1lKGkpLFxuYy5vbm1vdXNlZG93bj10aGlzLlEsYy5vbm1vdXNldXA9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sYy5vbmNsaWNrPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGMucm9vdD10aGlzLGMuc3R5bGUucGFkZGluZz1cIjBweFwiLGMuc3R5bGUuYm9yZGVyPVwiMHB4IG5vbmVcIixjLnN0eWxlLnZlcnRpY2FsQWxpZ249XCJ0b3BcIiwhdGhpcy5mLGMuc3R5bGUuaGVpZ2h0PXMuY2VsbEhlaWdodCtcInB4XCIsYy5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiLGMudW5zZWxlY3RhYmxlPVwib25cIix0aGlzLmYpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ZC51bnNlbGVjdGFibGU9XCJvblwiLGQuc3R5bGUuaGVpZ2h0PXMuY2VsbEhlaWdodCtcInB4XCIsZC5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCIsZC5jbGFzc05hbWU9dGhpcy53KFwiX2NlbGxcIik7dGhpcy5pYShjLnN0YXJ0LGMuZW5kKSYmdGhpcy5mJiZEYXlQaWxvdC5VdGlsLmFkZENsYXNzKGQscy53KFwiX2NlbGxfYnVzaW5lc3NcIikpO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Zi5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLGYuY2xhc3NOYW1lPXRoaXMudyhcIl9jZWxsX2lubmVyXCIpLGQuYXBwZW5kQ2hpbGQoZiksYy5hcHBlbmRDaGlsZChkKX1lbHNlO2MuYXBwZW5kQ2hpbGQoZCl9fWUub25tb3VzZXVwPXRoaXMuVCxlLnJvb3Q9dGhpcyxzLm5hdi5zY3JvbGxhYmxlLm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKGUpe2U9ZXx8d2luZG93LmV2ZW50O3ZhciBpPXMubmF2LnNjcm9sbGFibGU7cy5jb29yZHM9RGF5UGlsb3QubW8zKGksZSk7dmFyIG49RGF5UGlsb3QubWMoZSk7aWYodC5yZXNpemluZyl7dC5yZXNpemluZ1NoYWRvd3x8KHQucmVzaXppbmdTaGFkb3c9cy51KHQucmVzaXppbmcsITEscy5zaGFkb3cpKTt2YXIgbD1zLmNlbGxIZWlnaHQsYT0xLG89bi55LXQub3JpZ2luYWxNb3VzZS55O2lmKFwiYm90dG9tXCI9PT10LnJlc2l6aW5nLmRwQm9yZGVyKXt2YXIgcj1NYXRoLmZsb29yKCh0Lm9yaWdpbmFsSGVpZ2h0K3Qub3JpZ2luYWxUb3ArbytsLzIpL2wpKmwtdC5vcmlnaW5hbFRvcCthO3I8bCYmKHI9bCk7dmFyIGg9cy5uYXYubWFpbi5jbGllbnRIZWlnaHQ7dC5vcmlnaW5hbFRvcCtyPmgmJihyPWgtdC5vcmlnaW5hbFRvcCksdC5yZXNpemluZ1NoYWRvdy5zdHlsZS5oZWlnaHQ9citcInB4XCJ9ZWxzZSBpZihcInRvcFwiPT09dC5yZXNpemluZy5kcEJvcmRlcil7dmFyIGM9TWF0aC5mbG9vcigodC5vcmlnaW5hbFRvcCtvLWErbC8yKS9sKSpsK2E7YzxhJiYoYz1hKSxjPnQub3JpZ2luYWxUb3ArdC5vcmlnaW5hbEhlaWdodC1sJiYoYz10Lm9yaWdpbmFsVG9wK3Qub3JpZ2luYWxIZWlnaHQtbCk7dmFyIHI9dC5vcmlnaW5hbEhlaWdodC0oYy10Lm9yaWdpbmFsVG9wKTtyPGw/cj1sOnQucmVzaXppbmdTaGFkb3cuc3R5bGUudG9wPWMrXCJweFwiLHQucmVzaXppbmdTaGFkb3cuc3R5bGUuaGVpZ2h0PXIrXCJweFwifX1lbHNlIGlmKHQubW92aW5nKXtpZih0Lm1vdmluZ1NoYWRvd3x8KHQubW92aW5nU2hhZG93PXMudSh0Lm1vdmluZywhcy5oLHMuc2hhZG93KSx0Lm1vdmluZ1NoYWRvdy5zdHlsZS53aWR0aD10Lm1vdmluZ1NoYWRvdy5wYXJlbnROb2RlLm9mZnNldFdpZHRoKzErXCJweFwiKSwhcy5jb29yZHMpcmV0dXJuO3ZhciBsPXMuY2VsbEhlaWdodCxhPTEsZD10Lm1vdmVPZmZzZXRZO2R8fChkPWwvMik7dmFyIGM9TWF0aC5mbG9vcigocy5jb29yZHMueS1kLWErbC8yKS9sKSpsK2E7YzxhJiYoYz1hKTt2YXIgdT1zLm5hdi5ldmVudHMsaD1zLm5hdi5tYWluLmNsaWVudEhlaWdodCx2PXBhcnNlSW50KHQubW92aW5nU2hhZG93LnN0eWxlLmhlaWdodCk7Yyt2PmgmJihjPWgtdiksdC5tb3ZpbmdTaGFkb3cucGFyZW50Tm9kZS5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLHQubW92aW5nU2hhZG93LnN0eWxlLnRvcD1jK1wicHhcIix0Lm1vdmluZ1NoYWRvdy5wYXJlbnROb2RlLnN0eWxlLmRpc3BsYXk9XCJcIjt2YXIgcD11LmNsaWVudFdpZHRoL3Uucm93c1swXS5jZWxscy5sZW5ndGgsZj1NYXRoLmZsb29yKChzLmNvb3Jkcy54LTQ1KS9wKTtmPDAmJihmPTApLGY8dS5yb3dzWzBdLmNlbGxzLmxlbmd0aCYmZj49MCYmdC5tb3ZpbmdTaGFkb3cuY29sdW1uIT09ZiYmKHQubW92aW5nU2hhZG93LmNvbHVtbj1mLHQubW92ZVNoYWRvdyh1LnJvd3NbMF0uY2VsbHNbZl0pKX1lbHNlIGlmKHQuc2VsZWN0aW5nKXt2YXIgbj1EYXlQaWxvdC5tYyhlfHx3aW5kb3cuZXZlbnQpLGc9cy5WLmdldENlbGxDb29yZHMoKSxtPXQuY29sdW1uLHk9cy5uYXYubWFpbi5yb3dzW2cueV0uY2VsbHNbbV07bi55PHQuZmlyc3RNb3VzZVBvcy55Pyh0LnNlbGVjdGVkQ2VsbHM9dC5nZXRDZWxsc0JlbG93KHkpLHQudG9wU2VsZWN0ZWRDZWxsPXQuc2VsZWN0ZWRDZWxsc1swXSx0LmJvdHRvbVNlbGVjdGVkQ2VsbD10LmZpcnN0U2VsZWN0ZWQpOih0LnNlbGVjdGVkQ2VsbHM9dC5nZXRDZWxsc0Fib3ZlKHkpLHQudG9wU2VsZWN0ZWRDZWxsPXQuZmlyc3RTZWxlY3RlZCx0LmJvdHRvbVNlbGVjdGVkQ2VsbD10LnNlbGVjdGVkQ2VsbHNbMF0pLHMuUigpfX0scy5uYXYuc2Nyb2xsYWJsZS5zdHlsZS5kaXNwbGF5PVwiXCJ9LHRoaXMuaWE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5idXNpbmVzc0JlZ2luc0hvdXI8dGhpcy5idXNpbmVzc0VuZHNIb3VyPyEoZS5nZXRIb3VycygpPHRoaXMuYnVzaW5lc3NCZWdpbnNIb3VyfHxlLmdldEhvdXJzKCk+PXRoaXMuYnVzaW5lc3NFbmRzSG91cnx8Nj09PWUuZ2V0RGF5T2ZXZWVrKCl8fDA9PT1lLmdldERheU9mV2VlaygpKTplLmdldEhvdXJzKCk+PXRoaXMuYnVzaW5lc3NCZWdpbnNIb3VyfHxlLmdldEhvdXJzKCk8dGhpcy5idXNpbmVzc0VuZHNIb3VyfSx0aGlzLnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm5hdi5oZWFkZXI7aWYoZSYmZS5yb3dzKWZvcih2YXIgdD0wO3Q8ZS5yb3dzLmxlbmd0aDt0KyspZm9yKHZhciBpPWUucm93c1t0XSxuPTA7bjxpLmNlbGxzLmxlbmd0aDtuKyspe3ZhciBzPWkuY2VsbHNbbl07cy5vbmNsaWNrPW51bGwscy5vbm1vdXNlbW92ZT1udWxsLHMub25tb3VzZW91dD1udWxsfXRoaXMuZmFzdGVyRGlzcG9zZXx8RGF5UGlsb3QucHUoZSl9LHRoaXMuamE9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU/dGhpcy5uYXYuaGVhZGVyLmluc2VydFJvdygtMSk6dGhpcy5uYXYuaGVhZGVyLnJvd3NbMF0saT10aGlzLmNvbHVtbnMsbj1pLmxlbmd0aCxsPTA7bDxuO2wrKyl7dmFyIGE9aVtsXSxvPWU/dC5pbnNlcnRDZWxsKC0xKTp0LmNlbGxzW2xdO28uZGF0YT1hLG8uc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIixvLnN0eWxlLnBhZGRpbmc9XCIwcHhcIixvLnN0eWxlLmJvcmRlcj1cIjBweCBub25lXCIsby5zdHlsZS5oZWlnaHQ9dGhpcy5oZWFkZXJIZWlnaHQrXCJweFwiO3ZhciByPWU/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTpvLmZpcnN0Q2hpbGQ7aWYoZSl7ci51bnNlbGVjdGFibGU9XCJvblwiLHIuc3R5bGUuTW96VXNlclNlbGVjdD1cIm5vbmVcIixyLnN0eWxlLmJhY2tncm91bmRDb2xvcj1hLkJhY2tDb2xvcixyLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIixyLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIix0aGlzLmYmJihyLmNsYXNzTmFtZT1zLncoXCJfY29saGVhZGVyXCIpKSxyLnN0eWxlLmhlaWdodD10aGlzLmhlYWRlckhlaWdodCtcInB4XCI7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0aGlzLmY/aC5jbGFzc05hbWU9cy53KFwiX2NvbGhlYWRlcl9pbm5lclwiKTooaC5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsaC5zdHlsZS5sZWZ0PVwiMHB4XCIsaC5zdHlsZS53aWR0aD1cIjEwMCVcIixoLnN0eWxlLnBhZGRpbmc9XCIycHhcIixyLnN0eWxlLnRleHRBbGlnbj1cImNlbnRlclwiKSxoLnVuc2VsZWN0YWJsZT1cIm9uXCIsci5hcHBlbmRDaGlsZChoKSxvLmFwcGVuZENoaWxkKHIpfXZhciBoPXIuZmlyc3RDaGlsZDtoLmlubmVySFRNTD1hLklubmVySFRNTH19LHRoaXMua2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aCYmdGhpcy53aWR0aC5pbmRleE9mKFwicHhcIikhPT0tMT9cIlBpeGVsXCI6XCJQZXJjZW50YWdlXCJ9LHRoaXMuRT1mdW5jdGlvbigpe3ZhciBlPXRoaXMubmF2LmhlYWRlcix0PSEwLGk9dGhpcy5jb2x1bW5zO2ZvcihpLmxlbmd0aDt0aGlzLmhlYWRlckNyZWF0ZWQmJmUmJmUucm93cyYmZS5yb3dzLmxlbmd0aD4wOyl0aGlzLmZhc3RlckRpc3Bvc2V8fERheVBpbG90LnB1KGUucm93c1swXSksZS5kZWxldGVSb3coMCk7dGhpcy5oZWFkZXJDcmVhdGVkPSEwO3RoaXMuamEodCl9LHRoaXMubG9hZGluZ1N0YXJ0PWZ1bmN0aW9uKCl7dGhpcy5sb2FkaW5nTGFiZWxWaXNpYmxlJiYodGhpcy5uYXYubG9hZGluZy5pbm5lckhUTUw9dGhpcy5sb2FkaW5nTGFiZWxUZXh0LHRoaXMubmF2LmxvYWRpbmcuc3R5bGUudG9wPXRoaXMuaGVhZGVySGVpZ2h0KzUrXCJweFwiLHRoaXMubmF2LmxvYWRpbmcuc3R5bGUuZGlzcGxheT1cIlwiKX0sdGhpcy5jb21tYW5kQ2FsbEJhY2s9ZnVuY3Rpb24oZSx0KXt2YXIgaT17fTtpLmNvbW1hbmQ9ZSx0aGlzLm4oXCJDb21tYW5kXCIsdCxpKX0sdGhpcy5sb2FkaW5nU3RvcD1mdW5jdGlvbihlKXt0aGlzLmNhbGxiYWNrVGltZW91dCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmNhbGxiYWNrVGltZW91dCksdGhpcy5uYXYubG9hZGluZy5zdHlsZS5kaXNwbGF5PVwibm9uZVwifSx0aGlzLmxhPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5uYXYuc2Nyb2xsO2Uub25zY3JvbGx8fChlLm9uc2Nyb2xsPWZ1bmN0aW9uKCl7cy5tYSgpfSk7dmFyIHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHRoaXMubmEuc2Nyb2xscG9zP3RoaXMubmEuc2Nyb2xscG9zOnRoaXMuaW5pdFNjcm9sbFBvczt0JiYoXCJBdXRvXCI9PT10JiYodD1cIkJ1c2luZXNzSG91cnNcIj09PXRoaXMuaGVpZ2h0U3BlYz8yKnRoaXMuY2VsbEhlaWdodCp0aGlzLmJ1c2luZXNzQmVnaW5zSG91cjowKSxlLnJvb3Q9dGhpcywwPT09ZS5zY3JvbGxUb3AmJihlLnNjcm9sbFRvcD10KSl9LHRoaXMuY2FsbGJhY2tFcnJvcj1mdW5jdGlvbihlLHQpe2FsZXJ0KFwiRXJyb3IhXFxyXFxuUmVzdWx0OiBcIitlK1wiXFxyXFxuQ29udGV4dDpcIit0KX0sdGhpcy5vYT1mdW5jdGlvbigpe3ZhciBlPURheVBpbG90LnN3KHRoaXMubmF2LnNjcm9sbCksdD10aGlzLm5hdi5jb3JuZXJSaWdodDt0JiZlPjAmJih0aGlzLmY/dC5zdHlsZS53aWR0aD1lK1wicHhcIjp0LnN0eWxlLndpZHRoPWUtMytcInB4XCIpfSx0aGlzLnBhPWZ1bmN0aW9uKCl7dC5nbG9iYWxIYW5kbGVyc3x8KHQuZ2xvYmFsSGFuZGxlcnM9ITAsRGF5UGlsb3QucmUoZG9jdW1lbnQsXCJtb3VzZXVwXCIsdC5nTW91c2VVcCksRGF5UGlsb3QucmUod2luZG93LFwidW5sb2FkXCIsdC5nVW5sb2FkKSl9LHRoaXMuZXZlbnRzPXt9LHRoaXMuZXZlbnRzLmFkZD1mdW5jdGlvbihlKXt2YXIgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEYXlQaWxvdC5FdmVudCl0PWUuZGF0YTtlbHNle2lmKFwib2JqZWN0XCIhPXR5cGVvZiBlKXRocm93XCJEYXlQaWxvdC5DYWxlbmRhci5ldmVudHMuYWRkKCkgZXhwZWN0cyBhbiBvYmplY3Qgb3IgRGF5UGlsb3QuRXZlbnQgaW5zdGFuY2UuXCI7dD1lfXMuZXZlbnRzLmxpc3R8fChzLmV2ZW50cy5saXN0PVtdKSxzLmV2ZW50cy5saXN0LnB1c2godCkscy51cGRhdGUoKSxzLk8ubm90aWZ5KCl9LHRoaXMuZXZlbnRzLmZpbmQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxzLmV2ZW50cy5saXN0Lmxlbmd0aDt0Kyspe3ZhciBpPXMuZXZlbnRzLmxpc3RbdF07aWYoaS5pZD09PWUpcmV0dXJuIG5ldyBEYXlQaWxvdC5FdmVudChpLHMpfXJldHVybiBudWxsfSx0aGlzLmV2ZW50cy51cGRhdGU9ZnVuY3Rpb24oZSl7aWYoZSBpbnN0YW5jZW9mIERheVBpbG90LkV2ZW50KWUuY29tbWl0KCk7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSl7dmFyIHQ9cy5ldmVudHMuZmluZChlLmlkKTtpZih0KXt2YXIgaT1EYXlQaWxvdC5pbmRleE9mKHMuZXZlbnRzLmxpc3QsdC5kYXRhKTtzLmV2ZW50cy5saXN0LnNwbGljZShpLDEsZSl9fXMudXBkYXRlKCkscy5PLm5vdGlmeSgpfSx0aGlzLmV2ZW50cy5yZW1vdmU9ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZSBpbnN0YW5jZW9mIERheVBpbG90LkV2ZW50KXQ9ZS5kYXRhO2Vsc2UgaWYoXCJvYmplY3RcIj09dHlwZW9mIGUpe3ZhciBpPXMuZXZlbnRzLmZpbmQoZS5pZCk7aSYmKHQ9aS5kYXRhKX1lbHNlIGlmKFwic3RyaW5nXCI9PXR5cGVvZiBlfHxcIm51bWJlclwiPT10eXBlb2YgZSl7dmFyIGk9cy5ldmVudHMuZmluZChlKTtpJiYodD1pLmRhdGEpfXZhciBuPURheVBpbG90LmluZGV4T2Yocy5ldmVudHMubGlzdCx0KTtzLmV2ZW50cy5saXN0LnNwbGljZShuLDEpLHMudXBkYXRlKCkscy5PLm5vdGlmeSgpfSx0aGlzLmV2ZW50cy5sb2FkPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1mdW5jdGlvbihlKXt2YXIgdD17fTt0LmV4Y2VwdGlvbj1lLmV4Y2VwdGlvbix0LnJlcXVlc3Q9ZS5yZXF1ZXN0LFwiZnVuY3Rpb25cIj09dHlwZW9mIGkmJmkodCl9LGw9ZnVuY3Rpb24oZSl7dmFyIGksbD1lLnJlcXVlc3Q7dHJ5e2k9SlNPTi5wYXJzZShsLnJlc3BvbnNlVGV4dCl9Y2F0Y2goZSl7dmFyIGE9e307cmV0dXJuIGEuZXhjZXB0aW9uPWUsdm9pZCBuKGEpfWlmKERheVBpbG90LmlzQXJyYXkoaSkpe3ZhciBvPXt9O2lmKG8ucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxvLmRhdGE9aSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0JiZ0KG8pLG8ucHJldmVudERlZmF1bHQudmFsdWUpcmV0dXJuO3MuZXZlbnRzLmxpc3Q9aSxzLnFhJiZzLnVwZGF0ZSgpfX07aWYocy5ldmVudHNMb2FkTWV0aG9kJiZcIlBPU1RcIj09PXMuZXZlbnRzTG9hZE1ldGhvZC50b1VwcGVyQ2FzZSgpKURheVBpbG90Lkh0dHAuYWpheCh7XCJtZXRob2RcIjpcIlBPU1RcIixcImRhdGFcIjp7XCJzdGFydFwiOnMudmlzaWJsZVN0YXJ0KCkudG9TdHJpbmcoKSxcImVuZFwiOnMudmlzaWJsZUVuZCgpLnRvU3RyaW5nKCl9LFwidXJsXCI6ZSxcInN1Y2Nlc3NcIjpsLFwiZXJyb3JcIjpufSk7ZWxzZXt2YXIgYT1lLG89XCJzdGFydD1cIitzLnZpc2libGVTdGFydCgpLnRvU3RyaW5nKCkrXCImZW5kPVwiK3MudmlzaWJsZUVuZCgpLnRvU3RyaW5nKCk7YSs9YS5pbmRleE9mKFwiP1wiKT4tMT9cIiZcIitvOlwiP1wiK28sRGF5UGlsb3QuSHR0cC5hamF4KHtcIm1ldGhvZFwiOlwiR0VUXCIsXCJ1cmxcIjphLFwic3VjY2Vzc1wiOmwsXCJlcnJvclwiOm59KX19LHRoaXMudXBkYXRlPWZ1bmN0aW9uKGUpe3MucmEoKSxzLnNhKGUpLHMudGEoKSxzLnEoKSxzLm5hdi50b3Auc3R5bGUuY3Vyc29yPVwiYXV0b1wiO3MuQigpLHMuRSgpLHMuRigpLHMuRygpLHMuSCgpLHMuZ2EoKSxzLnVhKCkscy5DKCkscy5EKCkscy5BKCkscy5JKCkscy5jbGVhclNlbGVjdGlvbigpLHRoaXMudmlzaWJsZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKX0sdGhpcy52YT1udWxsLHRoaXMuc2E9ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9e1wiZXZlbnRzXCI6e1wicHJlSW5pdFwiOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5kYXRhO2UmJihEYXlQaWxvdC5pc0FycmF5KGUubGlzdCk/cy5ldmVudHMubGlzdD1lLmxpc3Q6cy5ldmVudHMubGlzdD1lKX19fTt0aGlzLnZhPXQ7Zm9yKHZhciBpIGluIGUpaWYodFtpXSl7dmFyIG49dFtpXTtuLmRhdGE9ZVtpXSxuLnByZUluaXQmJm4ucHJlSW5pdCgpfWVsc2Ugc1tpXT1lW2ldfX0sdGhpcy53YT1mdW5jdGlvbigpe3ZhciBlPXRoaXMudmE7Zm9yKHZhciB0IGluIGUpe3ZhciBpPWVbdF07aS5wb3N0SW5pdCYmaS5wb3N0SW5pdCgpfX0sdGhpcy54YT1mdW5jdGlvbigpe2lmKHRoaXMuaWQmJnRoaXMuaWQudGFnTmFtZSl0aGlzLm5hdi50b3A9dGhpcy5pZDtlbHNle2lmKFwic3RyaW5nXCIhPXR5cGVvZiB0aGlzLmlkKXRocm93XCJEYXlQaWxvdC5DYWxlbmRhcigpIGNvbnN0cnVjdG9yIHJlcXVpcmVzIHRoZSB0YXJnZXQgZWxlbWVudCBvciBpdHMgSUQgYXMgYSBwYXJhbWV0ZXJcIjtpZih0aGlzLm5hdi50b3A9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCksIXRoaXMubmF2LnRvcCl0aHJvd1wiRGF5UGlsb3QuQ2FsZW5kYXI6IFRoZSBwbGFjZWhvbGRlciBlbGVtZW50IG5vdCBmb3VuZDogJ1wiK2UrXCInLlwifX0sdGhpcy55YT17fSx0aGlzLnlhLmV2ZW50cz1bXSx0aGlzLnphPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMueWEuZXZlbnRzLGk9dGhpcy5ldmVudHMubGlzdFtlXSxuPXt9O2Zvcih2YXIgcyBpbiBpKW5bc109aVtzXTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLm9uQmVmb3JlRXZlbnRSZW5kZXIpe3ZhciBsPXt9O2wuZGF0YT1uLHRoaXMub25CZWZvcmVFdmVudFJlbmRlcihsKX10W2VdPW59LHRoaXMuQz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZXZlbnRzLmxpc3Q7aWYocy55YS5ldmVudHM9W10sZSl7dmFyIHQ9ZS5sZW5ndGgsaT04NjRlNTt0aGlzLmNhY2hlLnBpeGVscz17fTt2YXIgbj1bXTt0aGlzLnNjcm9sbExhYmVscz1bXSx0aGlzLm1pblN0YXJ0PTFlNCx0aGlzLm1heEVuZD0wO2Zvcih2YXIgbD0wO2w8dDtsKyspe3ZhciBhPWVbbF07YS5zdGFydD1uZXcgRGF5UGlsb3QuRGF0ZShhLnN0YXJ0KSxhLmVuZD1uZXcgRGF5UGlsb3QuRGF0ZShhLmVuZCl9aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5vbkJlZm9yZUV2ZW50UmVuZGVyKWZvcih2YXIgbD0wO2w8dDtsKyspdGhpcy56YShsKTtmb3IodmFyIGw9MDtsPHRoaXMuY29sdW1ucy5sZW5ndGg7bCsrKXt2YXIgbz17fTtvLm1pbkVuZD0xZTYsby5tYXhTdGFydD0tMSx0aGlzLnNjcm9sbExhYmVscy5wdXNoKG8pO3ZhciByPXRoaXMuY29sdW1uc1tsXTtyLmV2ZW50cz1bXSxyLmxpbmVzPVtdLHIuYmxvY2tzPVtdO2Zvcih2YXIgaD1uZXcgRGF5UGlsb3QuRGF0ZShyLlN0YXJ0KSxjPWguZ2V0VGltZSgpLGQ9aC5hZGRUaW1lKGkpLHU9ZC5nZXRUaW1lKCksdj0wO3Y8dDt2KyspaWYoIW5bdl0pe3ZhciBhPWVbdl0scD1hLnN0YXJ0LGY9YS5lbmQsZz1wLmdldFRpbWUoKSxtPWYuZ2V0VGltZSgpO2lmKCEobTxnKSl7dmFyIHk9IShtPD1jfHxnPj11KTtpZih5KXt2YXIgYj1uZXcgRGF5UGlsb3QuRXZlbnQoYSxzKTtiLnBhcnQuZGF5SW5kZXg9bCxiLnBhcnQuc3RhcnQ9YzxnP2Euc3RhcnQ6aCxiLnBhcnQuZW5kPXU+bT9hLmVuZDpkO3ZhciB3PXRoaXMuZ2V0UGl4ZWxzKGIucGFydC5zdGFydCxyLlN0YXJ0KSxDPXRoaXMuZ2V0UGl4ZWxzKGIucGFydC5lbmQsci5TdGFydCksUz13LnRvcCxEPUMudG9wO2lmKFM9PT1EJiYody5jdXR8fEMuY3V0KSljb250aW51ZTt2YXIgeD1DLmJveEJvdHRvbTtiLnBhcnQudG9wPU1hdGguZmxvb3IoUy90aGlzLmNlbGxIZWlnaHQpKnRoaXMuY2VsbEhlaWdodCsxLGIucGFydC5oZWlnaHQ9TWF0aC5tYXgoTWF0aC5jZWlsKHgvdGhpcy5jZWxsSGVpZ2h0KSp0aGlzLmNlbGxIZWlnaHQtYi5wYXJ0LnRvcCx0aGlzLmNlbGxIZWlnaHQtMSkrMSxiLnBhcnQuYmFyVG9wPU1hdGgubWF4KFMtYi5wYXJ0LnRvcC0xLDApLGIucGFydC5iYXJIZWlnaHQ9TWF0aC5tYXgoRC1TLTIsMSk7dmFyIHA9Yi5wYXJ0LnRvcCxmPWIucGFydC50b3ArYi5wYXJ0LmhlaWdodDtwPm8ubWF4U3RhcnQmJihvLm1heFN0YXJ0PXApLGY8by5taW5FbmQmJihvLm1pbkVuZD1mKSxwPHRoaXMubWluU3RhcnQmJih0aGlzLm1pblN0YXJ0PXApLGY+dGhpcy5tYXhFbmQmJih0aGlzLm1heEVuZD1mKSxyLmV2ZW50cy5wdXNoKGIpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMub25CZWZvcmVFdmVudFJlbmRlciYmKGIuY2FjaGU9dGhpcy55YS5ldmVudHNbdl0pLGIucGFydC5zdGFydC5nZXRUaW1lKCk9PT1nJiZiLnBhcnQuZW5kLmdldFRpbWUoKT09PW0mJihuW3ZdPSEwKX19fX1mb3IodmFyIGw9MDtsPHRoaXMuY29sdW1ucy5sZW5ndGg7bCsrKXt2YXIgcj10aGlzLmNvbHVtbnNbbF07ci5ldmVudHMuc29ydCh0aGlzLkFhKTtmb3IodmFyIHY9MDt2PHIuZXZlbnRzLmxlbmd0aDt2Kyspe3ZhciBhPXIuZXZlbnRzW3ZdO3IucHV0SW50b0Jsb2NrKGEpfWZvcih2YXIgdj0wO3Y8ci5ibG9ja3MubGVuZ3RoO3YrKyl7dmFyIGs9ci5ibG9ja3Nbdl07ay5ldmVudHMuc29ydCh0aGlzLkFhKTtmb3IodmFyIEg9MDtIPGsuZXZlbnRzLmxlbmd0aDtIKyspe3ZhciBhPWsuZXZlbnRzW0hdO2sucHV0SW50b0xpbmUoYSl9fX19fSx0aGlzLkFhPWZ1bmN0aW9uKGUsdCl7aWYoIShlJiZ0JiZlLnN0YXJ0JiZ0LnN0YXJ0KSlyZXR1cm4gMDt2YXIgaT1lLnN0YXJ0KCkuZ2V0VGltZSgpLXQuc3RhcnQoKS5nZXRUaW1lKCk7cmV0dXJuIDAhPT1pP2k6dC5lbmQoKS5nZXRUaW1lKCktZS5lbmQoKS5nZXRUaW1lKCl9LHRoaXMuZGVidWc9ZnVuY3Rpb24oZSx0KXt0aGlzLmRlYnVnZ2luZ0VuYWJsZWQmJihzLmRlYnVnTWVzc2FnZXN8fChzLmRlYnVnTWVzc2FnZXM9W10pLHMuZGVidWdNZXNzYWdlcy5wdXNoKGUpLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLmxvZyhlKSl9LHRoaXMuZ2V0UGl4ZWxzPWZ1bmN0aW9uKGUsdCl7dHx8KHQ9dGhpcy5zdGFydERhdGUpO3ZhciBpPXQuZ2V0VGltZSgpLG49ZS5nZXRUaW1lKCkscz10aGlzLmNhY2hlLnBpeGVsc1tuK1wiX1wiK2ldO2lmKHMpcmV0dXJuIHM7aT10LmdldFRpbWUoKTt2YXIgbD0xOGU1LGE9bi1pLG89YSVsLHI9YS1vLGg9citsOzA9PT1vJiYoaD1yKTt2YXIgYz17fTtyZXR1cm4gYy5jdXQ9ITEsYy50b3A9dGhpcy5CYShhKSxjLmJveFRvcD10aGlzLkJhKHIpLGMuYm94Qm90dG9tPXRoaXMuQmEoaCksdGhpcy5jYWNoZS5waXhlbHNbbitcIl9cIitpXT1jLGN9LHRoaXMuQmE9ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguZmxvb3IodGhpcy5jZWxsSGVpZ2h0KmUvMThlNSl9LHRoaXMudGE9ZnVuY3Rpb24oKXt0aGlzLnN0YXJ0RGF0ZT1uZXcgRGF5UGlsb3QuRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkuZ2V0RGF0ZVBhcnQoKX0sdGhpcy5EPWZ1bmN0aW9uKCl7dGhpcy5uYXYuY29ybmVyJiYodGhpcy5uYXYuY29ybmVyLnN0eWxlLmhlaWdodD10aGlzLmhlYWRlckhlaWdodCtcInB4XCIpfSx0aGlzLkg9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl8oKTt0aGlzLm5hdi5zY3JvbGwmJmU+MCYmKHRoaXMubmF2LnNjcm9sbC5zdHlsZS5oZWlnaHQ9ZStcInB4XCIpfSx0aGlzLk89e30sdGhpcy5PLnNjb3BlPW51bGwsdGhpcy5PLm5vdGlmeT1mdW5jdGlvbigpe3MuTy5zY29wZSYmcy5PLnNjb3BlW1wiJGFwcGx5XCJdKCl9LHRoaXMuTy5hcHBseT1mdW5jdGlvbihlKXtlKCl9LHRoaXMubWE9ZnVuY3Rpb24oKXt2YXIgZT1zLm5hdi5zY3JvbGwuc2Nyb2xsVG9wLHQ9ZS8oMipzLmNlbGxIZWlnaHQpO3MubmEuc2Nyb2xsSG91cj10fSx0aGlzLnVhPWZ1bmN0aW9uKCl7dmFyIGU9MDtzLm5hLnNjcm9sbEhvdXI/ZT0yKnMuY2VsbEhlaWdodCpzLm5hLnNjcm9sbEhvdXI6XCJBdXRvXCI9PT1zLmluaXRTY3JvbGxQb3MmJihlPVwiQnVzaW5lc3NIb3Vyc1wiPT09dGhpcy5oZWlnaHRTcGVjPzIqdGhpcy5jZWxsSGVpZ2h0KnRoaXMuYnVzaW5lc3NCZWdpbnNIb3VyOjApLHMubmF2LnNjcm9sbC5zY3JvbGxUb3A9ZX0sdGhpcy5DYT1mdW5jdGlvbigpe3JldHVybiEoIXRoaXMuYmFja2VuZFVybCYmXCJmdW5jdGlvblwiIT10eXBlb2YgV2ViRm9ybV9Eb0NhbGxiYWNrKSYmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBzLmV2ZW50cy5saXN0fHwhcy5ldmVudHMubGlzdCl9LHRoaXMuQT1mdW5jdGlvbigpe1wiaGlkZGVuXCI9PT10aGlzLm5hdi50b3Auc3R5bGUudmlzaWJpbGl0eSYmKHRoaXMubmF2LnRvcC5zdHlsZS52aXNpYmlsaXR5PVwidmlzaWJsZVwiKX0sdGhpcy5zaG93PWZ1bmN0aW9uKCl7cy52aXNpYmxlPSEwLHMubmF2LnRvcC5zdHlsZS5kaXNwbGF5PVwiXCJ9LHRoaXMuaGlkZT1mdW5jdGlvbigpe3MudmlzaWJsZT0hMSxzLm5hdi50b3Auc3R5bGUuZGlzcGxheT1cIm5vbmVcIn0sdGhpcy5EYT1mdW5jdGlvbigpe3RoaXMudGEoKSx0aGlzLkIoKSx0aGlzLiQoKSx0aGlzLkUoKSx0aGlzLkYoKSx0aGlzLm9hKCksdGhpcy5sYSgpLHRoaXMucGEoKSx0LnJlZ2lzdGVyKHRoaXMpLHRoaXMuRWEoKSx0aGlzLm4oXCJJbml0XCIpfSx0aGlzLm5hPXt9LHRoaXMuRmE9ZnVuY3Rpb24oKXt0aGlzLm5hLnRoZW1lcz1bXSx0aGlzLm5hLnRoZW1lcy5wdXNoKHRoaXMudGhlbWV8fHRoaXMuY3NzQ2xhc3NQcmVmaXgpfSx0aGlzLkdhPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMubmEudGhlbWVzLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIGk9ZVt0XTtEYXlQaWxvdC5VdGlsLnJlbW92ZUNsYXNzKHRoaXMubmF2LnRvcCxpK1wiX21haW5cIil9dGhpcy5uYS50aGVtZXM9W119LHRoaXMuSGE9ZnVuY3Rpb24oKXtpZih0aGlzLmFmdGVyUmVuZGVyKG51bGwsITEpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMub25BZnRlclJlbmRlcil7dmFyIGU9e307ZS5pc0NhbGxCYWNrPSExLHRoaXMub25BZnRlclJlbmRlcihlKX19LHRoaXMuSWE9ZnVuY3Rpb24oKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLm9uSW5pdCYmIXRoaXMuSmEpe3RoaXMuSmE9ITA7dmFyIGU9e307dGhpcy5vbkluaXQoZSl9fSx0aGlzLnJhPWZ1bmN0aW9uKCl7cy5mfHwocy5mPSEwLHdpbmRvdy5jb25zb2xlJiZ3aW5kb3cuY29uc29sZS5sb2cmJndpbmRvdy5jb25zb2xlLmxvZyhcIkRheVBpbG90OiBjc3NPbmx5ID0gZmFsc2UgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXCIpKX0sdGhpcy5LYT1mdW5jdGlvbigpe3ZhciBlPXMubmF2LnRvcDtyZXR1cm4gZS5vZmZzZXRXaWR0aD4wJiZlLm9mZnNldEhlaWdodD4wfSx0aGlzLkVhPWZ1bmN0aW9uKCl7dmFyIGU9cy5LYTtlKCl8fChzLkxhPXNldEludGVydmFsKGZ1bmN0aW9uKCl7ZSgpJiYocy5sYSgpLHMub2EoKSxjbGVhckludGVydmFsKHMuTGEpKX0sMTAwKSl9LHRoaXMuaW5pdD1mdW5jdGlvbigpe3RoaXMueGEoKTt2YXIgZT10aGlzLkNhKCk7cmV0dXJuIHRoaXMucmEoKSx0aGlzLkZhKCksZT92b2lkIHRoaXMuRGEoKToodGhpcy50YSgpLHRoaXMuQigpLHRoaXMuQygpLHRoaXMuJCgpLHRoaXMuRSgpLHRoaXMuRigpLHRoaXMuQSgpLHRoaXMub2EoKSx0aGlzLmxhKCksdGhpcy5wYSgpLHQucmVnaXN0ZXIodGhpcyksdGhpcy5ldmVudHMmJih0aGlzLkQoKSx0aGlzLkkoKSksdGhpcy5IYSgpLHRoaXMuSWEoKSx0aGlzLkVhKCksdGhpcy5xYT0hMCx0aGlzKX0sdGhpcy5Jbml0PXRoaXMuaW5pdCx0aGlzLnNhKGkpfSx0LkNlbGw9ZnVuY3Rpb24oZSx0LGkpe3RoaXMuc3RhcnQ9ZSx0aGlzLmVuZD10LHRoaXMuY29sdW1uPWZ1bmN0aW9uKCl7fX0sdC5Db2x1bW49ZnVuY3Rpb24oZSx0LGkpe3RoaXMudmFsdWU9ZSx0aGlzLm5hbWU9dCx0aGlzLmRhdGU9bmV3IERheVBpbG90LkRhdGUoaSl9LERheVBpbG90LkNhbGVuZGFyPXQuQ2FsZW5kYXIsXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGpRdWVyeSYmIWZ1bmN0aW9uKGUpe2UuZm4uZGF5cGlsb3RDYWxlbmRhcj1mdW5jdGlvbihlKXt2YXIgdD1udWxsLGk9dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIXRoaXMuZGF5cGlsb3Qpe3ZhciBpPW5ldyBEYXlQaWxvdC5DYWxlbmRhcih0aGlzLmlkKTt0aGlzLmRheXBpbG90PWk7Zm9yKG5hbWUgaW4gZSlpW25hbWVdPWVbbmFtZV07aS5pbml0KCksdHx8KHQ9aSl9fSk7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD90Oml9fShqUXVlcnkpLGZ1bmN0aW9uKCl7dmFyIGU9RGF5UGlsb3QuYW0oKTtlJiZlLmRpcmVjdGl2ZShcImRheXBpbG90Q2FsZW5kYXJcIixbXCIkcGFyc2VcIixmdW5jdGlvbihlKXtyZXR1cm57XCJyZXN0cmljdFwiOlwiRVwiLFwidGVtcGxhdGVcIjpcIjxkaXY+PC9kaXY+XCIsXCJyZXBsYWNlXCI6ITAsXCJsaW5rXCI6ZnVuY3Rpb24odCxpLG4pe3ZhciBzPW5ldyBEYXlQaWxvdC5DYWxlbmRhcihpWzBdKTtzLk8uc2NvcGU9dCxzLmluaXQoKTt2YXIgbD1uW1wiaWRcIl07bCYmKHRbbF09cyk7dmFyIGE9bltcInB1Ymxpc2hBc1wiXTtpZihhKXsoMCxlKGEpLmFzc2lnbikodCxzKX1mb3IodmFyIG8gaW4gbikwPT09by5pbmRleE9mKFwib25cIikmJiFmdW5jdGlvbihpKXtzW2ldPWZ1bmN0aW9uKHMpe3ZhciBsPWUobltpXSk7dFtcIiRhcHBseVwiXShmdW5jdGlvbigpe2wodCx7XCJhcmdzXCI6c30pfSl9fShvKTt2YXIgcj10W1wiJHdhdGNoXCJdLGg9bltcImNvbmZpZ1wiXXx8bltcImRheXBpbG90Q29uZmlnXCJdLGM9bltcImV2ZW50c1wiXXx8bltcImRheXBpbG90RXZlbnRzXCJdO3IuY2FsbCh0LGgsZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpc1t0XT1lW3RdO3MudXBkYXRlKCkscy5JYSgpfSwhMCksci5jYWxsKHQsYyxmdW5jdGlvbihlKXtzLmV2ZW50cy5saXN0PWUscy51cGRhdGUoKX0sITApfX19XSl9KCl9fSgpO2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBEYXlQaWxvdCl2YXIgRGF5UGlsb3Q9e307IWZ1bmN0aW9uKCl7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIERheVBpbG90LkRhdGVQaWNrZXImJkRheVBpbG90LkRhdGVQaWNrZXIuY2xvc2V8fChEYXlQaWxvdC5EYXRlUGlja2VyPWZ1bmN0aW9uKHQpe3RoaXMudj1cIjIwMjEuNC4zMzgtbGl0ZVwiO3ZhciBlPVwibmF2aWdhdG9yX1wiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGk9dGhpczt0aGlzLnByZXBhcmU9ZnVuY3Rpb24oKXtpZih0aGlzLmxvY2FsZT1cImVuLXVzXCIsdGhpcy50YXJnZXQ9bnVsbCx0aGlzLnJlc2V0VGFyZ2V0PSEwLHRoaXMucGF0dGVybj10aGlzLmEubG9jYWxlKCkuZGF0ZVBhdHRlcm4sdGhpcy5jc3NDbGFzc1ByZWZpeD1cIm5hdmlnYXRvcl9kZWZhdWx0XCIsdGhpcy50aGVtZT1udWxsLHRoaXMucGF0dGVybnM9W10sdClmb3IodmFyIGUgaW4gdCl0aGlzW2VdPXRbZV07dGhpcy5pbml0KCl9LHRoaXMuaW5pdD1mdW5jdGlvbigpe3RoaXMuZGF0ZT1uZXcgRGF5UGlsb3QuRGF0ZSh0aGlzLmRhdGUpO3ZhciB0PXRoaXMuYigpO3RoaXMucmVzZXRUYXJnZXQmJiF0JiZ0aGlzLmModGhpcy5kYXRlKSxEYXlQaWxvdC5yZShkb2N1bWVudCxcIm1vdXNlZG93blwiLGZ1bmN0aW9uKCl7aS5jbG9zZSgpfSl9LHRoaXMuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLmQmJih0aGlzLm5hdmlnYXRvciYmdGhpcy5uYXZpZ2F0b3IuZGlzcG9zZSgpLHRoaXMuZGl2LmlubmVySFRNTD1cIlwiLHRoaXMuZGl2JiZ0aGlzLmRpdi5wYXJlbnROb2RlPT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmRpdikpfSx0aGlzLmI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmUoKTtpZighdClyZXR1cm4gdGhpcy5kYXRlO3ZhciBlPW51bGw7aWYoZT1cIklOUFVUXCI9PT10LnRhZ05hbWU/dC52YWx1ZTp0LmlubmVyVGV4dCwhZSlyZXR1cm4gbnVsbDtmb3IodmFyIGE9RGF5UGlsb3QuRGF0ZS5wYXJzZShlLGkucGF0dGVybiksbj0wO248aS5wYXR0ZXJucy5sZW5ndGg7bisrKXtpZihhKXJldHVybiBhO2E9RGF5UGlsb3QuRGF0ZS5wYXJzZShlLGkucGF0dGVybnNbbl0pfXJldHVybiBhfSx0aGlzLmM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lKCk7aWYoZSl7dmFyIGE9dC50b1N0cmluZyhpLnBhdHRlcm4saS5sb2NhbGUpO1wiSU5QVVRcIj09PWUudGFnTmFtZT9lLnZhbHVlPWE6ZS5pbm5lckhUTUw9YX19LHRoaXMuYT17fSx0aGlzLmEubG9jYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIERheVBpbG90LkxvY2FsZS5maW5kKGkubG9jYWxlKX0sdGhpcy5lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50YXJnZXQ7cmV0dXJuIHQmJnQubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlP3Q6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCl9LHRoaXMuc2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZSgpLGE9dGhpcy5uYXZpZ2F0b3IsYT1uZXcgRGF5UGlsb3QuTmF2aWdhdG9yKGUpO2EuYXBpPTIsYS5mPSEwLGEudGhlbWU9aS50aGVtZXx8aS5jc3NDbGFzc1ByZWZpeCxhLndlZWtTdGFydHM9XCJBdXRvXCIsYS5sb2NhbGU9aS5sb2NhbGUsYS50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPVwiSmF2YVNjcmlwdFwiLGEub25UaW1lUmFuZ2VTZWxlY3RlZD1mdW5jdGlvbih0KXtpLmRhdGU9dC5zdGFydDt2YXIgZT10LnN0YXJ0LGE9ZS50b1N0cmluZyhpLnBhdHRlcm4saS5sb2NhbGUpLHQ9e307dC5zdGFydD1lLHQuZGF0ZT1lLHQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBpLm9uVGltZVJhbmdlU2VsZWN0JiYoaS5vblRpbWVSYW5nZVNlbGVjdCh0KSx0LnByZXZlbnREZWZhdWx0LnZhbHVlKXx8KGkuYyhhKSxpLmNsb3NlKCksXCJmdW5jdGlvblwiPT10eXBlb2YgaS5vblRpbWVSYW5nZVNlbGVjdGVkJiZpLm9uVGltZVJhbmdlU2VsZWN0ZWQodCkpfSx0aGlzLm5hdmlnYXRvcj1hO3ZhciBuPURheVBpbG90LmFicyh0KSxvPXQub2Zmc2V0SGVpZ2h0LHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixyLnN0eWxlLmxlZnQ9bi54K1wicHhcIixyLnN0eWxlLnRvcD1uLnkrbytcInB4XCI7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtzLmlkPWUsci5hcHBlbmRDaGlsZChzKSxEYXlQaWxvdC5yZShyLFwibW91c2Vkb3duXCIsZnVuY3Rpb24odCl7dmFyIHQ9dHx8d2luZG93LmV2ZW50O3QuY2FuY2VsQnViYmxlPSEwLHQuc3RvcFByb3BhZ2F0aW9uJiZ0LnN0b3BQcm9wYWdhdGlvbigpfSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKSx0aGlzLmRpdj1yO3ZhciBsPWkuYigpfHwobmV3IERheVBpbG90LkRhdGUpLmdldERhdGVQYXJ0KCk7YS5zdGFydERhdGU9bCxhLnNlbGVjdGlvbkRheT1sLGEuaW5pdCgpLHRoaXMuZD0hMH0sdGhpcy5wcmVwYXJlKCl9KX0oKTtcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QmJihEYXlQaWxvdD17fSksZnVuY3Rpb24oRGF5UGlsb3Qpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUodCxpLGEpe3ZhciBuPWkuaW5kZXhPZihcIi5cIik7aWYobj09PS0xKXJldHVybiB2b2lkKFwiX19wcm90b19fXCIhPT1pJiZcImNvbnN0cnVjdG9yXCIhPT1pJiYodFtpXT1hKSk7dmFyIG89aS5zdWJzdHJpbmcoMCxuKTtpZihcIl9fcHJvdG9fX1wiIT09byYmXCJjb25zdHJ1Y3RvclwiIT09byl7dmFyIGw9aS5zdWJzdHJpbmcobisxKSxkPXRbb107XCJvYmplY3RcIj09dHlwZW9mIGQmJm51bGwhPT1kfHwodFtvXT17fSxkPXRbb10pLGUoZCxsLGEpfX1mdW5jdGlvbiB0KGUsaSxhKXtpPWl8fHt9LGE9YXx8XCJcIjtmb3IodmFyIG4gaW4gZSl7dmFyIG89ZVtuXTtcIm9iamVjdFwiPT10eXBlb2Ygbz9cIltvYmplY3QgQXJyYXldXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobyk/aVthK25dPW86byYmby50b0pTT04/aVthK25dPW8udG9KU09OKCk6dChvLGksYStuK1wiLlwiKTppW2Erbl09b31yZXR1cm4gaX1pZighRGF5UGlsb3QuTW9kYWxTdGF0aWMpe0RheVBpbG90Lk1vZGFsU3RhdGljPXt9LERheVBpbG90Lk1vZGFsU3RhdGljLmxpc3Q9W10sRGF5UGlsb3QuTW9kYWxTdGF0aWMuaGlkZT1mdW5jdGlvbigpe2lmKHRoaXMubGlzdC5sZW5ndGg+MCl7dmFyIGU9dGhpcy5saXN0LnBvcCgpO2UmJmUuaGlkZSgpfX0sRGF5UGlsb3QuTW9kYWxTdGF0aWMucmVtb3ZlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1EYXlQaWxvdC5Nb2RhbFN0YXRpYy5saXN0LGk9MDtpPHQubGVuZ3RoO2krKylpZih0W2ldPT09ZSlyZXR1cm4gdm9pZCB0LnNwbGljZShpLDEpfSxEYXlQaWxvdC5Nb2RhbFN0YXRpYy5jbG9zZT1mdW5jdGlvbihlKXtEYXlQaWxvdC5Nb2RhbFN0YXRpYy5yZXN1bHQoZSksRGF5UGlsb3QuTW9kYWxTdGF0aWMuaGlkZSgpfSxEYXlQaWxvdC5Nb2RhbFN0YXRpYy5yZXN1bHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9RGF5UGlsb3QuTW9kYWxTdGF0aWMubGlzdDt0Lmxlbmd0aD4wJiYodFt0Lmxlbmd0aC0xXS5yZXN1bHQ9ZSl9LERheVBpbG90Lk1vZGFsU3RhdGljLmRpc3BsYXllZD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9RGF5UGlsb3QuTW9kYWxTdGF0aWMubGlzdCxpPTA7aTx0Lmxlbmd0aDtpKyspaWYodFtpXT09PWUpcmV0dXJuITA7cmV0dXJuITF9LERheVBpbG90Lk1vZGFsU3RhdGljLnN0cmV0Y2g9ZnVuY3Rpb24oKXtpZih0aGlzLmxpc3QubGVuZ3RoPjApe3ZhciBlPXRoaXMubGlzdFt0aGlzLmxpc3QubGVuZ3RoLTFdO2UmJmUuc3RyZXRjaCgpfX0sRGF5UGlsb3QuTW9kYWxTdGF0aWMubGFzdD1mdW5jdGlvbigpe3ZhciBlPURheVBpbG90Lk1vZGFsU3RhdGljLmxpc3Q7cmV0dXJuIGUubGVuZ3RoPjA/ZVtlLmxlbmd0aC0xXTpudWxsfTt2YXIgaT1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtlLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInRleHQvY3NzXCIpLGUuc3R5bGVTaGVldHx8ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSksKGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSkuYXBwZW5kQ2hpbGQoZSk7dmFyIHQ9ISFlLnN0eWxlU2hlZXQsaT17fTtyZXR1cm4gaS5ydWxlcz1bXSxpLmNvbW1pdD1mdW5jdGlvbigpe3RyeXt0JiYoZS5zdHlsZVNoZWV0LmNzc1RleHQ9dGhpcy5ydWxlcy5qb2luKFwiXFxuXCIpKX1jYXRjaChlKXt9fSxpLmFkZD1mdW5jdGlvbihpLGEsbil7aWYodClyZXR1cm4gdm9pZCB0aGlzLnJ1bGVzLnB1c2goaStcIntcIithK1wifVwiKTtpZihlLnNoZWV0Lmluc2VydFJ1bGUpXCJ1bmRlZmluZWRcIj09dHlwZW9mIG4mJihuPWUuc2hlZXQuY3NzUnVsZXMubGVuZ3RoKSxlLnNoZWV0Lmluc2VydFJ1bGUoaStcIntcIithK1wifVwiLG4pO2Vsc2V7aWYoIWUuc2hlZXQuYWRkUnVsZSl0aHJvd1wiTm8gQ1NTIHJlZ2lzdHJhdGlvbiBtZXRob2QgZm91bmRcIjtlLnNoZWV0LmFkZFJ1bGUoaSxhLG4pfX0saX0sYT1uZXcgaTthLmFkZChcIi5tb2RhbF9kZWZhdWx0X21haW5cIixcImJvcmRlcjogMTBweCBzb2xpZCAjY2NjOyBtYXgtd2lkdGg6IDkwJTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9tYWluOmZvY3VzXCIsXCJvdXRsaW5lOiBub25lO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2NvbnRlbnRcIixcInBhZGRpbmc6IDEwcHggMHB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2lubmVyXCIsXCJwYWRkaW5nOiAyMHB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2lucHV0XCIsXCJwYWRkaW5nOiAxMHB4IDBweDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9idXR0b25zXCIsXCJtYXJnaW4tdG9wOiAxMHB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2J1dHRvbnNcIixcInBhZGRpbmc6IDEwcHggMHB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbVwiLFwicGFkZGluZzogMTBweCAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fbGV2ZWwxXCIsXCJib3JkZXItbGVmdDogMnB4IHNvbGlkICNjY2M7IG1hcmdpbi1sZWZ0OiAxMHB4OyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtLm1vZGFsX2RlZmF1bHRfZm9ybV90aXRsZVwiLFwiZm9udC1zaXplOiAxLjVyZW07IGZvbnQtd2VpZ2h0OiBib2xkO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbSBpbnB1dFt0eXBlPXRleHRdXCIsXCJ3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW0gdGV4dGFyZWFcIixcIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDIwMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbSBpbnB1dFt0eXBlPXNlbGVjdF1cIixcIndpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbSBsYWJlbFwiLFwiZGlzcGxheTogYmxvY2s7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtIHNlbGVjdFwiLFwid2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX2xhYmVsXCIsXCJtYXJnaW46IDJweCAwcHg7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX2ltYWdlIGltZ1wiLFwibWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX2ludmFsaWRcIixcIlwiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV9pbnZhbGlkX21lc3NhZ2VcIixcInBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDBweDsgdG9wOiA5cHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgY29sb3I6ICNmZmZmZmY7IHBhZGRpbmc6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2JhY2tncm91bmRcIixcIm9wYWNpdHk6IDAuNTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9va1wiLFwicGFkZGluZzogM3B4OyB3aWR0aDogODBweDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9jYW5jZWxcIixcInBhZGRpbmc6IDNweDsgd2lkdGg6IDgwcHg7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX2RhdGVcIixcInBvc2l0aW9uOiByZWxhdGl2ZTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fZGF0ZTphZnRlclwiLFwiY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDdweDsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IDNweDsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTVweDsgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCIrXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNLSUNBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lDQjNhV1IwYUQwaU1UQWlDaUFnSUdobGFXZG9kRDBpTVRVaUNqNEtJQ0E4WnlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3dMRFVwSWo0S0lDQWdJRHh5WldOMENpQWdJQ0FnSUNCemRIbHNaVDBpWm1sc2JEb2pZMk5qWTJOak8yWnBiR3d0YjNCaFkybDBlVG94TzNOMGNtOXJaVHB1YjI1bE8zTjBjbTlyWlMxM2FXUjBhRG94TGpNNE1ETTNNek0yTzNOMGNtOXJaUzFzYVc1bFkyRndPbUoxZEhRN2MzUnliMnRsTFd4cGJtVnFiMmx1T25KdmRXNWtPM04wY205clpTMXRhWFJsY214cGJXbDBPalE3YzNSeWIydGxMV1JoYzJoaGNuSmhlVHB1YjI1bE8zTjBjbTlyWlMxdmNHRmphWFI1T2pFaUNpQWdJQ0FnSUNCcFpEMGljbVZqZERFNU1qZ2lDaUFnSUNBZ0lDQjNhV1IwYUQwaU9TNDVNVFV6TURZeElnb2dJQ0FnSUNBZ2FHVnBaMmgwUFNJeE1TNHpOamt6TnlJS0lDQWdJQ0FnSUhnOUlqQXVNVEUzTVRnM05TSUtJQ0FnSUNBZ0lIazlJaTB6TGpBd09UazVOVGNpQ2lBZ0lDQWdJQ0J5ZVQwaU1TNHpNVEU0TlRBMUlpQXZQZ29nSUNBZ1BISmxZM1FLSUNBZ0lDQWdJSE4wZVd4bFBTSm1hV3hzT2lOalkyTmpZMk03Wm1sc2JDMXZjR0ZqYVhSNU9qRTdjM1J5YjJ0bE9tNXZibVU3YzNSeWIydGxMWGRwWkhSb09qRXVOVGs0TVRRd01USTdjM1J5YjJ0bExXeHBibVZqWVhBNlluVjBkRHR6ZEhKdmEyVXRiR2x1WldwdmFXNDZjbTkxYm1RN2MzUnliMnRsTFcxcGRHVnliR2x0YVhRNk5EdHpkSEp2YTJVdFpHRnphR0Z5Y21GNU9tNXZibVU3YzNSeWIydGxMVzl3WVdOcGRIazZNU0lLSUNBZ0lDQWdJR2xrUFNKeVpXTjBNVGt6TUNJS0lDQWdJQ0FnSUhkcFpIUm9QU0l4TGpVek5EUXhNellpQ2lBZ0lDQWdJQ0JvWldsbmFIUTlJakl1TWpFNU9ESTFJZ29nSUNBZ0lDQWdlRDBpTWk0eE5UVTRORGd6SWdvZ0lDQWdJQ0FnZVQwaUxUUXVNemt6TnpBd01TSUtJQ0FnSUNBZ0lISjVQU0l3TGpZM01UYzRPVEUzSWlBdlBnb2dJQ0FnUEhKbFkzUUtJQ0FnSUNBZ0lISjVQU0l3TGpJNU5qQXhORGNpQ2lBZ0lDQWdJQ0I1UFNJdE1TNHhOalU0TkRZMklnb2dJQ0FnSUNBZ2VEMGlNUzQxTWpNNU5UQTJJZ29nSUNBZ0lDQWdhR1ZwWjJoMFBTSXhMamd5T1Rrd09URWlDaUFnSUNBZ0lDQjNhV1IwYUQwaU1TNDRNelF5TWpVeElnb2dJQ0FnSUNBZ2FXUTlJbkpsWTNReE9UUTRJZ29nSUNBZ0lDQWdjM1I1YkdVOUltWnBiR3c2STJabVptWm1aanRtYVd4c0xXOXdZV05wZEhrNk1UdHpkSEp2YTJVNmJtOXVaVHR6ZEhKdmEyVXRkMmxrZEdnNk1TNDBNakU0T1RFNU16dHpkSEp2YTJVdGJHbHVaV05oY0RwaWRYUjBPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0emRISnZhMlV0YldsMFpYSnNhVzFwZERvME8zTjBjbTlyWlMxa1lYTm9ZWEp5WVhrNmJtOXVaVHR6ZEhKdmEyVXRiM0JoWTJsMGVUb3hJaUF2UGdvZ0lDQWdQSEpsWTNRS0lDQWdJQ0FnSUhKNVBTSXdMalkzTVRjNE9URTNJZ29nSUNBZ0lDQWdlVDBpTFRRdU16a3pOekF3TVNJS0lDQWdJQ0FnSUhnOUlqWXVORFV5TnpJek5TSUtJQ0FnSUNBZ0lHaGxhV2RvZEQwaU1pNHlNVGs0TWpVaUNpQWdJQ0FnSUNCM2FXUjBhRDBpTVM0MU16UTBNVE0ySWdvZ0lDQWdJQ0FnYVdROUluSmxZM1F5TURBeklnb2dJQ0FnSUNBZ2MzUjViR1U5SW1acGJHdzZJMk5qWTJOall6dG1hV3hzTFc5d1lXTnBkSGs2TVR0emRISnZhMlU2Ym05dVpUdHpkSEp2YTJVdGQybGtkR2c2TVM0MU9UZ3hOREF4TWp0emRISnZhMlV0YkdsdVpXTmhjRHBpZFhSME8zTjBjbTlyWlMxc2FXNWxhbTlwYmpweWIzVnVaRHR6ZEhKdmEyVXRiV2wwWlhKc2FXMXBkRG8wTzNOMGNtOXJaUzFrWVhOb1lYSnlZWGs2Ym05dVpUdHpkSEp2YTJVdGIzQmhZMmwwZVRveElpQXZQZ29nSUNBZ1BISmxZM1FLSUNBZ0lDQWdJSE4wZVd4bFBTSm1hV3hzT2lObVptWm1abVk3Wm1sc2JDMXZjR0ZqYVhSNU9qRTdjM1J5YjJ0bE9tNXZibVU3YzNSeWIydGxMWGRwWkhSb09qRXVOREl4T0RreE9UTTdjM1J5YjJ0bExXeHBibVZqWVhBNlluVjBkRHR6ZEhKdmEyVXRiR2x1WldwdmFXNDZjbTkxYm1RN2MzUnliMnRsTFcxcGRHVnliR2x0YVhRNk5EdHpkSEp2YTJVdFpHRnphR0Z5Y21GNU9tNXZibVU3YzNSeWIydGxMVzl3WVdOcGRIazZNU0lLSUNBZ0lDQWdJR2xrUFNKeVpXTjBNakF3TlNJS0lDQWdJQ0FnSUhkcFpIUm9QU0l4TGpnek5ESXlOVEVpQ2lBZ0lDQWdJQ0JvWldsbmFIUTlJakV1T0RJNU9UQTVNU0lLSUNBZ0lDQWdJSGc5SWpRdU1qRTVNall6TVNJS0lDQWdJQ0FnSUhrOUlpMHhMakUyTlRnME5qWWlDaUFnSUNBZ0lDQnllVDBpTUM0eU9UWXdNVFEzSWlBdlBnb2dJQ0FnUEhKbFkzUUtJQ0FnSUNBZ0lISjVQU0l3TGpJNU5qQXhORGNpQ2lBZ0lDQWdJQ0I1UFNJdE1TNHhOalU0TkRZMklnb2dJQ0FnSUNBZ2VEMGlOaTQ1T1RJM01EQTJJZ29nSUNBZ0lDQWdhR1ZwWjJoMFBTSXhMamd5T1Rrd09URWlDaUFnSUNBZ0lDQjNhV1IwYUQwaU1TNDRNelF5TWpVeElnb2dJQ0FnSUNBZ2FXUTlJbkpsWTNReU1EQTNJZ29nSUNBZ0lDQWdjM1I1YkdVOUltWnBiR3c2STJabVptWm1aanRtYVd4c0xXOXdZV05wZEhrNk1UdHpkSEp2YTJVNmJtOXVaVHR6ZEhKdmEyVXRkMmxrZEdnNk1TNDBNakU0T1RFNU16dHpkSEp2YTJVdGJHbHVaV05oY0RwaWRYUjBPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0emRISnZhMlV0YldsMFpYSnNhVzFwZERvME8zTjBjbTlyWlMxa1lYTm9ZWEp5WVhrNmJtOXVaVHR6ZEhKdmEyVXRiM0JoWTJsMGVUb3hJaUF2UGdvZ0lDQWdQSEpsWTNRS0lDQWdJQ0FnSUhOMGVXeGxQU0ptYVd4c09pTm1abVptWm1ZN1ptbHNiQzF2Y0dGamFYUjVPakU3YzNSeWIydGxPbTV2Ym1VN2MzUnliMnRsTFhkcFpIUm9PakV1TkRJeE9Ea3hPVE03YzNSeWIydGxMV3hwYm1WallYQTZZblYwZER0emRISnZhMlV0YkdsdVpXcHZhVzQ2Y205MWJtUTdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTZORHR6ZEhKdmEyVXRaR0Z6YUdGeWNtRjVPbTV2Ym1VN2MzUnliMnRsTFc5d1lXTnBkSGs2TVNJS0lDQWdJQ0FnSUdsa1BTSnlaV04wTWpBeE15SUtJQ0FnSUNBZ0lIZHBaSFJvUFNJeExqZ3pOREl5TlRFaUNpQWdJQ0FnSUNCb1pXbG5hSFE5SWpFdU9ESTVPVEE1TVNJS0lDQWdJQ0FnSUhnOUlqRXVOVEl6T1RVd05pSUtJQ0FnSUNBZ0lIazlJakV1T0RBeU9UQXpOQ0lLSUNBZ0lDQWdJSEo1UFNJd0xqSTVOakF4TkRjaUlDOCtDaUFnSUNBOGNtVmpkQW9nSUNBZ0lDQWdjbms5SWpBdU1qazJNREUwTnlJS0lDQWdJQ0FnSUhrOUlqRXVPREF5T1RBek5DSUtJQ0FnSUNBZ0lIZzlJalF1TWpFNU1qWXpNU0lLSUNBZ0lDQWdJR2hsYVdkb2REMGlNUzQ0TWprNU1Ea3hJZ29nSUNBZ0lDQWdkMmxrZEdnOUlqRXVPRE0wTWpJMU1TSUtJQ0FnSUNBZ0lHbGtQU0p5WldOME1qQXhOU0lLSUNBZ0lDQWdJSE4wZVd4bFBTSm1hV3hzT2lObVptWm1abVk3Wm1sc2JDMXZjR0ZqYVhSNU9qRTdjM1J5YjJ0bE9tNXZibVU3YzNSeWIydGxMWGRwWkhSb09qRXVOREl4T0RreE9UTTdjM1J5YjJ0bExXeHBibVZqWVhBNlluVjBkRHR6ZEhKdmEyVXRiR2x1WldwdmFXNDZjbTkxYm1RN2MzUnliMnRsTFcxcGRHVnliR2x0YVhRNk5EdHpkSEp2YTJVdFpHRnphR0Z5Y21GNU9tNXZibVU3YzNSeWIydGxMVzl3WVdOcGRIazZNU0lnTHo0S0lDQWdJRHh5WldOMENpQWdJQ0FnSUNCemRIbHNaVDBpWm1sc2JEb2pabVptWm1abU8yWnBiR3d0YjNCaFkybDBlVG94TzNOMGNtOXJaVHB1YjI1bE8zTjBjbTlyWlMxM2FXUjBhRG94TGpReU1UZzVNVGt6TzNOMGNtOXJaUzFzYVc1bFkyRndPbUoxZEhRN2MzUnliMnRsTFd4cGJtVnFiMmx1T25KdmRXNWtPM04wY205clpTMXRhWFJsY214cGJXbDBPalE3YzNSeWIydGxMV1JoYzJoaGNuSmhlVHB1YjI1bE8zTjBjbTlyWlMxdmNHRmphWFI1T2pFaUNpQWdJQ0FnSUNCcFpEMGljbVZqZERJd01UY2lDaUFnSUNBZ0lDQjNhV1IwYUQwaU1TNDRNelF5TWpVeElnb2dJQ0FnSUNBZ2FHVnBaMmgwUFNJeExqZ3lPVGt3T1RFaUNpQWdJQ0FnSUNCNFBTSTJMams1TWpjd01EWWlDaUFnSUNBZ0lDQjVQU0l4TGpnd01qa3dNelFpQ2lBZ0lDQWdJQ0J5ZVQwaU1DNHlPVFl3TVRRM0lpQXZQZ29nSUNBZ1BISmxZM1FLSUNBZ0lDQWdJSEo1UFNJd0xqSTVOakF4TkRjaUNpQWdJQ0FnSUNCNVBTSTBMamN6TWpVNU1EY2lDaUFnSUNBZ0lDQjRQU0l4TGpVMk16QXhNekVpQ2lBZ0lDQWdJQ0JvWldsbmFIUTlJakV1T0RJNU9UQTVNU0lLSUNBZ0lDQWdJSGRwWkhSb1BTSXhMamd6TkRJeU5URWlDaUFnSUNBZ0lDQnBaRDBpY21WamRESXdNVGtpQ2lBZ0lDQWdJQ0J6ZEhsc1pUMGlabWxzYkRvalptWm1abVptTzJacGJHd3RiM0JoWTJsMGVUb3hPM04wY205clpUcHViMjVsTzNOMGNtOXJaUzEzYVdSMGFEb3hMalF5TVRnNU1Ua3pPM04wY205clpTMXNhVzVsWTJGd09tSjFkSFE3YzNSeWIydGxMV3hwYm1WcWIybHVPbkp2ZFc1a08zTjBjbTlyWlMxdGFYUmxjbXhwYldsME9qUTdjM1J5YjJ0bExXUmhjMmhoY25KaGVUcHViMjVsTzNOMGNtOXJaUzF2Y0dGamFYUjVPakVpSUM4K0NpQWdJQ0E4Y21WamRBb2dJQ0FnSUNBZ2MzUjViR1U5SW1acGJHdzZJMlptWm1abVpqdG1hV3hzTFc5d1lXTnBkSGs2TVR0emRISnZhMlU2Ym05dVpUdHpkSEp2YTJVdGQybGtkR2c2TVM0ME1qRTRPVEU1TXp0emRISnZhMlV0YkdsdVpXTmhjRHBpZFhSME8zTjBjbTlyWlMxc2FXNWxhbTlwYmpweWIzVnVaRHR6ZEhKdmEyVXRiV2wwWlhKc2FXMXBkRG8wTzNOMGNtOXJaUzFrWVhOb1lYSnlZWGs2Ym05dVpUdHpkSEp2YTJVdGIzQmhZMmwwZVRveElnb2dJQ0FnSUNBZ2FXUTlJbkpsWTNReU1ESXhJZ29nSUNBZ0lDQWdkMmxrZEdnOUlqRXVPRE0wTWpJMU1TSUtJQ0FnSUNBZ0lHaGxhV2RvZEQwaU1TNDRNams1TURreElnb2dJQ0FnSUNBZ2VEMGlOQzR5TlRnek1qVTJJZ29nSUNBZ0lDQWdlVDBpTkM0M016STFPVEEzSWdvZ0lDQWdJQ0FnY25rOUlqQXVNamsyTURFME55SWdMejRLSUNBZ0lEeHlaV04wQ2lBZ0lDQWdJQ0J5ZVQwaU1DNHlPVFl3TVRRM0lnb2dJQ0FnSUNBZ2VUMGlOQzQzTXpJMU9UQTNJZ29nSUNBZ0lDQWdlRDBpTnk0d016RTNOak14SWdvZ0lDQWdJQ0FnYUdWcFoyaDBQU0l4TGpneU9Ua3dPVEVpQ2lBZ0lDQWdJQ0IzYVdSMGFEMGlNUzQ0TXpReU1qVXhJZ29nSUNBZ0lDQWdhV1E5SW5KbFkzUXlNREl6SWdvZ0lDQWdJQ0FnYzNSNWJHVTlJbVpwYkd3NkkyWm1abVptWmp0bWFXeHNMVzl3WVdOcGRIazZNVHR6ZEhKdmEyVTZibTl1WlR0emRISnZhMlV0ZDJsa2RHZzZNUzQwTWpFNE9URTVNenR6ZEhKdmEyVXRiR2x1WldOaGNEcGlkWFIwTzNOMGNtOXJaUzFzYVc1bGFtOXBianB5YjNWdVpEdHpkSEp2YTJVdGJXbDBaWEpzYVcxcGREbzBPM04wY205clpTMWtZWE5vWVhKeVlYazZibTl1WlR0emRISnZhMlV0YjNCaFkybDBlVG94SWlBdlBnb2dJRHd2Wno0S1BDOXpkbWMrQ2c9PVwiK1wiKVwiKSxuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJFZGdlXCIpIT09LTEmJmEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX2RhdGUgaW5wdXQ6Oi1tcy1jbGVhclwiLFwiZGlzcGxheTogbm9uZTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fc2Nyb2xsYWJsZV9zY3JvbGxcIixcIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDIwMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyBvdmVyZmxvdy15OiBhdXRvO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV9zY3JvbGxhYmxlX3Njcm9sbF9jb250ZW50XCIsXCJwYWRkaW5nOiA1cHg7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX3NlYXJjaGFibGVcIixcInBvc2l0aW9uOiByZWxhdGl2ZTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fc2VhcmNoYWJsZV9pY29uXCIsXCJcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fc2VhcmNoYWJsZV9pY29uOmFmdGVyXCIsXCJjb250ZW50OicnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA1cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxNXB4OyBiYWNrZ3JvdW5kLWltYWdlOnVybChcIitcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpSUhOMFlXNWtZV3h2Ym1VOUltNXZJajgrQ2p4emRtY0tJQ0FnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUNCM2FXUjBhRDBpTVRBaUNpQWdJR2hsYVdkb2REMGlNVFVpQ2o0S0lDQThaeUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnd0xEVXBJajRLSUNBZ0lEeHdZWFJvQ2lBZ0lDQWdJQ0JwWkQwaWNHRjBhRE14TnpNaUNpQWdJQ0FnSUNCemRIbHNaVDBpWm1sc2JEcHViMjVsTzNOMGNtOXJaVG9qT1RrNU9UazVPM04wY205clpTMTNhV1IwYURveExqZzFNVGsyT0RVek8zTjBjbTlyWlMxc2FXNWxZMkZ3T25KdmRXNWtPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0emRISnZhMlV0YldsMFpYSnNhVzFwZERvME8zTjBjbTlyWlMxa1lYTm9ZWEp5WVhrNmJtOXVaU0lLSUNBZ0lDQWdJR1E5SWswZ01DNDVOVFF4TkRnek9Dd3dMalk0TVRZd016RWdOUzR3TXprd05qSTFMRFV1TkRFeE5UTTROaUE1TGpFeU16azNOallzTUM0Mk9ERTJNRE14SWdvZ0lDQWdJQ0FnSUM4K0NpQWdQQzluUGdvOEwzTjJaejRLXCIrXCIpO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV9zZWFyY2hhYmxlX2xpc3RcIixcImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk7IG1heC1oZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV9zZWFyY2hhYmxlX2xpc3RfaXRlbVwiLFwiYmFja2dyb3VuZDogd2hpdGU7IHBhZGRpbmc6IDJweDsgY3Vyc29yOiBkZWZhdWx0O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV9zZWFyY2hhYmxlX2xpc3RfaXRlbV9oaWdobGlnaHRcIixcImJhY2tncm91bmQ6ICNjY2M7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX3RhYnVsYXJfbWFpblwiLFwibWFyZ2luLXRvcDogMTBweDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl90YWJsZVwiLFwiZGlzcGxheTogdGFibGU7IHdpZHRoOiAxMDAlOyB4YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl90Ym9keVwiLFwiZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3Jvd1wiLFwiZGlzcGxheTogdGFibGUtcm93O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3Jvdy5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2hlYWRlclwiLFwiXCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX3RhYnVsYXJfY2VsbC5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3Jvd2FjdGlvblwiLFwicGFkZGluZzogMHB4OyB3aWR0aDogMjNweDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl9jZWxsXCIsXCJkaXNwbGF5OiB0YWJsZS1jZWxsOyBib3JkZXI6IDBweDsgcGFkZGluZzogMnB4IDJweCAycHggMHB4OyBjdXJzb3I6IGRlZmF1bHQ7IHZlcnRpY2FsLWFsaWduOiBib3R0b207XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX3RhYnVsYXJfaGVhZGVyIC5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2NlbGxcIixcInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLWJvdHRvbTogMHB4O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3RhYmxlIGlucHV0W3R5cGU9dGV4dF0sIC5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3RhYmxlIGlucHV0W3R5cGU9bnVtYmVyXVwiLFwid2lkdGg6MTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl90YWJsZSBzZWxlY3RcIixcIndpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3BsdXNcIixcImRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgY29sb3I6IHdoaXRlOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1sZWZ0OiAzcHg7IG1hcmdpbi10b3A6IDNweDsgY3Vyc29yOiBwb2ludGVyO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3BsdXM6YWZ0ZXJcIixcImNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDVweDsgdG9wOiA1cHg7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMG5NVEFuSUdobGFXZG9kRDBuTVRBbklIaHRiRzV6UFNkb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnljK1BIQmhkR2dnWkQwblRTQTFMakFnTUM0MUlFd2dOUzR3SURrdU5TQk5JREF1TlNBMUxqQWdUQ0E1TGpVZ05TNHdKeUJ6ZEhsc1pUMG5abWxzYkRwdWIyNWxPM04wY205clpUb2pabVptWm1abU8zTjBjbTlyWlMxM2FXUjBhRG95TzNOMGNtOXJaUzFzYVc1bGFtOXBianB5YjNWdVpEdHpkSEp2YTJVdGJHbHVaV05oY0RwaWRYUjBKeUF2UGp3dmMzWm5QZz09XFxcIilcIiksYS5hZGQoXCIubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl9kZWxldGVcIixcImRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgY29sb3I6IHdoaXRlOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1sZWZ0OiAzcHg7IG1hcmdpbi10b3A6IDNweDsgY3Vyc29yOiBwb2ludGVyO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2RlbGV0ZTphZnRlclwiLFwiY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNXB4OyB0b3A6IDVweDsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwbk1UQW5JR2hsYVdkb2REMG5NVEFuSUhodGJHNXpQU2RvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeWMrUEhCaGRHZ2daRDBuVFNBd0xqVWdNQzQxSUV3Z09TNDFJRGt1TlNCTklEQXVOU0E1TGpVZ1RDQTVMalVnTUM0MUp5QnpkSGxzWlQwblptbHNiRHB1YjI1bE8zTjBjbTlyWlRvalptWm1abVptTzNOMGNtOXJaUzEzYVdSMGFEb3lPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0emRISnZhMlV0YkdsdVpXTmhjRHBpZFhSMEp5QXZQand2YzNablBnPT1cXFwiKVwiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2Rpc2FibGVkIC5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3BsdXNcIixcImRpc3BsYXk6IG5vbmU7XCIpLGEuYWRkKFwiLm1vZGFsX2RlZmF1bHRfZm9ybV9pdGVtX3RhYnVsYXJfcGx1c19tYXgubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl9wbHVzXCIsXCJkaXNwbGF5OiBub25lO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2Rpc2FibGVkIC5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2RlbGV0ZVwiLFwidmlzaWJpbGl0eTogaGlkZGVuO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX2VtcHR5XCIsXCJoZWlnaHQ6IDFweDsgbWFyZ2luOiA1cHggMjNweCA1cHggMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1wiKSxhLmFkZChcIi5tb2RhbF9kZWZhdWx0X2Zvcm1faXRlbV90YWJ1bGFyX3NwYWNlciAubW9kYWxfZGVmYXVsdF9mb3JtX2l0ZW1fdGFidWxhcl9jZWxsXCIsXCJwYWRkaW5nOiAwcHg7XCIpLGEuYWRkKFwiLm1vZGFsX21pbl9tYWluXCIsXCJib3JkZXI6IDFweCBzb2xpZCAjY2NjOyBtYXgtd2lkdGg6IDkwJTtcIiksYS5hZGQoXCIubW9kYWxfbWluX2JhY2tncm91bmRcIixcIm9wYWNpdHk6IDAuNTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcIiksYS5hZGQoXCIubW9kYWxfbWluX29rXCIsXCJwYWRkaW5nOiAzcHggMTBweDtcIiksYS5hZGQoXCIubW9kYWxfbWluX2NhbmNlbFwiLFwicGFkZGluZzogM3B4IDEwcHg7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF9tYWluXCIsXCJib3JkZXItbGVmdDogMXB4IHNvbGlkICNjMGMwYzA7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzBjMDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtjb2xvcjogIzAwMDAwMDsgYm94LXNpemluZzogY29udGVudC1ib3g7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF9tYWluICosIC5uYXZpZ2F0b3JfbW9kYWxfbWFpbiAqOmJlZm9yZSwgLm5hdmlnYXRvcl9tb2RhbF9tYWluICo6YWZ0ZXJcIixcImJveC1zaXppbmc6IGNvbnRlbnQtYm94O1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfbW9udGhcIixcImZvbnQtc2l6ZTogMTFweDtcIiksYS5hZGQoXCIubmF2aWdhdG9yX21vZGFsX2RheVwiLFwiY29sb3I6IGJsYWNrO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfd2Vla2VuZFwiLFwiYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcIiksYS5hZGQoXCIubmF2aWdhdG9yX21vZGFsX2RheWhlYWRlclwiLFwiY29sb3I6IGJsYWNrO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfbGluZVwiLFwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF9kYXlvdGhlclwiLFwiY29sb3I6IGdyYXk7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF90b2RheWJveFwiLFwiYm9yZGVyOiAxcHggc29saWQgcmVkO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfdGl0bGUsIC5uYXZpZ2F0b3JfbW9kYWxfdGl0bGVsZWZ0LCAubmF2aWdhdG9yX21vZGFsX3RpdGxlcmlnaHRcIixcImJvcmRlci10b3A6IDFweCBzb2xpZCAjYzBjMGMwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO2NvbG9yOiAjMzMzO2JhY2tncm91bmQ6ICNmM2YzZjM7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF9idXN5XCIsXCJmb250LXdlaWdodDogYm9sZDtcIiksYS5hZGQoXCIubmF2aWdhdG9yX21vZGFsX2NlbGxcIixcInRleHQtYWxpZ246IGNlbnRlcjtcIiksYS5hZGQoXCIubmF2aWdhdG9yX21vZGFsX3NlbGVjdCAubmF2aWdhdG9yX21vZGFsX2NlbGxfYm94XCIsXCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFNzk0OyBvcGFjaXR5OiAwLjU7XCIpLGEuYWRkKFwiLm5hdmlnYXRvcl9tb2RhbF90aXRsZVwiLFwidGV4dC1hbGlnbjogY2VudGVyO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfdGl0bGVsZWZ0LCAubmF2aWdhdG9yX21vZGFsX3RpdGxlcmlnaHRcIixcInRleHQtYWxpZ246IGNlbnRlcjtcIiksYS5hZGQoXCIubmF2aWdhdG9yX21vZGFsX2RheWhlYWRlclwiLFwidGV4dC1hbGlnbjogY2VudGVyO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfd2Vla251bWJlclwiLFwidGV4dC1hbGlnbjogY2VudGVyO1wiKSxhLmFkZChcIi5uYXZpZ2F0b3JfbW9kYWxfY2VsbF90ZXh0XCIsXCJjdXJzb3I6IHBvaW50ZXI7XCIpLGEuY29tbWl0KCksRGF5UGlsb3QuTW9kYWw9ZnVuY3Rpb24oZSl7dGhpcy5hdXRvRm9jdXM9ITAsdGhpcy5mb2N1cz1udWxsLHRoaXMuYXV0b1N0cmV0Y2g9ITAsdGhpcy5hdXRvU3RyZXRjaEZpcnN0TG9hZE9ubHk9ITEsdGhpcy5jbGFzc05hbWU9bnVsbCx0aGlzLnRoZW1lPVwibW9kYWxfZGVmYXVsdFwiLHRoaXMuZGlzcG9zZU9uQ2xvc2U9ITAsdGhpcy5kcmFnRHJvcD0hMCx0aGlzLmxvYWRpbmdIdG1sPW51bGwsdGhpcy5tYXhIZWlnaHQ9bnVsbCx0aGlzLnNjcm9sbFdpdGhQYWdlPSEwLHRoaXMudXNlSWZyYW1lPSEwLHRoaXMuekluZGV4PTk5OTk5LHRoaXMubGVmdD1udWxsLHRoaXMud2lkdGg9NjAwLHRoaXMudG9wPTIwLHRoaXMuaGVpZ2h0PTIwMCx0aGlzLmxvY2FsZT1udWxsLHRoaXMuY2xvc2VkPW51bGwsdGhpcy5vbkNsb3NlPW51bGwsdGhpcy5vbkNsb3NlZD1udWxsLHRoaXMub25TaG93PW51bGw7dmFyIHQ9dGhpczt0aGlzLmlkPVwiX1wiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpK1wiblwiKzEwKk1hdGgucmFuZG9tKCksdGhpcy5hPSExLHRoaXMuYj1udWxsLHRoaXMuYz1udWxsLHRoaXMuc2hvd0h0bWw9ZnVuY3Rpb24oZSl7aWYoRGF5UGlsb3QuTW9kYWxTdGF0aWMuZGlzcGxheWVkKHRoaXMpKXRocm93XCJUaGlzIG1vZGFsIGRpYWxvZyBpcyBhbHJlYWR5IGRpc3BsYXllZC5cIjtpZih0aGlzLmRpdnx8dGhpcy5kKCksdGhpcy5lKCksdGhpcy51c2VJZnJhbWUpe3ZhciB0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZS5zZXRJbm5lckhUTUwoZS5pZCtcImlmcmFtZVwiLHQpfX07d2luZG93LnNldFRpbWVvdXQodCh0aGlzLGUpLDApfWVsc2UgZS5ub2RlVHlwZT90aGlzLmRpdi5hcHBlbmRDaGlsZChlKTp0aGlzLmRpdi5pbm5lckhUTUw9ZTt0aGlzLmUoKSx0aGlzLmYoKSx0aGlzLmcoKX0sdGhpcy5zaG93VXJsPWZ1bmN0aW9uKGUpe2lmKERheVBpbG90Lk1vZGFsU3RhdGljLmRpc3BsYXllZCh0aGlzKSl0aHJvd1wiVGhpcyBtb2RhbCBkaWFsb2cgaXMgYWxyZWFkeSBkaXNwbGF5ZWQuXCI7aWYodGhpcy51c2VJZnJhbWUpe3RoaXMuZGl2fHx0aGlzLmQoKTt2YXIgaT10aGlzLmxvYWRpbmdIdG1sO2kmJih0aGlzLmlmcmFtZS5zcmM9XCJhYm91dDpibGFua1wiLHRoaXMuc2V0SW5uZXJIVE1MKHRoaXMuaWQrXCJpZnJhbWVcIixpKSksdGhpcy5yZSh0aGlzLmlmcmFtZSxcImxvYWRcIix0aGlzLmgpLHRoaXMuaWZyYW1lLnNyYz1lLHRoaXMuZSgpLHRoaXMuZigpLHRoaXMuZygpfWVsc2UgdC5pKHtcInVybFwiOmUsXCJzdWNjZXNzXCI6ZnVuY3Rpb24oZSl7dmFyIGk9ZS5yZXF1ZXN0LnJlc3BvbnNlVGV4dDt0LnNob3dIdG1sKGkpfSxcImVycm9yXCI6ZnVuY3Rpb24oZSl7dC5zaG93SHRtbChcIkVycm9yIGxvYWRpbmcgdGhlIG1vZGFsIGRpYWxvZ1wiKX19KX0sdGhpcy5nPWZ1bmN0aW9uKCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdC5vblNob3cpe3ZhciBlPXt9O2Uucm9vdD10LmooKSxlLm1vZGFsPXQsdC5vblNob3coZSl9fSx0aGlzLmo9ZnVuY3Rpb24oKXtyZXR1cm4gdC5pZnJhbWU/dC5pZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDp0LmRpdn0sdGhpcy5pPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBYTUxIdHRwUmVxdWVzdDtpZih0KXt2YXIgaT1lLm1ldGhvZHx8XCJHRVRcIixhPWUuc3VjY2Vzc3x8ZnVuY3Rpb24oKXt9LG49ZS5lcnJvcnx8ZnVuY3Rpb24oKXt9LG89ZS5kYXRhLGw9ZS51cmw7dC5vcGVuKGksbCwhMCksdC5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC10eXBlXCIsXCJ0ZXh0L3BsYWluXCIpLHQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09PXQucmVhZHlTdGF0ZSlpZigyMDA9PT10LnN0YXR1c3x8MzA0PT09dC5zdGF0dXMpe3ZhciBlPXt9O2UucmVxdWVzdD10LGEoZSl9ZWxzZSBpZihuKXt2YXIgZT17fTtlLnJlcXVlc3Q9dCxuKGUpfWVsc2Ugd2luZG93LmNvbnNvbGUmJmNvbnNvbGUubG9nKFwiSFRUUCBlcnJvciBcIit0LnN0YXR1cyl9LDQhPT10LnJlYWR5U3RhdGUmJihcIm9iamVjdFwiPT10eXBlb2YgbyYmKG89SlNPTi5zdHJpbmdpZnkobykpLHQuc2VuZChvKSl9fSx0aGlzLmU9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5yZXN1bHQ7dmFyIGU9d2luZG93LGk9ZG9jdW1lbnQsYT1lLnBhZ2VZT2Zmc2V0P2UucGFnZVlPZmZzZXQ6aS5kb2N1bWVudEVsZW1lbnQmJmkuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcD9pLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A6aS5ib2R5LnNjcm9sbFRvcDt0aGlzLnRoZW1lJiYodGhpcy5oaWRlRGl2LmNsYXNzTmFtZT10aGlzLnRoZW1lK1wiX2JhY2tncm91bmRcIiksdGhpcy56SW5kZXgmJih0aGlzLmhpZGVEaXYuc3R5bGUuekluZGV4PXRoaXMuekluZGV4KSx0aGlzLmhpZGVEaXYuc3R5bGUuZGlzcGxheT1cIlwiLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5oaWRlRGl2JiYodC5oaWRlRGl2Lm9uY2xpY2s9ZnVuY3Rpb24oKXt0LmhpZGUoe1wiYmFja2dyb3VuZENsaWNrXCI6ITB9KX0pfSw1MDApLHRoaXMudGhlbWU/dGhpcy5kaXYuY2xhc3NOYW1lPXRoaXMudGhlbWUrXCJfbWFpblwiOnRoaXMuZGl2LmNsYXNzTmFtZT1cIlwiLHRoaXMuY2xhc3NOYW1lJiYodGhpcy5kaXYuY2xhc3NOYW1lKz1cIiBcIit0aGlzLmNsYXNzTmFtZSksdGhpcy5sZWZ0P3RoaXMuZGl2LnN0eWxlLmxlZnQ9dGhpcy5sZWZ0K1wicHhcIjp0aGlzLmRpdi5zdHlsZS5tYXJnaW5MZWZ0PVwiLVwiK01hdGguZmxvb3IodGhpcy53aWR0aC8yKStcInB4XCIsdGhpcy5kaXYuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHRoaXMuZGl2LnN0eWxlLmJveFNpemluZz1cImNvbnRlbnQtYm94XCIsdGhpcy5kaXYuc3R5bGUudG9wPWErdGhpcy50b3ArXCJweFwiLHRoaXMuZGl2LnN0eWxlLndpZHRoPXRoaXMud2lkdGgrXCJweFwiLHRoaXMuekluZGV4JiYodGhpcy5kaXYuc3R5bGUuekluZGV4PXRoaXMuekluZGV4KSx0aGlzLmhlaWdodCYmKHRoaXMudXNlSWZyYW1lfHwhdGhpcy5hdXRvU3RyZXRjaD90aGlzLmRpdi5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrXCJweFwiOnRoaXMuZGl2LnN0eWxlLmhlaWdodD1cIlwiKSx0aGlzLnVzZUlmcmFtZSYmdGhpcy5oZWlnaHQmJih0aGlzLmlmcmFtZS5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrXCJweFwiKSx0aGlzLmRpdi5zdHlsZS5kaXNwbGF5PVwiXCIsdGhpcy5sKCksRGF5UGlsb3QuTW9kYWxTdGF0aWMucmVtb3ZlKHRoaXMpLERheVBpbG90Lk1vZGFsU3RhdGljLmxpc3QucHVzaCh0aGlzKX0sdGhpcy5oPWZ1bmN0aW9uKCl7dC5pZnJhbWUuY29udGVudFdpbmRvdy5tb2RhbD10LHQuYXV0b1N0cmV0Y2gmJnQuc3RyZXRjaCgpfSx0aGlzLnN0cmV0Y2g9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybiB0LmsoKS55fSxpPWZ1bmN0aW9uKCl7cmV0dXJuIHQuaygpLnh9O2lmKHRoaXMudXNlSWZyYW1lKXtmb3IodmFyIGE9aSgpLTQwLG49dGhpcy53aWR0aDtuPGEmJnRoaXMubSgpO24rPTEwKXRoaXMuZGl2LnN0eWxlLndpZHRoPW4rXCJweFwiLHRoaXMuZGl2LnN0eWxlLm1hcmdpbkxlZnQ9XCItXCIrTWF0aC5mbG9vcihuLzIpK1wicHhcIjtmb3IodmFyIG89dGhpcy5tYXhIZWlnaHR8fGUoKS0yKnRoaXMudG9wLGw9dGhpcy5oZWlnaHQ7bDxvJiZ0aGlzLm4oKTtsKz0xMCl0aGlzLmlmcmFtZS5zdHlsZS5oZWlnaHQ9bCtcInB4XCIsdGhpcy5kaXYuc3R5bGUuaGVpZ2h0PWwrXCJweFwiO3RoaXMuYXV0b1N0cmV0Y2hGaXJzdExvYWRPbmx5JiZ0aGlzLnVlKHRoaXMuaWZyYW1lLFwibG9hZFwiLHRoaXMuaCl9ZWxzZSB0aGlzLmRpdi5zdHlsZS5oZWlnaHQ9XCJcIn0sdGhpcy5tPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQsdD1cIkJhY2tDb21wYXRcIj09PWUuY29tcGF0TW9kZT9lLmJvZHk6ZS5kb2N1bWVudEVsZW1lbnQsaT10LnNjcm9sbFdpZHRoLGE9ZS5ib2R5LmNoaWxkcmVuLG49MDtuPGEubGVuZ3RoO24rKyl7dmFyIG89YVtuXS5vZmZzZXRMZWZ0K2Fbbl0ub2Zmc2V0V2lkdGg7aT1NYXRoLm1heChpLG8pfXJldHVybiBpPnQuY2xpZW50V2lkdGh9LHRoaXMubj1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LHQ9XCJCYWNrQ29tcGF0XCI9PT1lLmNvbXBhdE1vZGU/ZS5ib2R5OmUuZG9jdW1lbnRFbGVtZW50LGk9dC5zY3JvbGxIZWlnaHQsYT1lLmJvZHkuY2hpbGRyZW4sbj0wO248YS5sZW5ndGg7bisrKXt2YXIgbz1hW25dLm9mZnNldFRvcCthW25dLm9mZnNldEhlaWdodDtpPU1hdGgubWF4KGksbyl9cmV0dXJuIGk+dC5jbGllbnRIZWlnaHR9LHRoaXMuaz1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50O2lmKFwiQ1NTMUNvbXBhdFwiPT09ZS5jb21wYXRNb2RlJiZlLmRvY3VtZW50RWxlbWVudCYmZS5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpe3ZhciB0PWUuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLGk9ZS5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O3JldHVybnt4OnQseTppfX12YXIgdD1lLmJvZHkuY2xpZW50V2lkdGgsaT1lLmJvZHkuY2xpZW50SGVpZ2h0O3JldHVybnt4OnQseTppfX0sdGhpcy5mPWZ1bmN0aW9uKCl7dGhpcy5hfHwodGhpcy5yZSh3aW5kb3csXCJyZXNpemVcIix0aGlzLm8pLHRoaXMucmUod2luZG93LFwic2Nyb2xsXCIsdGhpcy5wKSx0aGlzLmRyYWdEcm9wJiYodGhpcy5yZShkb2N1bWVudCxcIm1vdXNlbW92ZVwiLHRoaXMucSksdGhpcy5yZShkb2N1bWVudCxcIm1vdXNldXBcIix0aGlzLnIpKSx0aGlzLmE9ITApfSx0aGlzLnM9ZnVuY3Rpb24oKXt0aGlzLnVlKHdpbmRvdyxcInJlc2l6ZVwiLHRoaXMubyksdGhpcy51ZSh3aW5kb3csXCJzY3JvbGxcIix0aGlzLnApLHRoaXMuZHJhZ0Ryb3AmJih0aGlzLnVlKGRvY3VtZW50LFwibW91c2Vtb3ZlXCIsdGhpcy5xKSx0aGlzLnVlKGRvY3VtZW50LFwibW91c2V1cFwiLHRoaXMucikpLHRoaXMuYT0hMX0sdGhpcy50PWZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09dC5kaXYmJihlLnByZXZlbnREZWZhdWx0KCksdC5kaXYuc3R5bGUuY3Vyc29yPVwibW92ZVwiLHQudSgpLHQuYz10Lm1jKGV8fHdpbmRvdy5ldmVudCksdC5iPXt4OnQuZGl2Lm9mZnNldExlZnQseTp0LmRpdi5vZmZzZXRUb3B9KX0sdGhpcy5xPWZ1bmN0aW9uKGUpe2lmKHQuYyl7dmFyIGU9ZXx8d2luZG93LmV2ZW50LGk9dC5tYyhlKSxhPWkueC10LmMueCxuPWkueS10LmMueTt0LmRpdi5zdHlsZS5tYXJnaW5MZWZ0PVwiMHB4XCIsdC5kaXYuc3R5bGUudG9wPXQuYi55K24rXCJweFwiLHQuZGl2LnN0eWxlLmxlZnQ9dC5iLngrYStcInB4XCJ9fSx0aGlzLnI9ZnVuY3Rpb24oZSl7dC5jJiYodC52KCksdC5kaXYuc3R5bGUuY3Vyc29yPW51bGwsdC5jPW51bGwpfSx0aGlzLnU9ZnVuY3Rpb24oKXtpZih0aGlzLnVzZUlmcmFtZSl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtlLnN0eWxlLmJhY2tncm91bmRDb2xvcj1cIiNmZmZmZmZcIixlLnN0eWxlLmZpbHRlcj1cImFscGhhKG9wYWNpdHk9ODApXCIsZS5zdHlsZS5vcGFjaXR5PVwiMC44MFwiLGUuc3R5bGUud2lkdGg9XCIxMDAlXCIsZS5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrXCJweFwiLGUuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGUuc3R5bGUubGVmdD1cIjBweFwiLGUuc3R5bGUudG9wPVwiMHB4XCIsdGhpcy5kaXYuYXBwZW5kQ2hpbGQoZSksdGhpcy5tYXNrPWV9fSx0aGlzLnY9ZnVuY3Rpb24oKXt0aGlzLnVzZUlmcmFtZSYmKHRoaXMuZGl2LnJlbW92ZUNoaWxkKHRoaXMubWFzayksdGhpcy5tYXNrPW51bGwpfSx0aGlzLm89ZnVuY3Rpb24oKXt0LncoKSx0LmwoKX0sdGhpcy5wPWZ1bmN0aW9uKCl7dC53KCl9LHRoaXMubD1mdW5jdGlvbigpe2lmKCF0LmxlZnQmJnQuZGl2KXt2YXIgZT10LmRpdi5vZmZzZXRXaWR0aDt0LmRpdi5zdHlsZS5tYXJnaW5MZWZ0PVwiLVwiK01hdGguZmxvb3IoZS8yKStcInB4XCJ9fSx0aGlzLnc9ZnVuY3Rpb24oKXtpZih0LmhpZGVEaXYmJnQuZGl2JiZcIm5vbmVcIiE9PXQuaGlkZURpdi5zdHlsZS5kaXNwbGF5JiZcIm5vbmVcIiE9PXQuZGl2LnN0eWxlLmRpc3BsYXkpe3ZhciBlPXQuei5zY3JvbGxZKCk7dC5zY3JvbGxXaXRoUGFnZXx8KHQuZGl2LnN0eWxlLnRvcD1lK3QudG9wK1wicHhcIil9fSx0aGlzLno9e30sdGhpcy56LmNvbnRhaW5lcj1mdW5jdGlvbigpe3JldHVybiB0LmNvbnRhaW5lcnx8ZG9jdW1lbnQuYm9keX0sdGhpcy56LnNjcm9sbFk9ZnVuY3Rpb24oKXt2YXIgZT10LnouY29udGFpbmVyKCk7cmV0dXJuIGU9PT1kb2N1bWVudC5ib2R5P3dpbmRvdy5wYWdlWU9mZnNldD93aW5kb3cucGFnZVlPZmZzZXQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A6ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6ZS5zY3JvbGxUb3B9LHRoaXMucmU9ZnVuY3Rpb24oZSx0LGkpe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KFwib25cIit0LGkpfSx0aGlzLnVlPWZ1bmN0aW9uKGUsdCxpKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSwhMSk6ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudChcIm9uXCIrdCxpKX0sdGhpcy5tYz1mdW5jdGlvbihlKXtyZXR1cm4gZS5wYWdlWHx8ZS5wYWdlWT97eDplLnBhZ2VYLHk6ZS5wYWdlWX06e3g6ZS5jbGllbnRYK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0LHk6ZS5jbGllbnRZK2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B9fSx0aGlzLmFicz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9e3g6ZS5vZmZzZXRMZWZ0LHk6ZS5vZmZzZXRUb3B9O2Uub2Zmc2V0UGFyZW50OyllPWUub2Zmc2V0UGFyZW50LHQueCs9ZS5vZmZzZXRMZWZ0LHQueSs9ZS5vZmZzZXRUb3A7cmV0dXJuIHR9LHRoaXMuZD1mdW5jdGlvbigpe3ZhciBlPXQuei5jb250YWluZXIoKSxpPWU9PT1kb2N1bWVudC5ib2R5LGE9aT9cImZpeGVkXCI6XCJhYnNvbHV0ZVwiLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtuLmlkPXRoaXMuaWQrXCJoaWRlXCIsbi5zdHlsZS5wb3NpdGlvbj1hLG4uc3R5bGUubGVmdD1cIjBweFwiLG4uc3R5bGUudG9wPVwiMHB4XCIsbi5zdHlsZS5yaWdodD1cIjBweFwiLG4uc3R5bGUuYm90dG9tPVwiMHB4XCIsbi5vbmNvbnRleHRtZW51PWZ1bmN0aW9uKCl7cmV0dXJuITF9LG4ub25tb3VzZWRvd249ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5hcHBlbmRDaGlsZChuKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO28uaWQ9dGhpcy5pZCtcInBvcHVwXCIsby5zdHlsZS5wb3NpdGlvbj1hLG8uc3R5bGUubGVmdD1cIjUwJVwiLG8uc3R5bGUudG9wPVwiMHB4XCIsby5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9XCJ3aGl0ZVwiLG8uc3R5bGUud2lkdGg9XCI1MHB4XCIsby5zdHlsZS5oZWlnaHQ9XCI1MHB4XCIsdGhpcy5kcmFnRHJvcCYmKG8ub25tb3VzZWRvd249dGhpcy50KSxvLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX0pO3ZhciBsPW51bGw7dGhpcy51c2VJZnJhbWUmJihsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIiksbC5pZD10aGlzLmlkK1wiaWZyYW1lXCIsbC5uYW1lPXRoaXMuaWQrXCJpZnJhbWVcIixsLmZyYW1lQm9yZGVyPVwiMFwiLGwuc3R5bGUud2lkdGg9XCIxMDAlXCIsbC5zdHlsZS5oZWlnaHQ9XCI1MHB4XCIsby5hcHBlbmRDaGlsZChsKSksZS5hcHBlbmRDaGlsZChvKSx0aGlzLmRpdj1vLHRoaXMuaWZyYW1lPWwsdGhpcy5oaWRlRGl2PW59LHRoaXMuc2V0SW5uZXJIVE1MPWZ1bmN0aW9uKGUsaSl7dmFyIGE9d2luZG93LmZyYW1lc1tlXSxuPWEuY29udGVudFdpbmRvd3x8YS5kb2N1bWVudHx8YS5jb250ZW50RG9jdW1lbnQ7bi5kb2N1bWVudCYmKG49bi5kb2N1bWVudCksbnVsbD09bi5ib2R5JiZuLndyaXRlKFwiPGJvZHk+PC9ib2R5PlwiKSxpLm5vZGVUeXBlP24uYm9keS5hcHBlbmRDaGlsZChpKTpuLmJvZHkuaW5uZXJIVE1MPWksdC5hdXRvU3RyZXRjaCYmKHQuYXV0b1N0cmV0Y2hGaXJzdExvYWRPbmx5JiZ0LkF8fCh0LnN0cmV0Y2goKSx0LkE9ITApKX0sdGhpcy5jbG9zZT1mdW5jdGlvbihlKXt0aGlzLnJlc3VsdD1lLHRoaXMuaGlkZSgpfSx0aGlzLmNsb3NlU2VyaWFsaXplZD1mdW5jdGlvbigpe2Zvcih2YXIgZT10LmooKSxpPWUucXVlcnlTZWxlY3RvckFsbChcImlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0XCIpLGE9e30sbj0wO248aS5sZW5ndGg7bisrKXt2YXIgbz1pW25dLGw9by5uYW1lO2lmKGwpe3ZhciBkPW8udmFsdWU7YVtsXT1kfX10LmNsb3NlKGEpfSx0aGlzLmhpZGU9ZnVuY3Rpb24oZSl7ZT1lfHx7fTt2YXIgaT17fTtpLmJhY2tncm91bmRDbGljaz0hIWUuYmFja2dyb3VuZENsaWNrLGkucmVzdWx0PXRoaXMucmVzdWx0LGkuY2FuY2VsZWQ9XCJ1bmRlZmluZWRcIj09dHlwZW9mIHRoaXMucmVzdWx0LGkucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLm9uQ2xvc2UmJih0aGlzLm9uQ2xvc2UoaSksaS5wcmV2ZW50RGVmYXVsdC52YWx1ZSl8fCh0aGlzLmRpdiYmKHRoaXMuZGl2LnN0eWxlLmRpc3BsYXk9XCJub25lXCIsdGhpcy5oaWRlRGl2LnN0eWxlLmRpc3BsYXk9XCJub25lXCIsdGhpcy51c2VJZnJhbWV8fCh0aGlzLmRpdi5pbm5lckhUTUw9bnVsbCkpLHdpbmRvdy5mb2N1cygpLERheVBpbG90Lk1vZGFsU3RhdGljLnJlbW92ZSh0aGlzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLm9uQ2xvc2VkP3RoaXMub25DbG9zZWQoaSk6dGhpcy5jbG9zZWQmJnRoaXMuY2xvc2VkKCksZGVsZXRlIHRoaXMucmVzdWx0LHRoaXMuZGlzcG9zZU9uQ2xvc2UmJih0LnMoKSx0LkIodC5kaXYpLHQuQih0LmhpZGVEaXYpLHQuZGl2PW51bGwsdC5oaWRlRGl2PW51bGwsdC5pZnJhbWU9bnVsbCkpfSx0aGlzLkI9ZnVuY3Rpb24oZSl7ZSYmZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9LHRoaXMuQz1mdW5jdGlvbigpe2lmKGUpZm9yKHZhciB0IGluIGUpdGhpc1t0XT1lW3RdfSx0aGlzLkMoKX0sRGF5UGlsb3QuTW9kYWwuYWxlcnQ9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9LHQuaGVpZ2h0PXQuaGVpZ2h0fHw0MCx0LnVzZUlmcmFtZT0hMTt2YXIgaT10Lm9rVGV4dHx8XCJPS1wiO3QuY2FuY2VsVGV4dHx8XCJDYW5jZWxcIjtyZXR1cm4gRGF5UGlsb3QuZ2V0UHJvbWlzZShmdW5jdGlvbihhLG4pe3Qub25DbG9zZWQ9ZnVuY3Rpb24oZSl7YShlKX07dmFyIG89bmV3IERheVBpbG90Lk1vZGFsKHQpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtsLmNsYXNzTmFtZT1vLnRoZW1lK1wiX2lubmVyXCI7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtkLmNsYXNzTmFtZT1vLnRoZW1lK1wiX2NvbnRlbnRcIixkLmlubmVySFRNTD1lO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ci5jbGFzc05hbWU9by50aGVtZStcIl9idXR0b25zXCI7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtzLmlubmVyVGV4dD1pLHMuY2xhc3NOYW1lPW8udGhlbWUrXCJfb2tcIixzLm9uY2xpY2s9ZnVuY3Rpb24oZSl7RGF5UGlsb3QuTW9kYWxTdGF0aWMuY2xvc2UoXCJPS1wiKX0sci5hcHBlbmRDaGlsZChzKSxsLmFwcGVuZENoaWxkKGQpLGwuYXBwZW5kQ2hpbGQociksby5zaG93SHRtbChsKSxvLmF1dG9Gb2N1cyYmcy5mb2N1cygpfSl9LERheVBpbG90Lk1vZGFsLmNvbmZpcm09ZnVuY3Rpb24oZSx0KXt0PXR8fHt9LHQuaGVpZ2h0PXQuaGVpZ2h0fHw0MCx0LnVzZUlmcmFtZT0hMTt2YXIgaT10Lm9rVGV4dHx8XCJPS1wiLGE9dC5jYW5jZWxUZXh0fHxcIkNhbmNlbFwiO3JldHVybiBEYXlQaWxvdC5nZXRQcm9taXNlKGZ1bmN0aW9uKG4sbyl7dC5vbkNsb3NlZD1mdW5jdGlvbihlKXtuKGUpfTt2YXIgbD1uZXcgRGF5UGlsb3QuTW9kYWwodCksZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2QuY2xhc3NOYW1lPWwudGhlbWUrXCJfaW5uZXJcIjt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3IuY2xhc3NOYW1lPWwudGhlbWUrXCJfY29udGVudFwiLHIuaW5uZXJIVE1MPWU7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtzLmNsYXNzTmFtZT1sLnRoZW1lK1wiX2J1dHRvbnNcIjt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO2MuaW5uZXJUZXh0PWksYy5jbGFzc05hbWU9bC50aGVtZStcIl9va1wiLGMub25jbGljaz1mdW5jdGlvbihlKXtEYXlQaWxvdC5Nb2RhbFN0YXRpYy5jbG9zZShcIk9LXCIpfTt2YXIgdT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIiBcIiksbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO20uaW5uZXJUZXh0PWEsbS5jbGFzc05hbWU9bC50aGVtZStcIl9jYW5jZWxcIixtLm9uY2xpY2s9ZnVuY3Rpb24oZSl7RGF5UGlsb3QuTW9kYWxTdGF0aWMuY2xvc2UoKX0scy5hcHBlbmRDaGlsZChjKSxzLmFwcGVuZENoaWxkKHUpLHMuYXBwZW5kQ2hpbGQobSksZC5hcHBlbmRDaGlsZChyKSxkLmFwcGVuZENoaWxkKHMpLGwuc2hvd0h0bWwoZCksbC5hdXRvRm9jdXMmJmMuZm9jdXMoKX0pfSxEYXlQaWxvdC5Nb2RhbC5wcm9tcHQ9ZnVuY3Rpb24oZSx0LGkpe1wib2JqZWN0XCI9PXR5cGVvZiB0JiYoaT10LHQ9XCJcIiksaT1pfHx7fSxpLmhlaWdodD1pLmhlaWdodHx8NDAsaS51c2VJZnJhbWU9ITE7dmFyIGE9aS5va1RleHR8fFwiT0tcIixuPWkuY2FuY2VsVGV4dHx8XCJDYW5jZWxcIixvPXR8fFwiXCI7cmV0dXJuIERheVBpbG90LmdldFByb21pc2UoZnVuY3Rpb24odCxsKXtpLm9uQ2xvc2VkPWZ1bmN0aW9uKGUpe3QoZSl9O3ZhciBkPW5ldyBEYXlQaWxvdC5Nb2RhbChpKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ci5jbGFzc05hbWU9ZC50aGVtZStcIl9pbm5lclwiO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cy5jbGFzc05hbWU9ZC50aGVtZStcIl9jb250ZW50XCIscy5pbm5lckhUTUw9ZTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2MuY2xhc3NOYW1lPWQudGhlbWUrXCJfaW5wdXRcIjt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7dS52YWx1ZT1vLHUuc3R5bGUud2lkdGg9XCIxMDAlXCIsdS5vbmtleWRvd249ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSAxMzpkLmNsb3NlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UgMjc6ZC5jbG9zZSgpO2JyZWFrO2RlZmF1bHQ6dD0hMH10fHwoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpfSxjLmFwcGVuZENoaWxkKHUpO3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7bS5jbGFzc05hbWU9ZC50aGVtZStcIl9idXR0b25zXCI7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtoLmlubmVyVGV4dD1hLGguY2xhc3NOYW1lPWQudGhlbWUrXCJfb2tcIixoLm9uY2xpY2s9ZnVuY3Rpb24oZSl7ZC5jbG9zZSh1LnZhbHVlKX07dmFyIHA9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCIgXCIpLGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtmLmlubmVyVGV4dD1uLGYuY2xhc3NOYW1lPWQudGhlbWUrXCJfY2FuY2VsXCIsZi5vbmNsaWNrPWZ1bmN0aW9uKGUpe2QuY2xvc2UoKX0sbS5hcHBlbmRDaGlsZChoKSxtLmFwcGVuZENoaWxkKHApLG0uYXBwZW5kQ2hpbGQoZiksci5hcHBlbmRDaGlsZChzKSxyLmFwcGVuZENoaWxkKGMpLHIuYXBwZW5kQ2hpbGQobSksZC5zaG93SHRtbChyKSxkLmF1dG9Gb2N1cyYmdS5mb2N1cygpfSl9O3ZhciBuPWZ1bmN0aW9uKGUpe3JldHVyblwiW29iamVjdCBBcnJheV1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07RGF5UGlsb3QuTW9kYWwuZm9ybT1mdW5jdGlvbih0LGksYSl7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciBsPXQ7aWYobihsKSlpPXt9O2Vsc2V7aWYoXCJvYmplY3RcIiE9dHlwZW9mIGwpdGhyb3dcIkludmFsaWQgRGF5UGlsb3QuTW9kYWwuZm9ybSgpIHBhcmFtZXRlclwiO2k9dCx0PVtdO2Zvcih2YXIgZCBpbiBpKXt2YXIgcj17fTtyLm5hbWU9ZCxyLmlkPWQsdC5wdXNoKHIpfX19dmFyIHM9e307Zm9yKHZhciBkIGluIGEpc1tkXT1hW2RdO3MuaGVpZ2h0PXMuaGVpZ2h0fHw0MCxzLnVzZUlmcmFtZT0hMTt2YXIgYz1zLm9rVGV4dHx8XCJPS1wiLHU9cy5jYW5jZWxUZXh0fHxcIkNhbmNlbFwiO3JldHVybiBEYXlQaWxvdC5nZXRQcm9taXNlKGZ1bmN0aW9uKGEsbil7cy5vbkNsb3NlZD1mdW5jdGlvbih0KXtpZih0LnJlc3VsdCl7dmFyIG49SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpKSk7Zm9yKHZhciBvIGluIHQucmVzdWx0KWUobixvLHQucmVzdWx0W29dKTt0LnJlc3VsdD1ufWEodCl9O3ZhciBsPW5ldyBEYXlQaWxvdC5Nb2RhbChzKSxkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ZC5jbGFzc05hbWU9bC50aGVtZStcIl9pbm5lclwiO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7ci5jbGFzc05hbWU9bC50aGVtZStcIl9pbnB1dFwiO3ZhciBtPW5ldyBvKHt0aGVtZTpsLnRoZW1lLGZvcm06dCxkYXRhOmksekluZGV4OmwuekluZGV4LGxvY2FsZTpsLmxvY2FsZSxwbHVnaW5zOmwucGx1Z2lucyxvbktleTpmdW5jdGlvbihlKXtzd2l0Y2goZS5rZXkpe2Nhc2VcIkVudGVyXCI6bS52YWxpZGF0ZSgpJiZsLmNsb3NlKG0uc2VyaWFsaXplKCkpO2JyZWFrO2Nhc2VcIkVzY2FwZVwiOmwuY2xvc2UoKX19LG9uQ2hhbmdlOmZ1bmN0aW9uKGUpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGwub25DaGFuZ2UmJmwub25DaGFuZ2UoZSl9fSksaD1tLmNyZWF0ZSgpO3IuYXBwZW5kKGgpO3ZhciBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cC5jbGFzc05hbWU9bC50aGVtZStcIl9idXR0b25zXCI7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtmLmlubmVyVGV4dD1jLGYuY2xhc3NOYW1lPWwudGhlbWUrXCJfb2tcIixzLm9rRGlzYWJsZWQmJihmLmRpc2FibGVkPSEwKSxmLm9uY2xpY2s9ZnVuY3Rpb24oZSl7bS52YWxpZGF0ZSgpJiZsLmNsb3NlKG0uc2VyaWFsaXplKCkpfTt2YXIgdj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIiBcIiksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO2lmKGcuaW5uZXJUZXh0PXUsZy5jbGFzc05hbWU9bC50aGVtZStcIl9jYW5jZWxcIixnLm9uY2xpY2s9ZnVuY3Rpb24oZSl7bC5jbG9zZSgpfSxnLm9ubW91c2Vkb3duPWZ1bmN0aW9uKGUpe20uY2FuY2VsaW5nPSEwfSxwLmFwcGVuZENoaWxkKGYpLHAuYXBwZW5kQ2hpbGQodikscC5hcHBlbmRDaGlsZChnKSxkLmFwcGVuZENoaWxkKHIpLGQuYXBwZW5kQ2hpbGQocCksbC5zaG93SHRtbChkKSxsLmRpdi5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiLTFcIiksbC5kaXYuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixmdW5jdGlvbihlKXtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDI3OmwuY2xvc2UoKTticmVhaztjYXNlIDEzOm0udmFsaWRhdGUoKSYmbC5jbG9zZShtLnNlcmlhbGl6ZSgpKX19KSxsLmZvY3VzKXt2YXIgYj1udWxsO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBsLmZvY3VzKXt2YXIgeT1sLmZvY3VzLmlkLEk9bC5mb2N1cy52YWx1ZTtiPW0uZmluZFZpZXdCeUlkKHksSSl9ZWxzZVwic3RyaW5nXCI9PXR5cGVvZiBsLmZvY3VzJiYoYj1tLmZpbmRWaWV3QnlJZChsLmZvY3VzKSk7YiYmYi5mb2N1cygpfWVsc2V7dmFyIF89bS5maXJzdEZvY3VzYWJsZSgpO2wuYXV0b0ZvY3VzJiZfP18uZm9jdXMoKTpsLmRpdi5mb2N1cygpfX0pfSxEYXlQaWxvdC5Nb2RhbC5jbG9zZT1mdW5jdGlvbihlKXt2YXIgdD1EYXlQaWxvdC5Nb2RhbC5vcGVuZXIoKTt0JiZ0LmNsb3NlKGUpfSxEYXlQaWxvdC5Nb2RhbC5zdHJldGNoPWZ1bmN0aW9uKGUpe3ZhciB0PURheVBpbG90Lk1vZGFsLm9wZW5lcigpO2lmKCF0KXRocm93XCJVbmFibGUgdG8gZmluZCB0aGUgb3BlbmVyIERheVBpbG90Lk1vZGFsIGluc3RhbmNlLlwiO3Quc3RyZXRjaCgpfSxEYXlQaWxvdC5Nb2RhbC5jbG9zZVNlcmlhbGl6ZWQ9ZnVuY3Rpb24oKXt2YXIgZT1EYXlQaWxvdC5Nb2RhbC5vcGVuZXIoKXx8RGF5UGlsb3QuTW9kYWxTdGF0aWMubGFzdCgpO2UmJmUuY2xvc2VTZXJpYWxpemVkKCl9LERheVBpbG90Lk1vZGFsLm9wZW5lcj1mdW5jdGlvbigpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBEYXlQaWxvdCYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIERheVBpbG90Lk1vZGFsU3RhdGljJiZEYXlQaWxvdC5Nb2RhbFN0YXRpYy5saXN0Lmxlbmd0aD4wP0RheVBpbG90Lk1vZGFsU3RhdGljLmxpc3RbRGF5UGlsb3QuTW9kYWxTdGF0aWMubGlzdC5sZW5ndGgtMV06cGFyZW50JiZwYXJlbnQuRGF5UGlsb3QmJnBhcmVudC5EYXlQaWxvdC5Nb2RhbFN0YXRpYyYmcGFyZW50LkRheVBpbG90Lk1vZGFsU3RhdGljLmxpc3RbcGFyZW50LkRheVBpbG90Lk1vZGFsU3RhdGljLmxpc3QubGVuZ3RoLTFdfSxEYXlQaWxvdC5Nb2RhbC5FeHBlcmltZW50YWw9e30sRGF5UGlsb3QuTW9kYWwuRXhwZXJpbWVudGFsLkZvcm09byxcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuZ2V0UHJvbWlzZSYmKERheVBpbG90LmdldFByb21pc2U9ZnVuY3Rpb24oZSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFByb21pc2U/bmV3IFByb21pc2UoZSk6KERheVBpbG90LlByb21pc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnRoZW49ZnVuY3Rpb24odCxpKXtyZXR1cm4gdD10fHxmdW5jdGlvbigpe30saT1pfHxmdW5jdGlvbigpe30sZSh0LGkpLERheVBpbG90LmdldFByb21pc2UoZSl9LHRoaXNbXCJjYXRjaFwiXT1mdW5jdGlvbihpKXtyZXR1cm4gdC50aGVuKG51bGwsaSksRGF5UGlsb3QuZ2V0UHJvbWlzZShlKX19LG5ldyBEYXlQaWxvdC5Qcm9taXNlKGUpKX0pO3ZhciBvPWZ1bmN0aW9uKGUpe3RoaXMuZm9ybT1bXSx0aGlzLmRhdGE9e30sdGhpcy50aGVtZT1cImZvcm1fZGVmYXVsdFwiLHRoaXMuekluZGV4PTk5OTk5LHRoaXMubG9jYWxlPVwiZW4tdXNcIix0aGlzLnBsdWdpbnM9e30sdGhpcy5vbktleT1udWxsLHRoaXMuRD1bXSx0aGlzLkU9bnVsbCx0aGlzLmNhbmNlbGluZz0hMSx0aGlzLkY9W10sdGhpcy5HPVtdLHRoaXMuSD1udWxsLGU9ZXx8e307Zm9yKHZhciB0IGluIGUpdGhpc1t0XT1lW3RdfTtvLnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sb2FkKCksdGhpcy5yZW5kZXIoKSx0aGlzLkh9LG8ucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5IPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdGhpcy5ELmZvckVhY2goZnVuY3Rpb24odCl7ZS5jcmVhdGVWaWV3KHQpfSksdGhpcy5hcHBseVN0YXRlKCl9LG8ucHJvdG90eXBlLmNyZWF0ZVZpZXc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy50aGVtZSxpPXRoaXMsYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2lmKGEuY2xhc3NOYW1lPXQrXCJfZm9ybV9pdGVtIFwiK3QrXCJfZm9ybV9pdGVtX2xldmVsXCIrZS5sZXZlbCxlLmludGVyYWN0aXZlfHxcInRpdGxlXCIhPT1lLnR5cGU/YS5jbGFzc05hbWUrPVwiIFwiK3QrXCJfZm9ybV9pdGVtX1wiK2UudHlwZTphLmNsYXNzTmFtZSs9XCIgXCIrdCtcIl9mb3JtX3RpdGxlXCIsZS5kYXRhLmNzc0NsYXNzJiYoYS5jbGFzc05hbWUrPVwiIFwiK2UuZGF0YS5jc3NDbGFzcyksIWUuaXNWYWx1ZSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtuLmNsYXNzTmFtZT10K1wiX2Zvcm1faXRlbV9sYWJlbFwiLG4uaW5uZXJUZXh0PWUudGV4dCxhLmFwcGVuZENoaWxkKG4pfXZhciBvPXRoaXMuY3JlYXRlSW50ZXJhY3RpdmUoZSk7by5vbklucHV0PWZ1bmN0aW9uKGUpe2lmKGU9ZXx8e30saS5JKG8se1wiZGVib3VuY2VcIjohZS5pbW1lZGlhdGV9KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBpLm9uQ2hhbmdlKXt2YXIgdD17fTt0LnJlc3VsdD1pLnNlcmlhbGl6ZSgpLGkub25DaGFuZ2UodCl9fSxvLm9uQmx1cj1mdW5jdGlvbigpe2kuY2FuY2VsaW5nfHxpLkkobyl9LG8uYXBwbHkoZSksby5IPWEsby5yb3c9ZSxvLmVsZW1lbnQmJmEuYXBwZW5kQ2hpbGQoby5lbGVtZW50KSx0aGlzLkcucHVzaChvKSx0aGlzLkguYXBwZW5kQ2hpbGQoYSl9LG8ucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PSEwO3JldHVybiB0aGlzLkcuZm9yRWFjaChmdW5jdGlvbihpKXt2YXIgYT1lLkkoaSk7dD10JiZhfSksdH0sby5wcm90b3R5cGUuST1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoKXtlLkomJihlLkoucmVtb3ZlKCksZS5KPW51bGwpLGUuSC5jbGFzc0xpc3QuYWRkKHUpO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG50LmNsYXNzTGlzdC5hZGQobSksdC5pbm5lclRleHQ9Yy5tZXNzYWdlLGUuSj10LGUuSC5hcHBlbmRDaGlsZCh0KX10PXR8fHt9O3ZhciBhPXQuZGVib3VuY2Usbj10LnNpbGVudCxvPWUucm93LGw9ITAsZD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBvLmRhdGEub25WYWxpZGF0ZT9vLmRhdGEub25WYWxpZGF0ZTpudWxsLHI9XCJmdW5jdGlvblwiPT10eXBlb2Ygby5kYXRhLnZhbGlkYXRlP28uZGF0YS52YWxpZGF0ZTpudWxsLHM9ZHx8cjtpZihzKXt2YXIgYz17fTtjLnZhbGlkPSEwLGMudmFsdWU9ZS5zYXZlKClbby5maWVsZF0sYy5tZXNzYWdlPVwiRXJyb3JcIixjLnZhbHVlcz10aGlzLnNlcmlhbGl6ZSgpLGMucmVzdWx0PXRoaXMuc2VyaWFsaXplKCkscyhjKTt2YXIgdT10aGlzLnRoZW1lK1wiX2Zvcm1faXRlbV9pbnZhbGlkXCIsbT10aGlzLnRoZW1lK1wiX2Zvcm1faXRlbV9pbnZhbGlkX21lc3NhZ2VcIjtpZihjLnZhbGlkKWNsZWFyVGltZW91dCh0aGlzLkZbby5maWVsZF0pLGUuSiYmKGUuSi5yZW1vdmUoKSxlLko9bnVsbCksZS5ILmNsYXNzTGlzdC5yZW1vdmUodSk7ZWxzZSBpZighbilpZihhKXt2YXIgaD0xZTM7Y2xlYXJUaW1lb3V0KHRoaXMuRltvLmZpZWxkXSksdGhpcy5GW28uZmllbGRdPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpKCl9LGgpfWVsc2UgaSgpO2w9Yy52YWxpZH1yZXR1cm4gbH0sby5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5mb3JtLmZvckVhY2goZnVuY3Rpb24odCl7ZS5wcm9jZXNzRm9ybUl0ZW0odCwwKX0pO3ZhciBpO3RyeXt2YXIgYT1KU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEpO2k9dChKU09OLnBhcnNlKGEpKX1jYXRjaChlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGUgJ2RhdGEnIG9iamVjdCBpcyBub3Qgc2VyaWFsaXphYmxlIChpdCBtYXkgY29udGFpbiBjaXJjdWxhciBkZXBlbmRlbmNpZXMpOiBcIitlKX1mb3IodmFyIG4gaW4gaSl0aGlzLnNldFZhbHVlKG4saVtuXSl9LG8ucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGUsdCl7dGhpcy5ELmZvckVhY2goZnVuY3Rpb24oaSl7aS5hcHBseVZhbHVlKGUsdCl9KX0sby5wcm90b3R5cGUudXBkYXRlRGVwZW5kZW50U3RhdGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9WyEwXTsodGhpcy5FP3RoaXMuRTp0aGlzLkQpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZS51cGRhdGVTdGF0ZShpLHtlbmFibGVkOnRbaS5sZXZlbF0mJiFpLmRhdGEuZGlzYWJsZWR9KTthLmlzVmFsdWUmJih0W2EubGV2ZWwrMV09YS5lbmFibGVkJiZhLmNoZWNrZWQpfSl9LG8ucHJvdG90eXBlLnByb2Nlc3NGb3JtSXRlbT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMsYT10aGlzLmdldEZpZWxkVHlwZShlKSxuPVtdO2lmKFwicmFkaW9cIj09PWEpe2lmKGUubmFtZSl7dmFyIG89bmV3IGw7by5maWVsZD1lLmlkLG8uZGF0YT1lLG8ubGV2ZWw9dCxvLnR5cGU9XCJsYWJlbFwiLG8uaW50ZXJhY3RpdmU9ITEsby50ZXh0PWUubmFtZSxpLkQucHVzaChvKSxuLnB1c2gobyl9ZS5vcHRpb25zLmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGQ9bmV3IGw7ZC5maWVsZD1lLmlkLGQuZGF0YT1vLGQubGV2ZWw9dCxkLnR5cGU9YSxkLmlzVmFsdWU9ITAsZC50ZXh0PW8ubmFtZSxkLnJlc29sdmVkPW8uaWQsaS5ELnB1c2goZCksbi5wdXNoKGQpLG8uY2hpbGRyZW4mJm8uY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgYT1pLnByb2Nlc3NGb3JtSXRlbShlLHQrMSk7bj1uLmNvbmNhdChhKX0pfSl9ZWxzZSBpZihcInRpdGxlXCI9PT1hKXt2YXIgbz1uZXcgbDtvLmZpZWxkPWUuaWQsby5kYXRhPWUsby5sZXZlbD10LG8udHlwZT1hLG8uaW50ZXJhY3RpdmU9ITEsby50ZXh0PWUubmFtZSxpLkQucHVzaChvKSxuLnB1c2gobyl9ZWxzZSBpZihcImltYWdlXCI9PT1hKXt2YXIgbz1uZXcgbDtvLmlzVmFsdWU9ITAsby5maWVsZD1lLmlkLG8uZGF0YT1lLG8ubGV2ZWw9dCxvLnR5cGU9YSxvLmludGVyYWN0aXZlPSExLG8udGV4dD1udWxsLGkuRC5wdXNoKG8pLG4ucHVzaChvKX1lbHNlIGlmKFwiaHRtbFwiPT09YSl7dmFyIG89bmV3IGw7by5pc1ZhbHVlPSEwLG8uZmllbGQ9ZS5pZCxvLmRhdGE9ZSxvLmxldmVsPXQsby50eXBlPWEsby5pbnRlcmFjdGl2ZT0hMSxvLnRleHQ9bnVsbCxpLkQucHVzaChvKSxuLnB1c2gobyl9ZWxzZSBpZihcInNjcm9sbGFibGVcIj09PWEpe3ZhciBvPW5ldyBsO28uaXNWYWx1ZT0hMCxvLmZpZWxkPWUuaWQsby5kYXRhPWUsby5sZXZlbD10LG8udHlwZT1hLG8uaW50ZXJhY3RpdmU9ITEsby50ZXh0PW51bGwsaS5ELnB1c2gobyksbi5wdXNoKG8pfWVsc2V7dmFyIG89bmV3IGw7by5maWVsZD1lLmlkLG8uZGF0YT1lLG8ubGV2ZWw9dCxvLnR5cGU9YSxvLnRleHQ9ZS5uYW1lLG8uY2hpbGRyZW49W10saS5ELnB1c2gobyksbi5wdXNoKG8pfXJldHVyblwiY2hlY2tib3hcIj09PWEmJihvLmlzVmFsdWU9ITAsby5yZXNvbHZlZD0hMCxlLmNoaWxkcmVuJiZlLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGE9aS5wcm9jZXNzRm9ybUl0ZW0oZSx0KzEpO249bi5jb25jYXQoYSl9KSksbn0sby5wcm90b3R5cGUuZG9PbktleT1mdW5jdGlvbihlKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiB0aGlzLm9uS2V5KXt2YXIgdD17a2V5OmV9O3RoaXMub25LZXkodCl9fSxvLnByb3RvdHlwZS5jcmVhdGVJbnRlcmFjdGl2ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9e1wibGFiZWxcIjpmdW5jdGlvbigpe3JldHVybiBuZXcgZH0sXCJ0aXRsZVwiOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkfSxcImltYWdlXCI6ZnVuY3Rpb24oKXt2YXIgdD1uZXcgZCxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7cmV0dXJuIGkuc3JjPWUuZGF0YS5pbWFnZSx0LmVsZW1lbnQ9aSx0fSxcImh0bWxcIjpmdW5jdGlvbigpe3ZhciB0PW5ldyBkLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZS5kYXRhLnRleHQ/aS5pbm5lclRleHQ9ZS5kYXRhLnRleHQ6XCJzdHJpbmdcIj09dHlwZW9mIGUuZGF0YS5odG1sJiYoaS5pbm5lckhUTUw9ZS5kYXRhLmh0bWwpLHQuZWxlbWVudD1pLHR9LFwic2Nyb2xsYWJsZVwiOmZ1bmN0aW9uKCl7dmFyIGk9bmV3IGQsYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2EuY2xhc3NOYW1lPXQudGhlbWUrXCJfZm9ybV9pdGVtX3Njcm9sbGFibGVfc2Nyb2xsXCIsZS5kYXRhLmhlaWdodCYmKGEuc3R5bGUuaGVpZ2h0PWUuZGF0YS5oZWlnaHQrXCJweFwiKTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3JldHVybiBuLmNsYXNzTmFtZT10LnRoZW1lK1wiX2Zvcm1faXRlbV9zY3JvbGxhYmxlX3Njcm9sbF9jb250ZW50XCIsXCJzdHJpbmdcIj09dHlwZW9mIGUuZGF0YS50ZXh0P24uaW5uZXJUZXh0PWUuZGF0YS50ZXh0Olwic3RyaW5nXCI9PXR5cGVvZiBlLmRhdGEuaHRtbCYmKG4uaW5uZXJIVE1MPWUuZGF0YS5odG1sKSxhLmFwcGVuZENoaWxkKG4pLGkuZWxlbWVudD1hLGl9LFwidGV4dFwiOmZ1bmN0aW9uKCl7dmFyIGk9bmV3IGQ7aS5hcHBseT1mdW5jdGlvbihlKXtpLnJvdz1lO3ZhciB0PWkuZWxlbWVudDt0LnZhbHVlPWUudmFsdWUsdC5kaXNhYmxlZD0hZS5lbmFibGVkfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7cmV0dXJuIGEubmFtZT1lLmZpZWxkLGEudHlwZT1cInRleHRcIixhLmF1dG9jb21wbGV0ZT1cIm9mZlwiLGEub25rZXlkb3duPWZ1bmN0aW9uKGUpe3ZhciBpPSExO3N3aXRjaChlLmtleUNvZGUpe2Nhc2UgMTM6dC5kb09uS2V5KFwiRW50ZXJcIik7YnJlYWs7Y2FzZSAyNzp0LmRvT25LZXkoXCJFc2NhcGVcIik7YnJlYWs7ZGVmYXVsdDppPSEwfWl8fChlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9LGEub25pbnB1dD1mdW5jdGlvbihlKXtpLm9uSW5wdXQoKX0sYS5vbmJsdXI9ZnVuY3Rpb24oZSl7aS5vbkJsdXIoKX0saS5lbGVtZW50PWEsaS5jYW5Gb2N1cz1mdW5jdGlvbigpe3JldHVybiFpLmVsZW1lbnQuZGlzYWJsZWR9LGkuZm9jdXM9ZnVuY3Rpb24oKXtpLmVsZW1lbnQuZm9jdXMoKSxpLmVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCxpLmVsZW1lbnQudmFsdWUubGVuZ3RoKX0saS5zYXZlPWZ1bmN0aW9uKCl7dmFyIHQ9e307cmV0dXJuIHRbZS5maWVsZF09YS52YWx1ZSx0fSxpfSxcInRleHRhcmVhXCI6ZnVuY3Rpb24oKXt2YXIgaT1uZXcgZDtpLmFwcGx5PWZ1bmN0aW9uKGUpe2kucm93PWU7dmFyIHQ9aS5lbGVtZW50O3QudmFsdWU9ZS52YWx1ZSx0LmRpc2FibGVkPSFlLmVuYWJsZWR9O3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiKTtyZXR1cm4gYS5uYW1lPWUuZmllbGQsZS5kYXRhLmhlaWdodCYmKGEuc3R5bGUuaGVpZ2h0PWUuZGF0YS5oZWlnaHQrXCJweFwiKSxhLm9ua2V5ZG93bj1mdW5jdGlvbihlKXt2YXIgaT0hMTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDEzOihlLmN0cmxLZXl8fGUubWV0YUtleSkmJnQuZG9PbktleShcIkVudGVyXCIpLGk9ITE7YnJlYWs7Y2FzZSAyNzp0LmRvT25LZXkoXCJFc2NhcGVcIik7YnJlYWs7ZGVmYXVsdDppPSEwfWl8fGUuc3RvcFByb3BhZ2F0aW9uKCl9LGEub25pbnB1dD1mdW5jdGlvbihlKXtpLm9uSW5wdXQoKX0sYS5vbmJsdXI9ZnVuY3Rpb24oZSl7aS5vbkJsdXIoKX0saS5lbGVtZW50PWEsaS5jYW5Gb2N1cz1mdW5jdGlvbigpe3JldHVybiFpLmVsZW1lbnQuZGlzYWJsZWR9LGkuZm9jdXM9ZnVuY3Rpb24oKXtpLmVsZW1lbnQuZm9jdXMoKSxpLmVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwwKX0saS5zYXZlPWZ1bmN0aW9uKCl7dmFyIHQ9e307cmV0dXJuIHRbZS5maWVsZF09YS52YWx1ZSx0fSxpfSxcImRhdGVcIjpmdW5jdGlvbigpe3ZhciBpPW5ldyBkO2kuYXBwbHk9ZnVuY3Rpb24oZSl7aS5yb3c9ZTt2YXIgYT1pLmVsZW1lbnQsbj1pLnBpY2tlcjtlLmRhdGEuZGF0ZUZvcm1hdCYmKG4ucGF0dGVybj1lLmRhdGEuZGF0ZUZvcm1hdCk7dmFyIG89ZS5kYXRhLmxvY2FsZXx8dC5sb2NhbGU7byYmKG4ubG9jYWxlPW8pLGEuZGlzYWJsZWQ9IWUuZW5hYmxlZCxuLmRhdGU9bmV3IERheVBpbG90LkRhdGUoZS52YWx1ZSk7dmFyIGw9bmV3IERheVBpbG90LkRhdGUoZS52YWx1ZSkudG9TdHJpbmcoZS5kYXRhLmRhdGVGb3JtYXR8fG4ucGF0dGVybixuLmxvY2FsZSk7YS52YWx1ZT1sfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7YS5uYW1lPWUuZmllbGQ7dmFyIG49bmV3IERheVBpbG90LkRhdGVQaWNrZXIoe3RhcmdldDphLHRoZW1lOlwibmF2aWdhdG9yX21vZGFsXCIsekluZGV4OnQuekluZGV4KzEscmVzZXRUYXJnZXQ6ITEsdGFyZ2V0QWxpZ25tZW50OlwibGVmdFwiLG9uVGltZVJhbmdlU2VsZWN0OmZ1bmN0aW9uKGUpe2kub25JbnB1dCh7XCJpbW1lZGlhdGVcIjohMH0pfX0pO3JldHVybiBhLnBpY2tlcj1uLGEuY2xhc3NOYW1lPXQudGhlbWUrXCJfaW5wdXRfZGF0ZVwiLGEudHlwZT1cInRleHRcIixhLm9ua2V5ZG93bj1mdW5jdGlvbihlKXt2YXIgaT0hMTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDEzOm4udmlzaWJsZT9uLmNsb3NlKCk6dC5kb09uS2V5KFwiRW50ZXJcIik7YnJlYWs7Y2FzZSAyNzpuLnZpc2libGU/bi5jbG9zZSgpOnQuZG9PbktleShcIkVzY2FwZVwiKTticmVhaztjYXNlIDk6bi5jbG9zZSgpLGk9ITA7YnJlYWs7ZGVmYXVsdDppPSEwfWl8fChlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9LGEub25mb2N1cz1mdW5jdGlvbigpe24uc2hvdygpfSxhLm9uY2xpY2s9ZnVuY3Rpb24oKXtuLnNob3coKX0sYS5vbmlucHV0PWZ1bmN0aW9uKGUpe2kub25JbnB1dCgpfSxhLm9uYmx1cj1mdW5jdGlvbihlKXtpLm9uQmx1cigpfSxpLmVsZW1lbnQ9YSxpLnBpY2tlcj1uLGkuY2FuRm9jdXM9ZnVuY3Rpb24oKXtyZXR1cm4haS5lbGVtZW50LmRpc2FibGVkfSxpLmZvY3VzPWZ1bmN0aW9uKCl7aS5lbGVtZW50LmZvY3VzKCl9LGkuc2F2ZT1mdW5jdGlvbigpe3ZhciB0PW4uZGF0ZT9uLmRhdGUudG9TdHJpbmcoKTpudWxsLGk9e307cmV0dXJuIGlbZS5maWVsZF09dCxpfSxpfSxcInNlbGVjdFwiOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGQ7dC5hcHBseT1mdW5jdGlvbihlKXt0LnJvdz1lO3ZhciBpPXQuZWxlbWVudDtpLnZhbHVlPWUudmFsdWUsaS5kaXNhYmxlZD0hZS5lbmFibGVkfTt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2VsZWN0XCIpO3JldHVybiBpLm5hbWU9ZS5maWVsZCxlLmRhdGEub3B0aW9ucyYmZS5kYXRhLm9wdGlvbnMuZm9yRWFjaCYmZS5kYXRhLm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIpO3QuaW5uZXJUZXh0PWUubmFtZXx8ZS5pZCx0LnZhbHVlPWUuaWQsdC5LPWUuaWQsaS5hcHBlbmRDaGlsZCh0KX0pLGkub25jaGFuZ2U9ZnVuY3Rpb24oZSl7dC5vbklucHV0KHtcImltbWVkaWF0ZVwiOiEwfSl9LGkub25ibHVyPWZ1bmN0aW9uKGUpe3Qub25CbHVyKCl9LHQuZWxlbWVudD1pLHQuY2FuRm9jdXM9ZnVuY3Rpb24oKXtyZXR1cm4hdC5lbGVtZW50LmRpc2FibGVkfSx0LmZvY3VzPWZ1bmN0aW9uKCl7dC5lbGVtZW50LmZvY3VzKCl9LHQuc2F2ZT1mdW5jdGlvbigpe3ZhciB0PW51bGwsYT1pLm9wdGlvbnNbaS5zZWxlY3RlZEluZGV4XTthJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgYS5LJiYodD1hLkspO3ZhciBuPXt9O3JldHVybiBuW2UuZmllbGRdPXQsbn0sdH0sXCJzZWFyY2hhYmxlXCI6ZnVuY3Rpb24oKXt2YXIgaT1uZXcgZDtpLmFwcGx5PWZ1bmN0aW9uKGUpe2kucm93PWU7dmFyIHQ9aS5zZWFyY2hhYmxlO3QuZGlzYWJsZWQ9IWUuZW5hYmxlZCx0LnNlbGVjdChlLnZhbHVlKX07dmFyIGE9bmV3IHIoe2RhdGE6ZS5kYXRhLm9wdGlvbnN8fFtdLG5hbWU6ZS5maWVsZCx0aGVtZTp0LnRoZW1lK1wiX2Zvcm1faXRlbV9zZWFyY2hhYmxlXCIsbGlzdFpJbmRleDp0LnpJbmRleCsxLG9uU2VsZWN0OmZ1bmN0aW9uKGUpe2UudWkmJmkub25JbnB1dCh7XCJpbW1lZGlhdGVcIjohMH0pfX0pLG49YS5jcmVhdGUoKTtyZXR1cm4gaS5lbGVtZW50PW4saS5zZWFyY2hhYmxlPWEsaS5jYW5Gb2N1cz1mdW5jdGlvbigpe3JldHVybiFpLnNlYXJjaGFibGUuZGlzYWJsZWR9LGkuZm9jdXM9ZnVuY3Rpb24oKXtpLnNlYXJjaGFibGUuZm9jdXMoKX0saS5zYXZlPWZ1bmN0aW9uKCl7dmFyIHQ9YS5zZWxlY3RlZCYmYS5zZWxlY3RlZC5pZCxpPXt9O3JldHVybiBpW2UuZmllbGRdPXQsaX0saX0sXCJyYWRpb1wiOmZ1bmN0aW9uKCl7dmFyIGk9bmV3IGQ7aS5hcHBseT1mdW5jdGlvbihlKXtpLnJvdz1lO3ZhciB0PWkucmFkaW87dC5jaGVja2VkPWUuY2hlY2tlZCx0LmRpc2FibGVkPSFlLmVuYWJsZWR9O3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiKSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtuLnR5cGU9XCJyYWRpb1wiLG4ubmFtZT1lLmZpZWxkLG4uSz1lLnJlc29sdmVkLG4ub25jaGFuZ2U9ZnVuY3Rpb24oZSl7dmFyIGE9aS5yb3c7dC5maW5kUm93c0J5RmllbGQoYS5maWVsZCkuZm9yRWFjaChmdW5jdGlvbihlKXt0LnVwZGF0ZVN0YXRlKGUse2NoZWNrZWQ6ITF9KX0pLHQudXBkYXRlU3RhdGUoYSx7Y2hlY2tlZDohMH0pLHQuYXBwbHlTdGF0ZSgpLGkub25JbnB1dCh7XCJpbW1lZGlhdGVcIjohMH0pfSxuLm9uYmx1cj1mdW5jdGlvbihlKXtpLm9uQmx1cigpfSxhLmFwcGVuZENoaWxkKG4pO3ZhciBvPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUudGV4dCk7cmV0dXJuIGEuYXBwZW5kKG8pLGkuZWxlbWVudD1hLGkucmFkaW89bixpLmNhbkZvY3VzPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGkuZm9jdXM9ZnVuY3Rpb24oKXtpLnJhZGlvLmZvY3VzKCl9LGkuc2F2ZT1mdW5jdGlvbigpe2lmKCFuLmNoZWNrZWQpcmV0dXJue307dmFyIHQ9bi5LLGk9e307cmV0dXJuIGlbZS5maWVsZF09dCxpfSxpfSxcImNoZWNrYm94XCI6ZnVuY3Rpb24oKXt2YXIgaT1uZXcgZDtpLmFwcGx5PWZ1bmN0aW9uKGUpe2kucm93PWU7dmFyIHQ9aS5jaGVja2JveDt0LmNoZWNrZWQ9ZS5jaGVja2VkLHQuZGlzYWJsZWQ9IWUuZW5hYmxlZH07dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxhYmVsXCIpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO24udHlwZT1cImNoZWNrYm94XCIsbi5uYW1lPWUuZmllbGQsbi5LPWUucmVzb2x2ZWQsbi5vbmNoYW5nZT1mdW5jdGlvbihlKXt2YXIgYT1pLnJvdzt0LnVwZGF0ZVN0YXRlKGEse2NoZWNrZWQ6dGhpcy5jaGVja2VkfSksdC5hcHBseVN0YXRlKCksaS5vbklucHV0KHtcImltbWVkaWF0ZVwiOiEwfSl9LG4ub25ibHVyPWZ1bmN0aW9uKGUpe2kub25CbHVyKCl9LGEuYXBwZW5kQ2hpbGQobik7dmFyIG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZS50ZXh0KTtyZXR1cm4gYS5hcHBlbmQobyksaS5lbGVtZW50PWEsaS5jaGVja2JveD1uLGkuY2FuRm9jdXM9ZnVuY3Rpb24oKXtyZXR1cm4hMX0saS5mb2N1cz1mdW5jdGlvbigpe2kuY2hlY2tib3guZm9jdXMoKX0saS5zYXZlPWZ1bmN0aW9uKCl7dmFyIHQ9bi5jaGVja2VkLGk9e307cmV0dXJuIGlbZS5maWVsZF09dCxpfSxpfSxcInRhYmxlXCI6ZnVuY3Rpb24oKXt2YXIgaT1uZXcgZDtpLmFwcGx5PWZ1bmN0aW9uKGUpe2kucm93PWU7dmFyIHQ9aS50YWJsZTt0LmRpc2FibGVkPSFlLmVuYWJsZWQsdC5sb2FkKGUudmFsdWV8fFtdKX07dmFyIGE9bmV3IHMoe25hbWU6ZS5maWVsZCxmb3JtOnQsdGhlbWU6dC50aGVtZStcIl9mb3JtX2l0ZW1fdGFidWxhclwiLGl0ZW06ZS5kYXRhLG9uSW5wdXQ6ZnVuY3Rpb24oZSl7aS5vbklucHV0KCl9fSksbj1hLmNyZWF0ZSgpO3JldHVybiBpLmVsZW1lbnQ9bixpLnRhYmxlPWEsaS5jYW5Gb2N1cz1mdW5jdGlvbigpe3JldHVybiExfSxpLmZvY3VzPWZ1bmN0aW9uKCl7aS50YWJsZS5mb2N1cygpfSxpLnNhdmU9ZnVuY3Rpb24oKXt2YXIgdD1hLnNhdmUoKSxpPXt9O3JldHVybiBpW2UuZmllbGRdPXQsaX0saX19O3JldHVybiB0LnBsdWdpbnMmJnQucGx1Z2luc1tlLnR5cGVdP3QucGx1Z2luc1tlLnR5cGVdKGUpOmlbZS50eXBlXSgpfSxvLnByb3RvdHlwZS5maW5kUm93c0J5RmllbGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuRC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuZmllbGQ9PT1lfSl9LG8ucHJvdG90eXBlLmZpbmRWaWV3QnlJZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLkcuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5yb3cuZmllbGQ9PT1lJiYoXCJyYWRpb1wiIT09aS5yb3cudHlwZXx8aS5yb3cucmVzb2x2ZWQ9PT10KX0pfSxvLnByb3RvdHlwZS5maXJzdEZvY3VzYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkcuZmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS5jYW5Gb2N1cyYmZS5jYW5Gb2N1cygpfSl9LG8ucHJvdG90eXBlLnVwZGF0ZVN0YXRlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5FP3RoaXMuRTp0aGlzLkQsYT1pLmluZGV4T2YoZSk7cmV0dXJuIHRoaXMuRT1pLm1hcChmdW5jdGlvbihpKXtpZihpIT09ZSlyZXR1cm4gaTtpZihlLnByb3BzRXF1YWwodCkpcmV0dXJuIGU7dmFyIGE9ZS5jbG9uZSgpO2Zvcih2YXIgbiBpbiB0KWFbbl09dFtuXTtyZXR1cm4gYX0pLHRoaXMuRVthXX0sby5wcm90b3R5cGUudXBkYXRlSW50ZXJhY3RpdmU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5FLmluZGV4T2YoZSk7dGhpcy5HW3RdLmFwcGx5KGUpfSxvLnByb3RvdHlwZS5hcHBseVN0YXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLnVwZGF0ZURlcGVuZGVudFN0YXRlKCksdGhpcy5FKXt0aGlzLkUuZmlsdGVyKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUuRFtpXSE9PXR9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UudXBkYXRlSW50ZXJhY3RpdmUodCl9KSx0aGlzLkQ9dGhpcy5FLHRoaXMuRT1udWxsfX0sby5wcm90b3R5cGUuZ2V0RmllbGRUeXBlPWZ1bmN0aW9uKGUpe3JldHVybltcInRleHRcIixcImRhdGVcIixcInNlbGVjdFwiLFwic2VhcmNoYWJsZVwiLFwicmFkaW9cIixcImNoZWNrYm94XCIsXCJ0YWJsZVwiLFwidGl0bGVcIixcImltYWdlXCIsXCJodG1sXCIsXCJ0ZXh0YXJlYVwiLFwic2Nyb2xsYWJsZVwiXS5pbmRleE9mKGUudHlwZSkhPT0tMT9lLnR5cGU6ZS50eXBlJiZ0aGlzLnBsdWdpbnMmJnRoaXMucGx1Z2luc1tlLnR5cGVdP2UudHlwZTplLmltYWdlP1wiaW1hZ2VcIjplLmh0bWx8fGUudGV4dD9cImh0bWxcIjplLmlkP2Uub3B0aW9ucz9cInNlYXJjaGFibGVcIjplLmRhdGVGb3JtYXQ/XCJkYXRlXCI6ZS5jb2x1bW5zP1widGFibGVcIjpcInRleHRcIjpcInRpdGxlXCJ9LG8ucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiB0aGlzLkcuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgaT10LnNhdmUoKTtmb3IodmFyIGEgaW4gaSllW2FdPWlbYV19KSxlfTt2YXIgbD1mdW5jdGlvbigpe3RoaXMuaWQ9dGhpcy5ndWlkKCksdGhpcy5maWVsZD1udWxsLHRoaXMuZGF0YT1udWxsLHRoaXMudHlwZT1udWxsLHRoaXMubGV2ZWw9MCx0aGlzLmVuYWJsZWQ9ITAsdGhpcy52YWx1ZT1udWxsLHRoaXMudGV4dD1udWxsLHRoaXMuaW50ZXJhY3RpdmU9ITAsdGhpcy5pc1ZhbHVlPSExLHRoaXMuY2hlY2tlZD0hMSx0aGlzLnJlc29sdmVkPW51bGx9O2wucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IGw7Zm9yKHZhciB0IGluIHRoaXMpXCJpZFwiIT09dCYmKGVbdF09dGhpc1t0XSk7cmV0dXJuIGV9LGwucHJvdG90eXBlLnByb3BzRXF1YWw9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpaWYodGhpc1t0XSE9PWVbdF0pcmV0dXJuITE7cmV0dXJuITB9LGwucHJvdG90eXBlLmd1aWQ9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybig2NTUzNiooMStNYXRoLnJhbmRvbSgpKXwwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpfTtyZXR1cm5cIlwiK2UoKStlKCkrXCItXCIrZSgpK1wiLVwiK2UoKStcIi1cIitlKCkrXCItXCIrZSgpK2UoKStlKCl9LGwucHJvdG90eXBlLmFwcGx5VmFsdWU9ZnVuY3Rpb24oZSx0KXt0aGlzLmZpZWxkPT09ZSYmKHRoaXMudmFsdWU9dCx0aGlzLmlzVmFsdWUmJnQ9PT10aGlzLnJlc29sdmVkJiYodGhpcy5jaGVja2VkPSEwKSl9O3ZhciBkPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50PW51bGwsdGhpcy5jYW5Gb2N1cz1mdW5jdGlvbigpe3JldHVybiExfSx0aGlzLmFwcGx5PWZ1bmN0aW9uKGUpe30sdGhpcy5mb2N1cz1mdW5jdGlvbigpe30sdGhpcy5zYXZlPWZ1bmN0aW9uKCl7cmV0dXJue319fSxyPWZ1bmN0aW9uKGUpe3RoaXMuZGF0YT1bXSx0aGlzLm5hbWU9bnVsbCx0aGlzLnRoZW1lPVwic2VhcmNoYWJsZV9kZWZhdWx0XCIsdGhpcy5MPSExLHRoaXMubGlzdFpJbmRleD0xZTUsdGhpcy5vblNlbGVjdD1udWxsLHRoaXMuTT1udWxsLHRoaXMuTj1udWxsLHRoaXMuTz0hMSx0aGlzLlA9bnVsbCx0aGlzLlE9bnVsbCx0aGlzLlI9W10sdGhpcy5TPW51bGwsZT1lfHx7fTt2YXIgdD10aGlzLGk9e1wic2VsZWN0ZWRcIjp7cG9zdDpmdW5jdGlvbihlKXtcIm9iamVjdFwiPT10eXBlb2YgZSYmZS5pZD90Lk09ZTpcInN0cmluZ1wiIT10eXBlb2YgZSYmXCJudW1iZXJcIiE9dHlwZW9mIGV8fHQuc2VsZWN0KGUpfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwic2VsZWN0ZWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcImRpc2FibGVkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLkx9LHNldDpmdW5jdGlvbihlKXt0aGlzLkw9ZSx0aGlzLlAmJih0aGlzLlAuZGlzYWJsZWQ9ZSxlJiZ0aGlzLlQoKSl9fSk7Zm9yKHZhciBhIGluIGUpaVthXXx8KHRoaXNbYV09ZVthXSk7Zm9yKHZhciBhIGluIGUpaVthXSYmaVthXS5wb3N0KGVbYV0pfTtyLnByb3RvdHlwZS5zZWxlY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuTT10aGlzLmRhdGEuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PWV9KSx0aGlzLlUoITEpLHRoaXN9LHIucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXttLnN0eWxlLmRpc3BsYXk9XCJcIixtLnN0eWxlLnRvcD1wLm9mZnNldEhlaWdodCtcInB4XCIsbS5zdHlsZS5sZWZ0PVwiMHB4XCIsbS5zdHlsZS53aWR0aD1wLm9mZnNldFdpZHRoK1wicHhcIixtLmlubmVySFRNTD1cIlwiLG0uYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pLHIuTj1udWxsLHIuUj1bXTt2YXIgZT1udWxsO3IuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBuPWkubmFtZXx8aS5pZDtpZihuLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihwLnZhbHVlLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7by5jbGFzc05hbWU9ci50aGVtZStcIl9saXN0X2l0ZW1cIixvLmlubmVyVGV4dD1uLG8uaXRlbT1pLGk9PT1yLk0mJihyLk49byksZXx8KGU9byksby5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsZnVuY3Rpb24oZSl7YShvKSxlLnByZXZlbnREZWZhdWx0KCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIixmdW5jdGlvbihlKXtyLk4hPT1vJiYoci5OPW8sdCh7ZG9udFNjcm9sbDohMH0pKX0pLG0uYXBwZW5kQ2hpbGQobyksci5SLnB1c2gobyl9fSksci5OfHwoci5OPWUpLHQoKX1mdW5jdGlvbiB0KGUpe2U9ZXx8e307dmFyIHQ9IWUuZG9udFNjcm9sbDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLlwiK3IudGhlbWUrXCJfbGlzdF9pdGVtX2hpZ2hsaWdodFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3NOYW1lPWUuY2xhc3NOYW1lLnJlcGxhY2Uoci50aGVtZStcIl9saXN0X2l0ZW1faGlnaGxpZ2h0XCIsXCJcIil9KSxyLk4mJihyLk4uY2xhc3NOYW1lKz1cIiBcIityLnRoZW1lK1wiX2xpc3RfaXRlbV9oaWdobGlnaHRcIix0JiYhaShyLk4sbSkmJnIuTi5zY3JvbGxJbnRvVmlldygpKX1mdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkudG9wPj1hLnRvcCYmaS5ib3R0b208PWEuYm90dG9tfWZ1bmN0aW9uIGEoZSl7dmFyIHQ9ZS5pdGVtO3IuTT10LHIuVSghMCksbygpLGwoKX1mdW5jdGlvbiBuKCl7ci5UKCl9ZnVuY3Rpb24gbygpe3IuVigpfWZ1bmN0aW9uIGwoKXtyLk89ITAscC5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLFwicmVhZG9ubHlcIikscC5mb2N1cygpfWZ1bmN0aW9uIGQoKXtyLk89ITEscC5yZW1vdmVBdHRyaWJ1dGUoXCJyZWFkb25seVwiKSxwLnZhbHVlPVwiXCIsZSgpfXZhciByPXRoaXMscz10aGlzLGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtjLmNsYXNzTmFtZT10aGlzLnRoZW1lK1wiX21haW5cIixjLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIjt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3UuY2xhc3NOYW1lPXRoaXMudGhlbWUrXCJfaWNvblwiLHUuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHUuc3R5bGUucmlnaHQ9XCIwXCIsdS5zdHlsZS50b3A9XCIwXCIsdS5zdHlsZS5ib3R0b209XCIwXCIsdS5zdHlsZS53aWR0aD1cIjIwcHhcIix1LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksci5PPyhyLmZvY3VzKCksZCgpKToobigpLGwoKSl9KTt2YXIgbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO20uY2xhc3NOYW1lPXRoaXMudGhlbWUrXCJfbGlzdFwiLG0uc3R5bGUuZGlzcGxheT1cIm5vbmVcIixtLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixtLnN0eWxlLnpJbmRleD10aGlzLmxpc3RaSW5kZXg7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO2gudHlwZT1cImhpZGRlblwiLGgubmFtZT10aGlzLm5hbWUsaC5zZWFyY2hhYmxlPXMsdGhpcy5TPWg7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO3JldHVybiBwLnR5cGU9XCJ0ZXh0XCIscC5jbGFzc05hbWU9dGhpcy50aGVtZStcIl9pbnB1dFwiLHAuZGlzYWJsZWQ9dGhpcy5MLHAuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oZSl7ZCgpfSkscC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNcIixmdW5jdGlvbih0KXtwLnZhbHVlPVwiXCIsZSgpfSkscC5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIixmdW5jdGlvbih0KXtlKCl9KSxwLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsZnVuY3Rpb24oZSl7cC5yZW1vdmVBdHRyaWJ1dGUoXCJyZWFkb25seVwiKSxuKCl9KSxwLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsZnVuY3Rpb24oZSl7aWYoci5PKXtpZihcIkVudGVyXCI9PT1lLmtleSlyZXR1cm47aWYoXCJFc2NcIj09PWUua2V5fHxcIkVzY2FwZVwiPT09ZS5rZXkpcmV0dXJuO2QoKX1pZihcIkFycm93RG93blwiPT09ZS5rZXkpe3ZhciBpPXMuUi5pbmRleE9mKHMuTik7aSsxPHMuUi5sZW5ndGgmJihzLk49cy5SW2krMV0pLHQoKX1lbHNlIGlmKFwiQXJyb3dVcFwiPT09ZS5rZXkpe3ZhciBpPXMuUi5pbmRleE9mKHMuTik7aS0xPj0wJiYocy5OPXMuUltpLTFdKSx0KCl9ZWxzZVwiRW50ZXJcIj09PWUua2V5P3IuTj8oZS5zdG9wUHJvcGFnYXRpb24oKSxhKHIuTikpOihlLnN0b3BQcm9wYWdhdGlvbigpLG4oKSxsKCkpOlwiRXNjXCIhPT1lLmtleSYmXCJFc2NhcGVcIiE9PWUua2V5fHwoZS5zdG9wUHJvcGFnYXRpb24oKSxuKCksbCgpKX0pLHRoaXMuUD1wLHRoaXMuUT1tLHRoaXMuTXx8KHRoaXMuTT10aGlzLmRhdGFbMF0sdGhpcy5NJiYocC52YWx1ZT10aGlzLk0ubmFtZSkpLGMuYXBwZW5kQ2hpbGQocCksYy5hcHBlbmRDaGlsZCh1KSxjLmFwcGVuZENoaWxkKGgpLGMuYXBwZW5kQ2hpbGQobSksY30sci5wcm90b3R5cGUuVD1mdW5jdGlvbigpe3RoaXMuVigpLHRoaXMuTT90aGlzLlAudmFsdWU9dGhpcy5NLm5hbWU6KHRoaXMuUC52YWx1ZT1cIlwiLHRoaXMuVSghMCkpfSxyLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbigpe3RoaXMuTz0hMCx0aGlzLlAuc2V0QXR0cmlidXRlKFwicmVhZG9ubHlcIixcInJlYWRvbmx5XCIpLHRoaXMuUC5mb2N1cygpLHRoaXMuVCgpfSxyLnByb3RvdHlwZS5WPWZ1bmN0aW9uKCl7dGhpcy5RLnN0eWxlLmRpc3BsYXk9XCJub25lXCJ9LHIucHJvdG90eXBlLlU9ZnVuY3Rpb24oZSl7aWYodGhpcy5TLnZhbHVlPXRoaXMuc2VsZWN0ZWQ/dGhpcy5zZWxlY3RlZC5pZDpudWxsLHRoaXMuTT90aGlzLlAudmFsdWU9dGhpcy5NLm5hbWU6dGhpcy5QLnZhbHVlPVwiXCIsXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5vblNlbGVjdCl7dmFyIHQ9e2NvbnRyb2w6dGhpcyx1aTplfTt0aGlzLm9uU2VsZWN0KHQpfX07dmFyIHM9ZnVuY3Rpb24oZSl7dGhpcy5mb3JtPW51bGwsdGhpcy5pdGVtPW51bGwsdGhpcy5kYXRhPW51bGwsdGhpcy5uYW1lPW51bGwsdGhpcy50aGVtZT1cImVkaXRfdGFibGVfZGVmYXVsdFwiLHRoaXMub25JbnB1dD1udWxsLHRoaXMubmF2PXt9LHRoaXMuVz1udWxsLHRoaXMuRD1bXSxlPWV8fHt9O2Zvcih2YXIgdCBpbiBlKXRoaXNbdF09ZVt0XX07cy5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5jbGFzc05hbWU9dGhpcy50aGVtZStcIl9tYWluXCIsdC5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCI7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO2kudHlwZT1cImhpZGRlblwiLGkubmFtZT1lLm5hbWUsaS50YWJsZT10aGlzLHQuYXBwZW5kQ2hpbGQoaSk7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTthLmNsYXNzTmFtZT10aGlzLnRoZW1lK1wiX3RhYmxlXCI7dmFyIG49dGhpcy5YKCk7YS5hcHBlbmRDaGlsZChuKTt2YXIgbz1lLlkoe30pO28uc3BhY2VyPSEwO3ZhciBsPXRoaXMuWihvKTtsLmNsYXNzTGlzdC5hZGQoZS50aGVtZStcIl9zcGFjZXJcIiksYS5hcHBlbmRDaGlsZChsKTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2QuY2xhc3NOYW1lPWUudGhlbWUrXCJfdGJvZHlcIixhLmFwcGVuZENoaWxkKGQpLHQuYXBwZW5kQ2hpbGQoYSk7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0LmFwcGVuZENoaWxkKHIpLHRoaXMubmF2LmJvZHk9ZCx0aGlzLm5hdi50YWJsZT1hLHRoaXMubmF2Lm1haW49dCx0aGlzLm5hdi5hZnRlcj1yO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtyZXR1cm4gYy5jbGFzc05hbWU9dGhpcy50aGVtZStcIl9wbHVzXCIsYy5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixmdW5jdGlvbih0KXtpZighZS5kaXNhYmxlZCl7dmFyIGk9ZS5pdGVtLm9uTmV3Um93LGE9e307aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgaSl7dmFyIG49e307bi5yZXN1bHQ9ZS5mb3JtLnNlcmlhbGl6ZSgpLG4udmFsdWU9e30saShuKSxhPW4udmFsdWV9dmFyIG89ZS5ZKGEpO2UuRC5wdXNoKG8pLGUuJCgpLGUuXygpfX0pLHRoaXMubmF2LnBsdXM9YyxzLmFwcGVuZENoaWxkKGMpLHQuYXBwZW5kQ2hpbGQocyksdH0scy5wcm90b3R5cGUuWD1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3JldHVybiB0LmNsYXNzTGlzdC5hZGQodGhpcy50aGVtZStcIl9yb3dcIiksdC5jbGFzc0xpc3QuYWRkKHRoaXMudGhlbWUrXCJfaGVhZGVyXCIpLHRoaXMuaXRlbS5jb2x1bW5zLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTthLmNsYXNzTGlzdC5hZGQoZS50aGVtZStcIl9jZWxsXCIpLGEuaW5uZXJUZXh0PWkubmFtZSx0LmFwcGVuZENoaWxkKGEpfSksdH0scy5wcm90b3R5cGUuYWE9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLml0ZW0ubWF4fHwwO3JldHVybiEhKGUmJnRoaXMuRC5sZW5ndGg+PWUpfSxzLnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PVtdO3JldHVybiBlLkQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgaT17fTtlLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oZSl7aVtlLmlkXT1lLnZhbHVlfSksdC5wdXNoKGkpfSksdH0scy5wcm90b3R5cGUubG9hZD1mdW5jdGlvbihlKXtpZihcIltvYmplY3QgQXJyYXldXCIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpdGhyb3cgbmV3IEVycm9yKFwiQXJyYXkgZXhwZWN0ZWRcIik7dGhpcy5kYXRhPWUsdGhpcy5iYSgpLHRoaXMuJCgpfSxzLnByb3RvdHlwZS5jYT1mdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ/dGhpcy5uYXYubWFpbi5jbGFzc0xpc3QuYWRkKHRoaXMudGhlbWUrXCJfZGlzYWJsZWRcIik6dGhpcy5uYXYubWFpbi5jbGFzc0xpc3QucmVtb3ZlKHRoaXMudGhlbWUrXCJfZGlzYWJsZWRcIiksdGhpcy5hYSgpP3RoaXMubmF2LnBsdXMuY2xhc3NMaXN0LmFkZCh0aGlzLnRoZW1lK1wiX3BsdXNfbWF4XCIpOnRoaXMubmF2LnBsdXMuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnRoZW1lK1wiX3BsdXNfbWF4XCIpfSxzLnByb3RvdHlwZS5iYT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5EPVtdLHRoaXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPWUuWSh0KTtlLkQucHVzaChpKX0pfSxzLnByb3RvdHlwZS5kYT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9dC5ELmluZGV4T2YoZSk7dC5ELnNwbGljZShpLDEpfSxzLnByb3RvdHlwZS5ZPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsaT17fTtyZXR1cm4gaS5kYXRhPWUsaS5jZWxscz1bXSx0Lml0ZW0uY29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBuPWEuaWQsbz1lW25dLGw9dC5lYShhKTtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgbylpZihcInRleHRcIj09PWwpbz1cIlwiO2Vsc2UgaWYoXCJudW1iZXJcIj09PWwpbz0wO2Vsc2UgaWYoXCJzZWxlY3RcIj09PWwpe3ZhciBkPWEub3B0aW9ucztvPWQmJmRbMF0uaWR9dmFyIHI9e307ci5pZD1uLHIudmFsdWU9byxyLnR5cGU9bCxyLmRhdGE9YSxpLmNlbGxzLnB1c2gocil9KSxpfSxzLnByb3RvdHlwZS5lYT1mdW5jdGlvbihlKXt2YXIgdD1lLnR5cGU7cmV0dXJuIHR8fCh0PWUub3B0aW9ucz9cInNlbGVjdFwiOlwidGV4dFwiKSx0fSxzLnByb3RvdHlwZS4kPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLm5hdi5ib2R5LmlubmVySFRNTD1cIlwiLHRoaXMubmF2LmFmdGVyLmlubmVySFRNTD1cIlwiLHRoaXMuRC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPWUuWih0KTtlLm5hdi5ib2R5LmFwcGVuZENoaWxkKGkpfSksMD09PXRoaXMuRC5sZW5ndGgpe3ZhciB0PWUuZmEoKTtlLm5hdi5hZnRlci5hcHBlbmRDaGlsZCh0KX10aGlzLmNhKCl9LHMucHJvdG90eXBlLmZhPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtyZXR1cm4gZS5jbGFzc05hbWU9dGhpcy50aGVtZStcIl9lbXB0eVwiLGV9LHMucHJvdG90eXBlLlo9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7aS5jbGFzc05hbWU9dC50aGVtZStcIl9yb3dcIixlLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtuLmNsYXNzTmFtZT10LnRoZW1lK1wiX2NlbGxcIjt2YXIgbz10LmdhKGEpO2lmKGUuc3BhY2VyKXt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2wuc3R5bGUuaGVpZ2h0PVwiMHB4XCIsbC5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiLGwuYXBwZW5kQ2hpbGQobyksbi5hcHBlbmRDaGlsZChsKX1lbHNlIG4uYXBwZW5kQ2hpbGQobyk7aS5hcHBlbmRDaGlsZChuKX0pO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7YS5jbGFzc0xpc3QuYWRkKHQudGhlbWUrXCJfY2VsbFwiKSxhLmNsYXNzTGlzdC5hZGQodC50aGVtZStcIl9yb3dhY3Rpb25cIik7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7cmV0dXJuIG4uY2xhc3NOYW1lPXRoaXMudGhlbWUrXCJfZGVsZXRlXCIsbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixmdW5jdGlvbihpKXt0LmRpc2FibGVkfHwodC5kYShlKSx0LiQoKSx0Ll8oKSl9KSxlLnNwYWNlcnx8YS5hcHBlbmRDaGlsZChuKSxpLmFwcGVuZENoaWxkKGEpLGl9LHMucHJvdG90eXBlLl89ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub25JbnB1dCl7dmFyIHQ9e307ZS5vbklucHV0KHQpfX0scy5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPWUudHlwZTtpZihcInRleHRcIj09PWl8fFwibnVtYmVyXCI9PT1pKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7cmV0dXJuIGEudHlwZT1pLHQuZGlzYWJsZWQmJihhLmRpc2FibGVkPSEwKSxlLnZhbHVlJiYoYS52YWx1ZT1lLnZhbHVlKSxhLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLGZ1bmN0aW9uKGEpe1wibnVtYmVyXCI9PT1pP2UudmFsdWU9TnVtYmVyKHRoaXMudmFsdWUpOmUudmFsdWU9dGhpcy52YWx1ZSx0Ll8oKX0pLGF9aWYoXCJzZWxlY3RcIj09PWkpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIik7cmV0dXJuIHQuZGlzYWJsZWQmJihuLmRpc2FibGVkPSEwKSxlLmRhdGEub3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIik7aS5pbm5lclRleHQ9dC5uYW1lLGkudmFsdWU9dC5pZCxpLks9dC5pZCxuLmFwcGVuZENoaWxkKGkpLGUudmFsdWU9PT10LmlkJiZpLnNldEF0dHJpYnV0ZShcInNlbGVjdGVkXCIsITApfSksbi5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsZnVuY3Rpb24oaSl7dmFyIGE9bi5vcHRpb25zW24uc2VsZWN0ZWRJbmRleF07YSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGEuSyYmKGUudmFsdWU9YS5LKSx0Ll8oKX0pLG59dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgaXRlbSB0eXBlOiBcIitpKX0scy5wcm90b3R5cGUuZm9jdXM9ZnVuY3Rpb24oKXt9fX0oRGF5UGlsb3QpO2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBEYXlQaWxvdCl2YXIgRGF5UGlsb3Q9e307XCJ1bmRlZmluZWRcIj09dHlwZW9mIERheVBpbG90Lkdsb2JhbCYmKERheVBpbG90Lkdsb2JhbD17fSksZnVuY3Rpb24oKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuTW9udGh8fCFEYXlQaWxvdC5Nb250aC5ldmVudHMpe3ZhciB0PXt9O3QuTW9udGg9ZnVuY3Rpb24oZSxpKXt0aGlzLnY9XCIyMDIxLjQuMzM4LWxpdGVcIix0aGlzLm5hdj17fTt2YXIgbj10aGlzO3RoaXMuaWQ9ZSx0aGlzLmlzTW9udGg9ITAsdGhpcy5hcGk9Mix0aGlzLmJhY2tlbmRVcmw9bnVsbCx0aGlzLmNlbGxIZWFkZXJIZWlnaHQ9MjQsdGhpcy5jZWxsSGVpZ2h0PTEwMCx0aGlzLmNzc0NsYXNzUHJlZml4PVwibW9udGhfZGVmYXVsdFwiLHRoaXMuZXZlbnRIZWlnaHQ9MzAsdGhpcy5ldmVudHNMb2FkTWV0aG9kPVwiR0VUXCIsdGhpcy5hPSEwLHRoaXMuaGVhZGVySGVpZ2h0PTMwLHRoaXMuaGlkZVVudGlsSW5pdD0hMCx0aGlzLmxpbmVTcGFjZT0xLHRoaXMubG9jYWxlPVwiZW4tdXNcIix0aGlzLnNob3dUb29sVGlwPSEwLHRoaXMuc3RhcnREYXRlPW5ldyBEYXlQaWxvdC5EYXRlLHRoaXMudGhlbWU9bnVsbCx0aGlzLnZpc2libGU9ITAsdGhpcy53ZWVrU3RhcnRzPTEsdGhpcy53aWR0aD1cIjEwMCVcIix0aGlzLmFmdGVyUmVuZGVyPWZ1bmN0aW9uKCl7fSx0aGlzLmV2ZW50Q2xpY2tIYW5kbGluZz1cIkVuYWJsZWRcIix0aGlzLmV2ZW50TW92ZUhhbmRsaW5nPVwiVXBkYXRlXCIsdGhpcy5ldmVudFJlc2l6ZUhhbmRsaW5nPVwiVXBkYXRlXCIsdGhpcy50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPVwiRW5hYmxlZFwiLHRoaXMub25FdmVudENsaWNrPW51bGwsdGhpcy5vbkV2ZW50Q2xpY2tlZD1udWxsLHRoaXMub25FdmVudE1vdmU9bnVsbCx0aGlzLm9uRXZlbnRNb3ZlZD1udWxsLHRoaXMub25FdmVudFJlc2l6ZT1udWxsLHRoaXMub25FdmVudFJlc2l6ZWQ9bnVsbCx0aGlzLm9uVGltZVJhbmdlU2VsZWN0PW51bGwsdGhpcy5vblRpbWVSYW5nZVNlbGVjdGVkPW51bGwsdGhpcy5jZWxsRXZlbnRzPVtdLHRoaXMuZWxlbWVudHM9e30sdGhpcy5lbGVtZW50cy5ldmVudHM9W10sdGhpcy5jYWNoZT17fSx0aGlzLmI9ZnVuY3Rpb24odCxlKXt2YXIgdD1KU09OLnBhcnNlKHQpO3JldHVybiB0LkNhbGxCYWNrUmVkaXJlY3Q/dm9pZChkb2N1bWVudC5sb2NhdGlvbi5ocmVmPXQuQ2FsbEJhY2tSZWRpcmVjdCk6XCJOb25lXCI9PT10LlVwZGF0ZVR5cGU/dm9pZCBuLmZpcmVBZnRlclJlbmRlckRldGFjaGVkKHQuQ2FsbEJhY2tEYXRhLCEwKToobi5ldmVudHMubGlzdD10LkV2ZW50cyxcIkZ1bGxcIj09PXQuVXBkYXRlVHlwZSYmKG4uc3RhcnREYXRlPXQuU3RhcnREYXRlLG4udGltZUZvcm1hdD10LlRpbWVGb3JtYXQ/dC5UaW1lRm9ybWF0Om4udGltZUZvcm1hdCxcInVuZGVmaW5lZFwiIT10eXBlb2YgdC5XZWVrU3RhcnRzJiYobi53ZWVrU3RhcnRzPXQuV2Vla1N0YXJ0cyksbi5oYXNoZXM9dC5IYXNoZXMpLG4uYygpLG4uZCgpLG4uZigpLFwiRnVsbFwiPT09dC5VcGRhdGVUeXBlJiYobi5nKCksbi5oKCkpLG4uaSgpLG4uc2hvdygpLG4uaigpLHZvaWQgbi5maXJlQWZ0ZXJSZW5kZXJEZXRhY2hlZCh0LkNhbGxCYWNrRGF0YSwhMCkpfSx0aGlzLmZpcmVBZnRlclJlbmRlckRldGFjaGVkPWZ1bmN0aW9uKHQsZSl7dmFyIGk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtuLmFmdGVyUmVuZGVyJiZuLmFmdGVyUmVuZGVyKHQsZSl9fTt3aW5kb3cuc2V0VGltZW91dChpKHQsZSksMCl9LHRoaXMubGluZUhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV2ZW50SGVpZ2h0K3RoaXMubGluZVNwYWNlfSx0aGlzLmV2ZW50cz17fSx0aGlzLmV2ZW50cy5hZGQ9ZnVuY3Rpb24odCl7dC5jYWxlbmRhcj1uLG4uZXZlbnRzLmxpc3R8fChuLmV2ZW50cy5saXN0PVtdKSxuLmV2ZW50cy5saXN0LnB1c2godC5kYXRhKSxuLnVwZGF0ZSgpLG4uay5ub3RpZnkoKX0sdGhpcy5ldmVudHMudXBkYXRlPWZ1bmN0aW9uKHQpe3QuY29tbWl0KCksbi51cGRhdGUoKSxuLmsubm90aWZ5KCl9LHRoaXMuZXZlbnRzLnJlbW92ZT1mdW5jdGlvbih0KXt2YXIgZT1EYXlQaWxvdC5pbmRleE9mKG4uZXZlbnRzLmxpc3QsdC5kYXRhKTtuLmV2ZW50cy5saXN0LnNwbGljZShlLDEpLG4udXBkYXRlKCksbi5rLm5vdGlmeSgpfSx0aGlzLmV2ZW50cy5sb2FkPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcz1mdW5jdGlvbih0KXt2YXIgZT17fTtlLmV4Y2VwdGlvbj10LmV4Y2VwdGlvbixlLnJlcXVlc3Q9dC5yZXF1ZXN0LFwiZnVuY3Rpb25cIj09dHlwZW9mIGkmJmkoZSl9LGE9ZnVuY3Rpb24odCl7dmFyIGksYT10LnJlcXVlc3Q7dHJ5e2k9SlNPTi5wYXJzZShhLnJlc3BvbnNlVGV4dCl9Y2F0Y2godCl7dmFyIGw9e307cmV0dXJuIGwuZXhjZXB0aW9uPXQsdm9pZCBzKGwpfWlmKERheVBpbG90LmlzQXJyYXkoaSkpe3ZhciBvPXt9O2lmKG8ucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxvLmRhdGE9aSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlKG8pLG8ucHJldmVudERlZmF1bHQudmFsdWUpcmV0dXJuO24uZXZlbnRzLmxpc3Q9aSxuLmwmJm4udXBkYXRlKCl9fTtpZihuLmV2ZW50c0xvYWRNZXRob2QmJlwiUE9TVFwiPT09bi5ldmVudHNMb2FkTWV0aG9kLnRvVXBwZXJDYXNlKCkpRGF5UGlsb3QuSHR0cC5hamF4KHtcIm1ldGhvZFwiOlwiUE9TVFwiLFwiZGF0YVwiOntcInN0YXJ0XCI6bi52aXNpYmxlU3RhcnQoKS50b1N0cmluZygpLFwiZW5kXCI6bi52aXNpYmxlRW5kKCkudG9TdHJpbmcoKX0sXCJ1cmxcIjp0LFwic3VjY2Vzc1wiOmEsXCJlcnJvclwiOnN9KTtlbHNle3ZhciBsPXQsbz1cInN0YXJ0PVwiK24udmlzaWJsZVN0YXJ0KCkudG9TdHJpbmcoKStcIiZlbmQ9XCIrbi52aXNpYmxlRW5kKCkudG9TdHJpbmcoKTtsKz1sLmluZGV4T2YoXCI/XCIpPi0xP1wiJlwiK286XCI/XCIrbyxEYXlQaWxvdC5IdHRwLmFqYXgoe1wibWV0aG9kXCI6XCJHRVRcIixcInVybFwiOmwsXCJzdWNjZXNzXCI6YSxcImVycm9yXCI6c30pfX0sdGhpcy51cGRhdGU9ZnVuY3Rpb24odCl7aWYodGhpcy5jZWxscyl7dGhpcy5tKCksbi5uKHQpLG4uYygpLG4uZCgpLG4uZigpLG4uZygpLG4uaCgpLG4uaSgpLG4ubygpLG4uaigpLHRoaXMudmlzaWJsZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKX19LHRoaXMucD1udWxsLHRoaXMubj1mdW5jdGlvbih0KXtpZih0KXt2YXIgZT17XCJldmVudHNcIjp7XCJwcmVJbml0XCI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRhdGE7dCYmKERheVBpbG90LmlzQXJyYXkodC5saXN0KT9uLmV2ZW50cy5saXN0PXQubGlzdDpuLmV2ZW50cy5saXN0PXQpfX19O3RoaXMucD1lO2Zvcih2YXIgaSBpbiB0KWlmKGVbaV0pe3ZhciBzPWVbaV07cy5kYXRhPXRbaV0scy5wcmVJbml0JiZzLnByZUluaXQoKX1lbHNlIG5baV09dFtpXX19LHRoaXMucT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucDtmb3IodmFyIGUgaW4gdCl7dmFyIGk9dFtlXTtpLnBvc3RJbml0JiZpLnBvc3RJbml0KCl9fSx0aGlzLnI9e30sdGhpcy5yLmV2ZW50cz1bXSx0aGlzLnM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5yLmV2ZW50cyxpPXRoaXMuZXZlbnRzLmxpc3RbdF0sbj17fTtmb3IodmFyIHMgaW4gaSluW3NdPWlbc107aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5vbkJlZm9yZUV2ZW50UmVuZGVyKXt2YXIgYT17fTthLmRhdGE9bix0aGlzLm9uQmVmb3JlRXZlbnRSZW5kZXIoYSl9ZVt0XT1ufSx0aGlzLmY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmV2ZW50cy5saXN0O2lmKHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMub25CZWZvcmVFdmVudFJlbmRlcilmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLnMoZSk7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBuPXRbaV07aWYobi5zdGFydD1uZXcgRGF5UGlsb3QuRGF0ZShuLnN0YXJ0KSxuLmVuZD1uZXcgRGF5UGlsb3QuRGF0ZShuLmVuZCksIShuLnN0YXJ0LmdldFRpbWUoKT5uLmVuZC5nZXRUaW1lKCkpKWZvcih2YXIgZT0wO2U8dGhpcy5yb3dzLmxlbmd0aDtlKyspe3ZhciBzPXRoaXMucm93c1tlXSxhPW5ldyBEYXlQaWxvdC5FdmVudChuLHRoaXMpO3MuYmVsb25nc0hlcmUoYSkmJihzLmV2ZW50cy5wdXNoKGEpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMub25CZWZvcmVFdmVudFJlbmRlciYmKGEuY2FjaGU9dGhpcy5yLmV2ZW50c1tpXSkpfX1mb3IodmFyIGw9MDtsPHRoaXMucm93cy5sZW5ndGg7bCsrKXt2YXIgcz10aGlzLnJvd3NbbF07cy5ldmVudHMuc29ydCh0aGlzLnQpO2Zvcih2YXIgbz0wO288dGhpcy5yb3dzW2xdLmV2ZW50cy5sZW5ndGg7bysrKXt2YXIgcj1zLmV2ZW50c1tvXSxoPXMuZ2V0U3RhcnRDb2x1bW4ociksZD1zLmdldFdpZHRoKHIpO3MucHV0SW50b0xpbmUocixoLGQsbCl9fX19LHRoaXMuYz1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5lbGVtZW50cy5ldmVudHMubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5lbGVtZW50cy5ldmVudHNbdF07ZS5ldmVudD1udWxsLGUuY2xpY2s9bnVsbCxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9dGhpcy5lbGVtZW50cy5ldmVudHM9W119LHRoaXMuaj1mdW5jdGlvbigpe3RoaXMudSgpfSx0aGlzLnU9ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnRzLmV2ZW50cz1bXTtmb3IodmFyIHQ9MDt0PHRoaXMucm93cy5sZW5ndGg7dCsrKWZvcih2YXIgZT10aGlzLnJvd3NbdF0saT0wO2k8ZS5saW5lcy5sZW5ndGg7aSsrKWZvcih2YXIgbj1lLmxpbmVzW2ldLHM9MDtzPG4ubGVuZ3RoO3MrKyl0aGlzLncobltzXSl9LHRoaXMudD1mdW5jdGlvbih0LGUpe2lmKCEodCYmZSYmdC5zdGFydCYmZS5zdGFydCkpcmV0dXJuIDA7dmFyIGk9dC5zdGFydCgpLmdldFRpbWUoKS1lLnN0YXJ0KCkuZ2V0VGltZSgpO3JldHVybiAwIT09aT9pOmUuZW5kKCkuZ2V0VGltZSgpLXQuZW5kKCkuZ2V0VGltZSgpfSx0aGlzLmRyYXdTaGFkb3c9ZnVuY3Rpb24oZSxpLG4scyxhLGwpe2F8fChhPTApO3ZhciBvPXM7dGhpcy5zaGFkb3c9e30sdGhpcy5zaGFkb3cubGlzdD1bXSx0aGlzLnNoYWRvdy5zdGFydD17eDplLHk6aX0sdGhpcy5zaGFkb3cud2lkdGg9czt2YXIgcj03KmkrZS1hO3I8MCYmKG8rPXIsZT0wLGk9MCk7Zm9yKHZhciBoPWE7aD49NzspaS0tLGgtPTc7aWYoaD5lKXtoPmUrKDctdGhpcy5nZXRDb2xDb3VudCgpKT8oaS0tLGU9ZSs3LWgpOihvPW8taCtlLGU9MCl9ZWxzZSBlLT1oO2k8MCYmKGk9MCxlPTApO3ZhciBkPW51bGw7Zm9yKHQucmVzaXppbmdFdmVudD9kPVwidy1yZXNpemVcIjp0Lm1vdmluZ0V2ZW50JiYoZD1cIm1vdmVcIiksdGhpcy5uYXYudG9wLnN0eWxlLmN1cnNvcj1kO28+MCYmaTx0aGlzLnJvd3MubGVuZ3RoOyl7dmFyIGM9TWF0aC5taW4odGhpcy5nZXRDb2xDb3VudCgpLWUsbyksdj10aGlzLnJvd3NbaV0sdT10aGlzLmdldFJvd1RvcChpKSxmPXYuZ2V0SGVpZ2h0KCkscD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3Auc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxwLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixwLnN0eWxlLmxlZnQ9dGhpcy5nZXRDZWxsV2lkdGgoKSplK1wiJVwiLHAuc3R5bGUud2lkdGg9dGhpcy5nZXRDZWxsV2lkdGgoKSpjK1wiJVwiLHAuc3R5bGUudG9wPXUrXCJweFwiLHAuc3R5bGUuaGVpZ2h0PWYrXCJweFwiLHAuc3R5bGUuY3Vyc29yPWQ7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtnLnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIikscC5hcHBlbmRDaGlsZChnKSxnLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixnLnN0eWxlLnRvcD1cIjBweFwiLGcuc3R5bGUucmlnaHQ9XCIwcHhcIixnLnN0eWxlLmxlZnQ9XCIwcHhcIixnLnN0eWxlLmJvdHRvbT1cIjBweFwiLGcuc3R5bGUuYmFja2dyb3VuZENvbG9yPVwiI2FhYWFhYVwiLGcuc3R5bGUub3BhY2l0eT0uNSxnLnN0eWxlLmZpbHRlcj1cImFscGhhKG9wYWNpdHk9NTApXCIsdGhpcy5uYXYudG9wLmFwcGVuZENoaWxkKHApLHRoaXMuc2hhZG93Lmxpc3QucHVzaChwKSxvLT1jKzctdGhpcy5nZXRDb2xDb3VudCgpLGU9MCxpKyt9fSx0aGlzLmNsZWFyU2hhZG93PWZ1bmN0aW9uKCl7aWYodGhpcy5zaGFkb3cpe2Zvcih2YXIgdD0wO3Q8dGhpcy5zaGFkb3cubGlzdC5sZW5ndGg7dCsrKXRoaXMubmF2LnRvcC5yZW1vdmVDaGlsZCh0aGlzLnNoYWRvdy5saXN0W3RdKTt0aGlzLnNoYWRvdz1udWxsLHRoaXMubmF2LnRvcC5zdHlsZS5jdXJzb3I9XCJcIn19LHRoaXMuZ2V0RXZlbnRUb3A9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9dGhpcy5oZWFkZXJIZWlnaHQsbj0wO248dDtuKyspaSs9dGhpcy5yb3dzW25dLmdldEhlaWdodCgpO3JldHVybiBpKz10aGlzLmNlbGxIZWFkZXJIZWlnaHQsaSs9ZSp0aGlzLmxpbmVIZWlnaHQoKX0sdGhpcy5nZXREYXRlRnJvbUNlbGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5maXJzdERhdGUuYWRkRGF5cyg3KmUrdCl9LHRoaXMudz1mdW5jdGlvbihlKXt2YXIgaT1lLmNhY2hlfHxlLmRhdGEscz1lLnBhcnQucm93LGE9ZS5wYXJ0LmxpbmUsbD1lLnBhcnQuY29sU3RhcnQsbz1lLnBhcnQuY29sV2lkdGgscj10aGlzLmdldENlbGxXaWR0aCgpKmwsaD10aGlzLmdldENlbGxXaWR0aCgpKm8sZD10aGlzLmdldEV2ZW50VG9wKHMsYSksYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxjLnN0eWxlLmhlaWdodD10aGlzLmV2ZW50SGVpZ2h0K1wicHhcIixjLmNsYXNzTmFtZT10aGlzLnooXCJfZXZlbnRcIiksaS5jc3NDbGFzcyYmRGF5UGlsb3QuVXRpbC5hZGRDbGFzcyhjLGkuY3NzQ2xhc3MpLGMuZXZlbnQ9ZSxjLnN0eWxlLndpZHRoPWgrXCIlXCIsYy5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsYy5zdHlsZS5sZWZ0PXIrXCIlXCIsYy5zdHlsZS50b3A9ZCtcInB4XCIsdGhpcy5zaG93VG9vbFRpcCYmZS5jbGllbnQudG9vbFRpcCgpJiYoYy50aXRsZT1lLmNsaWVudC50b29sVGlwKCkpLGMub25jbGljaz1uLkEsYy5vbm1vdXNlZG93bj1mdW5jdGlvbihpKXtpPWl8fHdpbmRvdy5ldmVudDt2YXIgcj1pLndoaWNofHxpLmJ1dHRvbjtpZihpLmNhbmNlbEJ1YmJsZT0hMCxpLnN0b3BQcm9wYWdhdGlvbiYmaS5zdG9wUHJvcGFnYXRpb24oKSwxPT09cilpZih0Lm1vdmluZ0V2ZW50PW51bGwsXCJ3LXJlc2l6ZVwiPT09dGhpcy5zdHlsZS5jdXJzb3J8fFwiZS1yZXNpemVcIj09PXRoaXMuc3R5bGUuY3Vyc29yKXt2YXIgaD17fTtoLnN0YXJ0PXt9LGguc3RhcnQueD1sLGguc3RhcnQueT1zLGguZXZlbnQ9Yy5ldmVudCxoLndpZHRoPURheVBpbG90LkRhdGVVdGlsLmRheXNTcGFuKGguZXZlbnQuc3RhcnQoKSxoLmV2ZW50LmVuZCgpKSsxLGguZGlyZWN0aW9uPXRoaXMuc3R5bGUuY3Vyc29yLHQucmVzaXppbmdFdmVudD1ofWVsc2UgaWYoXCJtb3ZlXCI9PT10aGlzLnN0eWxlLmN1cnNvcnx8XCJEaXNhYmxlZFwiIT09bi5ldmVudE1vdmVIYW5kbGluZyl7bi5jbGVhclNoYWRvdygpO3ZhciBkPURheVBpbG90Lm1vMihuLm5hdi50b3AsaSk7aWYoIWQpcmV0dXJuO3ZhciB2PW4uZ2V0Q2VsbEJlbG93UG9pbnQoZC54LGQueSksdT1EYXlQaWxvdC5EYXRlVXRpbC5kYXlzRGlmZihlLnN0YXJ0KCksbi5yb3dzW3NdLnN0YXJ0KSxmPTcqdi55K3YueC0oNypzK2wpO3UmJihmKz11KTt2YXIgcD17fTtwLnN0YXJ0PXt9LHAuc3RhcnQueD1sLHAuc3RhcnQueT1zLHAuc3RhcnQubGluZT1hLHAub2Zmc2V0PW4uZXZlbnRNb3ZlVG9Qb3NpdGlvbj8wOmYscC5jb2xXaWR0aD1vLHAuZXZlbnQ9Yy5ldmVudCxwLmNvb3Jkcz1kLHQubW92aW5nRXZlbnQ9cH19LGMub25tb3VzZW1vdmU9ZnVuY3Rpb24oaSl7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHQmJiF0Lm1vdmluZ0V2ZW50JiYhdC5yZXNpemluZ0V2ZW50KXt2YXIgcz1EYXlQaWxvdC5tbzMoYyxpKTtpZihzKXt2YXIgYT02O3MueDw9YSYmXCJEaXNhYmxlZFwiIT09bi5ldmVudFJlc2l6ZUhhbmRsaW5nP2UucGFydC5zdGFydHNIZXJlPyhjLnN0eWxlLmN1cnNvcj1cInctcmVzaXplXCIsYy5kcEJvcmRlcj1cImxlZnRcIik6Yy5zdHlsZS5jdXJzb3I9XCJub3QtYWxsb3dlZFwiOmMuY2xpZW50V2lkdGgtcy54PD1hJiZcIkRpc2FibGVkXCIhPT1uLmV2ZW50UmVzaXplSGFuZGxpbmc/ZS5wYXJ0LmVuZHNIZXJlPyhjLnN0eWxlLmN1cnNvcj1cImUtcmVzaXplXCIsYy5kcEJvcmRlcj1cInJpZ2h0XCIpOmMuc3R5bGUuY3Vyc29yPVwibm90LWFsbG93ZWRcIjpjLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIn19fSxjLm9ubW91c2VvdXQ9ZnVuY3Rpb24odCl7Yy5zdHlsZS5jdXJzb3I9XCJcIn07dmFyIHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt2LnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksdi5jbGFzc05hbWU9dGhpcy56KFwiX2V2ZW50X2lubmVyXCIpLGkuYm9yZGVyQ29sb3ImJih2LnN0eWxlLmJvcmRlckNvbG9yPWkuYm9yZGVyQ29sb3IpLGkuYmFja0NvbG9yJiYodi5zdHlsZS5iYWNrZ3JvdW5kPWkuYmFja0NvbG9yLChEYXlQaWxvdC5icm93c2VyLmllOXx8RGF5UGlsb3QuYnJvd3Nlci5pZWx0OSkmJih2LnN0eWxlLmZpbHRlcj1cIlwiKSksaS5mb250Q29sb3ImJih2LnN0eWxlLmNvbG9yPWkuZm9udENvbG9yKSx2LmlubmVySFRNTD1lLmNsaWVudC5odG1sKCksYy5hcHBlbmRDaGlsZCh2KSx0aGlzLmVsZW1lbnRzLmV2ZW50cy5wdXNoKGMpLHRoaXMubmF2LmV2ZW50cy5hcHBlbmRDaGlsZChjKX0sdGhpcy5sYXN0VmlzaWJsZURheU9mTW9udGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydERhdGUubGFzdERheU9mTW9udGgoKX0sdGhpcy5kPWZ1bmN0aW9uKCl7XCJzdHJpbmdcIj09dHlwZW9mIHRoaXMuc3RhcnREYXRlJiYodGhpcy5zdGFydERhdGU9bmV3IERheVBpbG90LkRhdGUodGhpcy5zdGFydERhdGUpKSx0aGlzLnN0YXJ0RGF0ZT10aGlzLnN0YXJ0RGF0ZS5maXJzdERheU9mTW9udGgoKSx0aGlzLmZpcnN0RGF0ZT10aGlzLnN0YXJ0RGF0ZS5maXJzdERheU9mV2Vlayh0aGlzLmdldFdlZWtTdGFydCgpKTt2YXIgdCxlPSh0aGlzLnN0YXJ0RGF0ZSx0aGlzLmxhc3RWaXNpYmxlRGF5T2ZNb250aCgpKSxpPURheVBpbG90LkRhdGVVdGlsLmRheXNEaWZmKHRoaXMuZmlyc3REYXRlLGUpKzE7dD1NYXRoLmNlaWwoaS83KSx0aGlzLmRheXM9Nyp0LHRoaXMucm93cz1bXTtmb3IodmFyIHM9MDtzPHQ7cysrKXt2YXIgYT17fTthLnN0YXJ0PXRoaXMuZmlyc3REYXRlLmFkZERheXMoNypzKSxhLmVuZD1hLnN0YXJ0LmFkZERheXModGhpcy5nZXRDb2xDb3VudCgpKSxhLmV2ZW50cz1bXSxhLmxpbmVzPVtdLGEuaW5kZXg9cyxhLm1pbkhlaWdodD10aGlzLmNlbGxIZWlnaHQsYS5jYWxlbmRhcj10aGlzLGEuYmVsb25nc0hlcmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZW5kKCkuZ2V0VGltZSgpPT09dC5zdGFydCgpLmdldFRpbWUoKSYmdC5zdGFydCgpLmdldFRpbWUoKT09PXRoaXMuc3RhcnQuZ2V0VGltZSgpfHwhKHQuZW5kKCkuZ2V0VGltZSgpPD10aGlzLnN0YXJ0LmdldFRpbWUoKXx8dC5zdGFydCgpLmdldFRpbWUoKT49dGhpcy5lbmQuZ2V0VGltZSgpKX0sYS5nZXRQYXJ0U3RhcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIERheVBpbG90LkRhdGVVdGlsLm1heCh0aGlzLnN0YXJ0LHQuc3RhcnQoKSl9LGEuZ2V0UGFydEVuZD1mdW5jdGlvbih0KXtyZXR1cm4gRGF5UGlsb3QuRGF0ZVV0aWwubWluKHRoaXMuZW5kLHQuZW5kKCkpfSxhLmdldFN0YXJ0Q29sdW1uPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0UGFydFN0YXJ0KHQpO3JldHVybiBEYXlQaWxvdC5EYXRlVXRpbC5kYXlzRGlmZih0aGlzLnN0YXJ0LGUpfSxhLmdldFdpZHRoPWZ1bmN0aW9uKHQpe3JldHVybiBEYXlQaWxvdC5EYXRlVXRpbC5kYXlzU3Bhbih0aGlzLmdldFBhcnRTdGFydCh0KSx0aGlzLmdldFBhcnRFbmQodCkpKzF9LGEucHV0SW50b0xpbmU9ZnVuY3Rpb24odCxlLGksbil7Zm9yKHZhciBzPXRoaXMsYT0wO2E8dGhpcy5saW5lcy5sZW5ndGg7YSsrKXt2YXIgbD10aGlzLmxpbmVzW2FdO2lmKGwuaXNGcmVlKGUsaSkpcmV0dXJuIGwuYWRkRXZlbnQodCxlLGksbixhKSxhfXZhciBsPVtdO3JldHVybiBsLmlzRnJlZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT0hMCxuPTA7bjx0aGlzLmxlbmd0aDtuKyspdCtlLTE8dGhpc1tuXS5wYXJ0LmNvbFN0YXJ0fHx0PnRoaXNbbl0ucGFydC5jb2xTdGFydCt0aGlzW25dLnBhcnQuY29sV2lkdGgtMXx8KGk9ITEpO3JldHVybiBpfSxsLmFkZEV2ZW50PWZ1bmN0aW9uKHQsZSxpLG4sYSl7dC5wYXJ0LmNvbFN0YXJ0PWUsdC5wYXJ0LmNvbFdpZHRoPWksdC5wYXJ0LnJvdz1uLHQucGFydC5saW5lPWEsdC5wYXJ0LnN0YXJ0c0hlcmU9cy5zdGFydC5nZXRUaW1lKCk8PXQuc3RhcnQoKS5nZXRUaW1lKCksdC5wYXJ0LmVuZHNIZXJlPXMuZW5kLmdldFRpbWUoKT49dC5lbmQoKS5nZXRUaW1lKCksdGhpcy5wdXNoKHQpfSxsLmFkZEV2ZW50KHQsZSxpLG4sdGhpcy5saW5lcy5sZW5ndGgpLHRoaXMubGluZXMucHVzaChsKSx0aGlzLmxpbmVzLmxlbmd0aC0xfSxhLmdldFN0YXJ0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT0wO2U8bi5yb3dzLmxlbmd0aCYmZTx0aGlzLmluZGV4O2UrKyl0Kz1uLnJvd3NbZV0uZ2V0SGVpZ2h0KCl9LGEuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWF4KHRoaXMubGluZXMubGVuZ3RoKm4ubGluZUhlaWdodCgpK24uY2VsbEhlYWRlckhlaWdodCx0aGlzLmNhbGVuZGFyLmNlbGxIZWlnaHQpfSx0aGlzLnJvd3MucHVzaChhKX10aGlzLmVuZERhdGU9dGhpcy5maXJzdERhdGUuYWRkRGF5cyg3KnQpfSx0aGlzLnZpc2libGVTdGFydD1mdW5jdGlvbigpe3JldHVybiBuLmZpcnN0RGF0ZX0sdGhpcy52aXNpYmxlRW5kPWZ1bmN0aW9uKCl7cmV0dXJuIG4uZW5kRGF0ZX0sdGhpcy5nZXRIZWlnaHQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5oZWFkZXJIZWlnaHQsZT0wO2U8dGhpcy5yb3dzLmxlbmd0aDtlKyspdCs9dGhpcy5yb3dzW2VdLmdldEhlaWdodCgpO3JldHVybiB0fSx0aGlzLmdldFdpZHRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIDcqZS55K2UueC0oNyp0LnkrdC54KSsxfSx0aGlzLmdldE1pbkNvb3Jkcz1mdW5jdGlvbih0LGUpe3JldHVybiA3KnQueSt0Lng8NyplLnkrZS54P3Q6ZX0sdGhpcy56PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudGhlbWV8fHRoaXMuY3NzQ2xhc3NQcmVmaXg7cmV0dXJuIGU/ZSt0OlwiXCJ9LHRoaXMuQj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubmF2LnRvcDtlLnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PVwibm9uZVwiLGUuc3R5bGUuS2h0bWxVc2VyU2VsZWN0PVwibm9uZVwiLGUuc3R5bGUuV2Via2l0VXNlclNlbGVjdD1cIm5vbmVcIixlLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIix0aGlzLndpZHRoJiYoZS5zdHlsZS53aWR0aD10aGlzLndpZHRoKSxlLnN0eWxlLmhlaWdodD10aGlzLmdldEhlaWdodCgpK1wicHhcIixlLm9uc2VsZWN0c3RhcnQ9ZnVuY3Rpb24odCl7cmV0dXJuITF9LHRoaXMuaGlkZVVudGlsSW5pdCYmKGUuc3R5bGUudmlzaWJpbGl0eT1cImhpZGRlblwiKSx0aGlzLnZpc2libGV8fChlLnN0eWxlLmRpc3BsYXk9XCJub25lXCIpLGUuY2xhc3NOYW1lPXRoaXMueihcIl9tYWluXCIpO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dGhpcy5uYXYuY2VsbHM9aSxpLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixpLnN0eWxlLmxlZnQ9XCIwcHhcIixpLnN0eWxlLnJpZ2h0PVwiMHB4XCIsaS5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLGUuYXBwZW5kQ2hpbGQoaSk7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0aGlzLm5hdi5ldmVudHM9cyxzLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixzLnN0eWxlLmxlZnQ9XCIwcHhcIixzLnN0eWxlLnJpZ2h0PVwiMHB4XCIscy5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLGUuYXBwZW5kQ2hpbGQocyksZS5vbm1vdXNlbW92ZT1mdW5jdGlvbihlKXtpZih0LnJlc2l6aW5nRXZlbnQpe3ZhciBpPURheVBpbG90Lm1vMihuLm5hdi50b3AsZSk7aWYoIWkpcmV0dXJuO3ZhciBzPW4uZ2V0Q2VsbEJlbG93UG9pbnQoaS54LGkueSk7bi5jbGVhclNoYWRvdygpO3ZhciBhLGwsbz10LnJlc2l6aW5nRXZlbnQ7by5zdGFydDtpZihcInctcmVzaXplXCI9PT1vLmRpcmVjdGlvbil7bD1zO3ZhciByPW8uZXZlbnQuZW5kKCk7ci5nZXREYXRlUGFydCgpPT09ciYmKHI9ci5hZGREYXlzKC0xKSk7dmFyIGg9bi5nZXRDZWxsRnJvbURhdGUocik7YT1uLmdldFdpZHRoKHMsaCl9ZWxzZSBsPW4uZ2V0Q2VsbEZyb21EYXRlKG8uZXZlbnQuc3RhcnQoKSksYT1uLmdldFdpZHRoKGwscyk7YTwxJiYoYT0xKSxuLmRyYXdTaGFkb3cobC54LGwueSwwLGEpfWVsc2UgaWYodC5tb3ZpbmdFdmVudCl7dmFyIGk9RGF5UGlsb3QubW8yKG4ubmF2LnRvcCxlKTtpZighaSlyZXR1cm47aWYoaS54PT09dC5tb3ZpbmdFdmVudC5jb29yZHMueCYmaS55PT09dC5tb3ZpbmdFdmVudC5jb29yZHMueSlyZXR1cm47dmFyIHM9bi5nZXRDZWxsQmVsb3dQb2ludChpLngsaS55KTtuLmNsZWFyU2hhZG93KCk7dmFyIGQ9dC5tb3ZpbmdFdmVudC5ldmVudCxjPXQubW92aW5nRXZlbnQub2Zmc2V0LGE9bi5jZWxsTW9kZT8xOkRheVBpbG90LkRhdGVVdGlsLmRheXNTcGFuKGQuc3RhcnQoKSxkLmVuZCgpKSsxO2E8MSYmKGE9MSksbi5kcmF3U2hhZG93KHMueCxzLnksMCxhLGMsZCl9ZWxzZSBpZih0LnRpbWVSYW5nZVNlbGVjdGluZyl7dmFyIGk9RGF5UGlsb3QubW8yKG4ubmF2LnRvcCxlKTtpZighaSlyZXR1cm47dmFyIHM9bi5nZXRDZWxsQmVsb3dQb2ludChpLngsaS55KTtuLmNsZWFyU2hhZG93KCk7dmFyIGw9dC50aW1lUmFuZ2VTZWxlY3Rpbmcsdj03KmwueStsLngsdT03KnMueStzLngsYT1NYXRoLmFicyh1LXYpKzE7YTwxJiYoYT0xKTt2YXIgZj12PHU/bDpzO3QudGltZVJhbmdlU2VsZWN0aW5nLmZyb209e3g6Zi54LHk6Zi55fSx0LnRpbWVSYW5nZVNlbGVjdGluZy53aWR0aD1hLHQudGltZVJhbmdlU2VsZWN0aW5nLm1vdmVkPSEwLG4uZHJhd1NoYWRvdyhmLngsZi55LDAsYSwwLG51bGwpfX19LHRoaXMuaT1mdW5jdGlvbigpe3RoaXMubmF2LnRvcC5zdHlsZS5oZWlnaHQ9dGhpcy5nZXRIZWlnaHQoKStcInB4XCI7Zm9yKHZhciB0PTA7dDx0aGlzLmNlbGxzLmxlbmd0aDt0KyspZm9yKHZhciBlPTA7ZTx0aGlzLmNlbGxzW3RdLmxlbmd0aDtlKyspdGhpcy5jZWxsc1t0XVtlXS5zdHlsZS50b3A9dGhpcy5nZXRSb3dUb3AoZSkrXCJweFwiLHRoaXMuY2VsbHNbdF1bZV0uc3R5bGUuaGVpZ2h0PXRoaXMucm93c1tlXS5nZXRIZWlnaHQoKStcInB4XCJ9LHRoaXMuZ2V0Q2VsbEJlbG93UG9pbnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9TWF0aC5mbG9vcih0aGlzLm5hdi50b3AuY2xpZW50V2lkdGgvdGhpcy5nZXRDb2xDb3VudCgpKSxuPU1hdGgubWluKE1hdGguZmxvb3IodC9pKSx0aGlzLmdldENvbENvdW50KCktMSkscz1udWxsLGE9dGhpcy5oZWFkZXJIZWlnaHQsbD0wLG89MDtvPHRoaXMucm93cy5sZW5ndGg7bysrKXt2YXIgcj1hO2lmKGErPXRoaXMucm93c1tvXS5nZXRIZWlnaHQoKSxlPGEpe2w9ZS1yLHM9bzticmVha319bnVsbD09PXMmJihzPXRoaXMucm93cy5sZW5ndGgtMSk7dmFyIGg9e307cmV0dXJuIGgueD1uLGgueT1zLGgucmVsYXRpdmVZPWwsaH0sdGhpcy5nZXRDZWxsRnJvbURhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPURheVBpbG90LkRhdGVVdGlsLmRheXNEaWZmKHRoaXMuZmlyc3REYXRlLHQpLGk9e3g6MCx5OjB9O2U+PTc7KWkueSsrLGUtPTc7cmV0dXJuIGkueD1lLGl9LHRoaXMuaD1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5vbmNvbnRleHRtZW51PWZ1bmN0aW9uKCl7cmV0dXJuITF9LHRoaXMubmF2LmNlbGxzLmFwcGVuZENoaWxkKHQpLHRoaXMuY2VsbHM9W107Zm9yKHZhciBlPTA7ZTx0aGlzLmdldENvbENvdW50KCk7ZSsrKXt0aGlzLmNlbGxzW2VdPVtdO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7aS5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLGkuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGkuc3R5bGUubGVmdD10aGlzLmdldENlbGxXaWR0aCgpKmUrXCIlXCIsaS5zdHlsZS53aWR0aD10aGlzLmdldENlbGxXaWR0aCgpK1wiJVwiLGkuc3R5bGUudG9wPVwiMHB4XCIsaS5zdHlsZS5oZWlnaHQ9dGhpcy5oZWFkZXJIZWlnaHQrXCJweFwiO3ZhciBuPWUrdGhpcy5nZXRXZWVrU3RhcnQoKTtuPjYmJihuLT03KSx0aGlzLmEmJihpLmNsYXNzTmFtZT10aGlzLnooXCJfaGVhZGVyXCIpKTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Euc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxhLmlubmVySFRNTD1zLmxvY2FsZSgpLmRheU5hbWVzW25dLGkuYXBwZW5kQ2hpbGQoYSksYS5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsYS5zdHlsZS50b3A9XCIwcHhcIixhLnN0eWxlLmJvdHRvbT1cIjBweFwiLGEuc3R5bGUubGVmdD1cIjBweFwiLGEuc3R5bGUucmlnaHQ9XCIwcHhcIixhLmNsYXNzTmFtZT10aGlzLnooXCJfaGVhZGVyX2lubmVyXCIpLGEuaW5uZXJIVE1MPXMubG9jYWxlKCkuZGF5TmFtZXNbbl0sdC5hcHBlbmRDaGlsZChpKTtmb3IodmFyIGw9MDtsPHRoaXMucm93cy5sZW5ndGg7bCsrKXRoaXMuZHJhd0NlbGwoZSxsLHQpfX0sdGhpcy5nPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDx0aGlzLmNlbGxzLmxlbmd0aDt0KyspZm9yKHZhciBlPTA7ZTx0aGlzLmNlbGxzW3RdLmxlbmd0aDtlKyspdGhpcy5jZWxsc1t0XVtlXS5vbmNsaWNrPW51bGw7dGhpcy5uYXYuY2VsbHMuaW5uZXJIVE1MPVwiXCJ9LHRoaXMuQz1mdW5jdGlvbigpe3JldHVybiAyPT09bi5hcGl9LHRoaXMuZHJhd0NlbGw9ZnVuY3Rpb24oZSxpLGEpe3ZhciBsPXRoaXMucm93c1tpXSxvPXRoaXMuZmlyc3REYXRlLmFkZERheXMoNyppK2UpLHI9KHRoaXMuY2VsbFByb3BlcnRpZXM/dGhpcy5jZWxsUHJvcGVydGllc1tpKnRoaXMuZ2V0Q29sQ291bnQoKStlXTpudWxsLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpO2lmKHIuc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxyLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixyLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIixyLnN0eWxlLmxlZnQ9dGhpcy5nZXRDZWxsV2lkdGgoKSplK1wiJVwiLHIuc3R5bGUud2lkdGg9dGhpcy5nZXRDZWxsV2lkdGgoKStcIiVcIixyLnN0eWxlLnRvcD10aGlzLmdldFJvd1RvcChpKStcInB4XCIsci5zdHlsZS5oZWlnaHQ9bC5nZXRIZWlnaHQoKStcInB4XCIsdGhpcy5hJiYoci5jbGFzc05hbWU9dGhpcy56KFwiX2NlbGxcIiksIXRoaXMuaXNXZWVrZW5kKG8pKSl7dmFyIGg9dGhpcy56KFwiX2NlbGxfYnVzaW5lc3NcIik7RGF5UGlsb3QuVXRpbC5hZGRDbGFzcyhyLGgpfXZhciBkPSh0aGlzLnN0YXJ0RGF0ZS5hZGRNb250aHMoLTEpLmdldE1vbnRoKCksdGhpcy5zdGFydERhdGUuYWRkTW9udGhzKDEpLmdldE1vbnRoKCksdGhpcy5zdGFydERhdGUuZ2V0TW9udGgoKSxkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTtkLnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksci5hcHBlbmRDaGlsZChkKSxkLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixkLnN0eWxlLmxlZnQ9XCIwcHhcIixkLnN0eWxlLnJpZ2h0PVwiMHB4XCIsZC5zdHlsZS50b3A9XCIwcHhcIixkLnN0eWxlLmJvdHRvbT1cIjBweFwiLGQuY2xhc3NOYW1lPXRoaXMueihcIl9jZWxsX2lubmVyXCIpLHIub25tb3VzZWRvd249ZnVuY3Rpb24ocyl7XCJEaXNhYmxlZFwiIT09bi50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nJiYobi5jbGVhclNoYWRvdygpLHQudGltZVJhbmdlU2VsZWN0aW5nPXtcInJvb3RcIjpuLFwieFwiOmUsXCJ5XCI6aSxcImZyb21cIjp7eDplLHk6aX0sXCJ3aWR0aFwiOjF9KX0sci5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IERheVBpbG90LkRhdGUodCksaT1lLmFkZERheXMoMSk7bi5EKGUsaSl9O2lmKFwiRGlzYWJsZWRcIiE9PW4udGltZVJhbmdlU2VsZWN0ZWRIYW5kbGluZylyZXR1cm4gdm9pZCB0KG8pfTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSxjLnN0eWxlLmhlaWdodD10aGlzLmNlbGxIZWFkZXJIZWlnaHQrXCJweFwiLGMuY2xhc3NOYW1lPXRoaXMueihcIl9jZWxsX2hlYWRlclwiKTt2YXIgdj1vLmdldERheSgpOzE9PT12P2MuaW5uZXJIVE1MPXMubG9jYWxlKCkubW9udGhOYW1lc1tvLmdldE1vbnRoKCldK1wiIFwiK3Y6Yy5pbm5lckhUTUw9dixkLmFwcGVuZENoaWxkKGMpLHRoaXMuY2VsbHNbZV1baV09cixhLmFwcGVuZENoaWxkKHIpfSx0aGlzLmdldFdlZWtTdGFydD1mdW5jdGlvbigpe3JldHVybiBzLmxvY2FsZSgpLndlZWtTdGFydHN9LHRoaXMuZ2V0Q29sQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gN30sdGhpcy5nZXRDZWxsV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gMTQuMjg1fSx0aGlzLmdldFJvd1RvcD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5oZWFkZXJIZWlnaHQsaT0wO2k8dDtpKyspZSs9dGhpcy5yb3dzW2ldLmdldEhlaWdodCgpO3JldHVybiBlfSx0aGlzLkU9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXt9O24uYWN0aW9uPXQsbi5wYXJhbWV0ZXJzPWksbi5kYXRhPWUsbi5oZWFkZXI9dGhpcy5GKCk7dmFyIHM9XCJKU09OXCIrRGF5UGlsb3QuSlNPTi5zdHJpbmdpZnkobik7dGhpcy5iYWNrZW5kVXJsJiZEYXlQaWxvdC5yZXF1ZXN0KHRoaXMuYmFja2VuZFVybCx0aGlzLkcscyx0aGlzLmFqYXhFcnJvcil9LHRoaXMuRz1mdW5jdGlvbih0KXtuLmIodC5yZXNwb25zZVRleHQpfSx0aGlzLkY9ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdC5jb250cm9sPVwiZHBtXCIsdC5pZD10aGlzLmlkLHQudj10aGlzLnYsdC52aXNpYmxlU3RhcnQ9bmV3IERheVBpbG90LkRhdGUodGhpcy5maXJzdERhdGUpLHQudmlzaWJsZUVuZD10LnZpc2libGVTdGFydC5hZGREYXlzKHRoaXMuZGF5cyksdC5zdGFydERhdGU9bi5zdGFydERhdGUsdC50aW1lRm9ybWF0PXRoaXMudGltZUZvcm1hdCx0LndlZWtTdGFydHM9dGhpcy53ZWVrU3RhcnRzLHR9LHRoaXMuZXZlbnRDbGlja0NhbGxCYWNrPWZ1bmN0aW9uKHQsZSl7dGhpcy5FKFwiRXZlbnRDbGlja1wiLGUsdCl9LHRoaXMuQT1mdW5jdGlvbihlKXt0Lm1vdmluZ0V2ZW50PW51bGwsdC5yZXNpemluZ0V2ZW50PW51bGw7dmFyIGk9dGhpcyxlPWV8fHdpbmRvdy5ldmVudDtlLmN0cmxLZXk7ZS5jYW5jZWxCdWJibGU9ITAsZS5zdG9wUHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksbi5ldmVudENsaWNrU2luZ2xlKGksZSl9LHRoaXMuZXZlbnRDbGlja1NpbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBpPXQuZXZlbnQ7aWYoaS5jbGllbnQuY2xpY2tFbmFibGVkKCkpaWYobi5DKCkpe3ZhciBzPXt9O2lmKHMuZT1pLHMuY29udHJvbD1uLHMuZGl2PXQscy5vcmlnaW5hbEV2ZW50PWUscy5tZXRhPWUubWV0YUtleSxzLmN0cmw9ZS5jdHJsS2V5LHMucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLm9uRXZlbnRDbGljayYmKG4uay5hcHBseShmdW5jdGlvbigpe24ub25FdmVudENsaWNrKHMpfSkscy5wcmV2ZW50RGVmYXVsdC52YWx1ZSkpcmV0dXJuO3N3aXRjaChuLmV2ZW50Q2xpY2tIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjpuLmV2ZW50Q2xpY2tDYWxsQmFjayhpKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLm9uRXZlbnRDbGlja2VkJiZuLmsuYXBwbHkoZnVuY3Rpb24oKXtuLm9uRXZlbnRDbGlja2VkKHMpfSl9ZWxzZSBzd2l0Y2gobi5ldmVudENsaWNrSGFuZGxpbmcpe2Nhc2VcIkNhbGxCYWNrXCI6bi5ldmVudENsaWNrQ2FsbEJhY2soaSk7YnJlYWs7Y2FzZVwiSmF2YVNjcmlwdFwiOm4ub25FdmVudENsaWNrKGkpfX0sdGhpcy5ldmVudE1vdmVDYWxsQmFjaz1mdW5jdGlvbih0LGUsaSxuLHMpe2lmKCFlKXRocm93XCJuZXdTdGFydCBpcyBudWxsXCI7aWYoIWkpdGhyb3dcIm5ld0VuZCBpcyBudWxsXCI7dmFyIGE9e307YS5lPXQsYS5uZXdTdGFydD1lLGEubmV3RW5kPWksYS5wb3NpdGlvbj1zLHRoaXMuRShcIkV2ZW50TW92ZVwiLG4sYSl9LHRoaXMuSD1mdW5jdGlvbih0LGUsaSxzLGEsbCl7dmFyIG89dC5zdGFydCgpLmdldFRpbWVQYXJ0KCkscj10LmVuZCgpLmdldERhdGVQYXJ0KCk7ciE9PXQuZW5kKCkmJihyPXIuYWRkRGF5cygxKSk7dmFyIGg9RGF5UGlsb3QuRGF0ZVV0aWwuZGlmZih0LmVuZCgpLHIpLGQ9dGhpcy5nZXREYXRlRnJvbUNlbGwoZSxpKTtkPWQuYWRkRGF5cygtcyk7dmFyIGM9RGF5UGlsb3QuRGF0ZVV0aWwuZGF5c1NwYW4odC5zdGFydCgpLHQuZW5kKCkpKzEsdj1kLmFkZERheXMoYyksdT1kLmFkZFRpbWUobyksZj12LmFkZFRpbWUoaCk7aWYobi5DKCkpe3ZhciBwPXt9O2lmKHAuZT10LHAuY29udHJvbD1uLHAubmV3U3RhcnQ9dSxwLm5ld0VuZD1mLHAuY3RybD1hLmN0cmxLZXkscC5zaGlmdD1hLnNoaWZ0S2V5LHAucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0LnZhbHVlPSEwfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBuLm9uRXZlbnRNb3ZlJiYobi5rLmFwcGx5KGZ1bmN0aW9uKCl7bi5vbkV2ZW50TW92ZShwKX0pLHAucHJldmVudERlZmF1bHQudmFsdWUpKXJldHVybjtzd2l0Y2gobi5ldmVudE1vdmVIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjpuLmV2ZW50TW92ZUNhbGxCYWNrKHQsdSxmKTticmVhaztjYXNlXCJVcGRhdGVcIjp0LnN0YXJ0KHUpLHQuZW5kKGYpLG4uZXZlbnRzLnVwZGF0ZSh0KX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLm9uRXZlbnRNb3ZlZCYmbi5rLmFwcGx5KGZ1bmN0aW9uKCl7bi5vbkV2ZW50TW92ZWQocCl9KX1lbHNlIHN3aXRjaChuLmV2ZW50TW92ZUhhbmRsaW5nKXtjYXNlXCJDYWxsQmFja1wiOm4uZXZlbnRNb3ZlQ2FsbEJhY2sodCx1LGYpO2JyZWFrO2Nhc2VcIkphdmFTY3JpcHRcIjpuLm9uRXZlbnRNb3ZlKHQsdSxmKX19LHRoaXMuZXZlbnRSZXNpemVDYWxsQmFjaz1mdW5jdGlvbih0LGUsaSxuKXtpZighZSl0aHJvd1wibmV3U3RhcnQgaXMgbnVsbFwiO2lmKCFpKXRocm93XCJuZXdFbmQgaXMgbnVsbFwiO3ZhciBzPXt9O3MuZT10LHMubmV3U3RhcnQ9ZSxzLm5ld0VuZD1pLHRoaXMuRShcIkV2ZW50UmVzaXplXCIsbixzKX0sdGhpcy5JPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcz10LnN0YXJ0KCkuZ2V0VGltZVBhcnQoKSxhPXQuZW5kKCkuZ2V0RGF0ZVBhcnQoKTthIT09dC5lbmQoKSYmKGE9YS5hZGREYXlzKDEpKTt2YXIgbD1EYXlQaWxvdC5EYXRlVXRpbC5kaWZmKHQuZW5kKCksYSksbz10aGlzLmdldERhdGVGcm9tQ2VsbChlLngsZS55KSxyPW8uYWRkRGF5cyhpKSxoPW8uYWRkVGltZShzKSxkPXIuYWRkVGltZShsKTtpZihuLkMoKSl7dmFyIGM9e307aWYoYy5lPXQsYy5jb250cm9sPW4sYy5uZXdTdGFydD1oLGMubmV3RW5kPWQsYy5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMucHJldmVudERlZmF1bHQudmFsdWU9ITB9LFwiZnVuY3Rpb25cIj09dHlwZW9mIG4ub25FdmVudFJlc2l6ZSYmKG4uay5hcHBseShmdW5jdGlvbigpe24ub25FdmVudFJlc2l6ZShjKX0pLGMucHJldmVudERlZmF1bHQudmFsdWUpKXJldHVybjtzd2l0Y2gobi5ldmVudFJlc2l6ZUhhbmRsaW5nKXtjYXNlXCJDYWxsQmFja1wiOm4uZXZlbnRSZXNpemVDYWxsQmFjayh0LGgsZCk7YnJlYWs7Y2FzZVwiVXBkYXRlXCI6dC5zdGFydChoKSx0LmVuZChkKSxuLmV2ZW50cy51cGRhdGUodCl9XCJmdW5jdGlvblwiPT10eXBlb2Ygbi5vbkV2ZW50UmVzaXplZCYmbi5rLmFwcGx5KGZ1bmN0aW9uKCl7bi5vbkV2ZW50UmVzaXplZChjKX0pfWVsc2Ugc3dpdGNoKG4uZXZlbnRSZXNpemVIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjpuLmV2ZW50UmVzaXplQ2FsbEJhY2sodCxoLGQpO2JyZWFrO2Nhc2VcIkphdmFTY3JpcHRcIjpuLm9uRXZlbnRSZXNpemUodCxoLGQpfX0sdGhpcy50aW1lUmFuZ2VTZWxlY3RlZENhbGxCYWNrPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj17fTtuLnN0YXJ0PXQsbi5lbmQ9ZSx0aGlzLkUoXCJUaW1lUmFuZ2VTZWxlY3RlZFwiLGksbil9LHRoaXMuRD1mdW5jdGlvbih0LGUpe2lmKHRoaXMuQygpKXt2YXIgaT17fTtpZihpLmNvbnRyb2w9bixpLnN0YXJ0PXQsaS5lbmQ9ZSxpLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2Ygbi5vblRpbWVSYW5nZVNlbGVjdCYmKG4uay5hcHBseShmdW5jdGlvbigpe24ub25UaW1lUmFuZ2VTZWxlY3QoaSl9KSxpLnByZXZlbnREZWZhdWx0LnZhbHVlKSlyZXR1cm47c3dpdGNoKG4udGltZVJhbmdlU2VsZWN0ZWRIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjpuLnRpbWVSYW5nZVNlbGVjdGVkQ2FsbEJhY2sodCxlKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBuLm9uVGltZVJhbmdlU2VsZWN0ZWQmJm4uay5hcHBseShmdW5jdGlvbigpe24ub25UaW1lUmFuZ2VTZWxlY3RlZChpKX0pfWVsc2Ugc3dpdGNoKG4udGltZVJhbmdlU2VsZWN0ZWRIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjpuLnRpbWVSYW5nZVNlbGVjdGVkQ2FsbEJhY2sodCxlKTticmVhaztjYXNlXCJKYXZhU2NyaXB0XCI6bi5vblRpbWVSYW5nZVNlbGVjdGVkKHQsZSl9fSx0aGlzLms9e30sdGhpcy5rLnNjb3BlPW51bGwsdGhpcy5rLm5vdGlmeT1mdW5jdGlvbigpe24uay5zY29wZSYmbi5rLnNjb3BlW1wiJGFwcGx5XCJdKCl9LHRoaXMuay5hcHBseT1mdW5jdGlvbih0KXt0KCl9LHRoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXtuLmNsZWFyU2hhZG93KCl9LHRoaXMuY29tbWFuZENhbGxCYWNrPWZ1bmN0aW9uKHQsZSl7dmFyIGk9e307aS5jb21tYW5kPXQsdGhpcy5FKFwiQ29tbWFuZFwiLGUsaSl9LHRoaXMuaXNXZWVrZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0PW5ldyBEYXlQaWxvdC5EYXRlKHQpLDA9PT10LmRheU9mV2VlaygpfHw2PT09dC5kYXlPZldlZWsoKX0sdGhpcy5KPXt9LHRoaXMuSi5sb2NhbGU9ZnVuY3Rpb24oKXt2YXIgdD1EYXlQaWxvdC5Mb2NhbGUuZmluZChuLmxvY2FsZSk7cmV0dXJuIHQ/dDpEYXlQaWxvdC5Mb2NhbGUuVVN9O3ZhciBzPXRoaXMuSjt0aGlzLmRlYnVnPWZ1bmN0aW9uKHQsZSl7dGhpcy5kZWJ1Z2dpbmdFbmFibGVkJiYobi5kZWJ1Z01lc3NhZ2VzfHwobi5kZWJ1Z01lc3NhZ2VzPVtdKSxuLmRlYnVnTWVzc2FnZXMucHVzaCh0KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5sb2codCkpfSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD1uO3QubmF2LnRvcCYmKHQuYygpLHQubmF2LnRvcC5yZW1vdmVBdHRyaWJ1dGUoXCJzdHlsZVwiKSx0Lm5hdi50b3AucmVtb3ZlQXR0cmlidXRlKFwiY2xhc3NcIiksdC5uYXYudG9wLmlubmVySFRNTD1cIlwiLHQubmF2LnRvcC5kcD1udWxsLHQubmF2LnRvcC5vbm1vdXNlbW92ZT1udWxsLHQubmF2LnRvcD1udWxsKX0sdGhpcy5LPWZ1bmN0aW9uKCl7dC5nbG9iYWxIYW5kbGVyc3x8KHQuZ2xvYmFsSGFuZGxlcnM9ITAsRGF5UGlsb3QucmUoZG9jdW1lbnQsXCJtb3VzZXVwXCIsdC5nTW91c2VVcCkpfSx0aGlzLmxvYWRGcm9tU2VydmVyPWZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5iYWNrZW5kVXJsJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBXZWJGb3JtX0RvQ2FsbGJhY2spJiYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIG4uZXZlbnRzLmxpc3R8fCFuLmV2ZW50cy5saXN0KX0sdGhpcy5vPWZ1bmN0aW9uKCl7XCJoaWRkZW5cIj09PXRoaXMubmF2LnRvcC5zdHlsZS52aXNpYmlsaXR5JiYodGhpcy5uYXYudG9wLnN0eWxlLnZpc2liaWxpdHk9XCJ2aXNpYmxlXCIpfSx0aGlzLnNob3c9ZnVuY3Rpb24oKXtuLnZpc2libGU9ITAsbi5uYXYudG9wLnN0eWxlLmRpc3BsYXk9XCJcIn0sdGhpcy5oaWRlPWZ1bmN0aW9uKCl7bi52aXNpYmxlPSExLG4ubmF2LnRvcC5zdHlsZS5kaXNwbGF5PVwibm9uZVwifSx0aGlzLkw9ZnVuY3Rpb24oKXtpZih0aGlzLmlkJiZ0aGlzLmlkLnRhZ05hbWUpdGhpcy5uYXYudG9wPXRoaXMuaWQ7ZWxzZXtpZihcInN0cmluZ1wiIT10eXBlb2YgdGhpcy5pZCl0aHJvd1wiRGF5UGlsb3QuTW9udGgoKSBjb25zdHJ1Y3RvciByZXF1aXJlcyB0aGUgdGFyZ2V0IGVsZW1lbnQgb3IgaXRzIElEIGFzIGEgcGFyYW1ldGVyXCI7aWYodGhpcy5uYXYudG9wPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpLCF0aGlzLm5hdi50b3ApdGhyb3dcIkRheVBpbG90Lk1vbnRoOiBUaGUgcGxhY2Vob2xkZXIgZWxlbWVudCBub3QgZm91bmQ6ICdcIitpZCtcIicuXCJ9fSx0aGlzLm09ZnVuY3Rpb24oKXtuLmF8fChuLmE9ITAsd2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyYmd2luZG93LmNvbnNvbGUubG9nKFwiRGF5UGlsb3Q6IGNzc09ubHkgPSBmYWxzZSBtb2RlIGlzIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS5cIikpfSx0aGlzLk09ZnVuY3Rpb24oKXt0aGlzLmQoKSx0aGlzLkIoKSx0aGlzLmgoKSx0aGlzLksoKSx0aGlzLkUoXCJJbml0XCIpfSx0aGlzLmluaXQ9ZnVuY3Rpb24oKXt0aGlzLkwoKTt2YXIgdD10aGlzLmxvYWRGcm9tU2VydmVyKCk7cmV0dXJuIHRoaXMubSgpLHQ/dm9pZCB0aGlzLk0oKToodGhpcy5kKCksdGhpcy5mKCksdGhpcy5CKCksdGhpcy5oKCksdGhpcy5vKCksdGhpcy5qKCksdGhpcy5LKCksdGhpcy5tZXNzYWdlSFRNTCYmdGhpcy5tZXNzYWdlKHRoaXMubWVzc2FnZUhUTUwpLHZvaWQgdGhpcy5maXJlQWZ0ZXJSZW5kZXJEZXRhY2hlZChudWxsLCExKSl9LHRoaXMuSW5pdD10aGlzLmluaXQsdGhpcy5uKGkpfSx0LmdNb3VzZVVwPWZ1bmN0aW9uKGUpe2lmKHQubW92aW5nRXZlbnQpe3ZhciBpPXQubW92aW5nRXZlbnQ7aWYoIWkuZXZlbnQpcmV0dXJuO2lmKCFpLmV2ZW50LmNhbGVuZGFyKXJldHVybjtpZighaS5ldmVudC5jYWxlbmRhci5zaGFkb3cpcmV0dXJuO2lmKCFpLmV2ZW50LmNhbGVuZGFyLnNoYWRvdy5zdGFydClyZXR1cm47dmFyIG49dC5tb3ZpbmdFdmVudC5ldmVudC5jYWxlbmRhcixzPXQubW92aW5nRXZlbnQuZXZlbnQsYT1uLnNoYWRvdy5zdGFydCxsPW4uc2hhZG93LnBvc2l0aW9uLG89dC5tb3ZpbmdFdmVudC5vZmZzZXQ7bi5jbGVhclNoYWRvdygpLHQubW92aW5nRXZlbnQ9bnVsbDt2YXIgZT1lfHx3aW5kb3cuZXZlbnQ7cmV0dXJuIG4uSChzLGEueCxhLnksbyxlLGwpLGUuY2FuY2VsQnViYmxlPSEwLGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLHQubW92aW5nRXZlbnQ9bnVsbCwhMX1pZih0LnJlc2l6aW5nRXZlbnQpe3ZhciBpPXQucmVzaXppbmdFdmVudDtpZighaS5ldmVudClyZXR1cm47aWYoIWkuZXZlbnQuY2FsZW5kYXIpcmV0dXJuO2lmKCFpLmV2ZW50LmNhbGVuZGFyLnNoYWRvdylyZXR1cm47aWYoIWkuZXZlbnQuY2FsZW5kYXIuc2hhZG93LnN0YXJ0KXJldHVybjt2YXIgbj10LnJlc2l6aW5nRXZlbnQuZXZlbnQuY2FsZW5kYXIscz10LnJlc2l6aW5nRXZlbnQuZXZlbnQsYT1uLnNoYWRvdy5zdGFydCxyPW4uc2hhZG93LndpZHRoO3JldHVybiBuLmNsZWFyU2hhZG93KCksdC5yZXNpemluZ0V2ZW50PW51bGwsbi5JKHMsYSxyKSxlLmNhbmNlbEJ1YmJsZT0hMCx0LnJlc2l6aW5nRXZlbnQ9bnVsbCwhMX1pZih0LnRpbWVSYW5nZVNlbGVjdGluZyl7aWYodC50aW1lUmFuZ2VTZWxlY3RpbmcubW92ZWQpe3ZhciBoPXQudGltZVJhbmdlU2VsZWN0aW5nLG49aC5yb290LGE9bmV3IERheVBpbG90LkRhdGUobi5nZXREYXRlRnJvbUNlbGwoaC5mcm9tLngsaC5mcm9tLnkpKSxkPWEuYWRkRGF5cyhoLndpZHRoKTtuLkQoYSxkKSxuLmNsZWFyU2hhZG93KCl9dC50aW1lUmFuZ2VTZWxlY3Rpbmc9bnVsbH19LERheVBpbG90Lk1vbnRoPXQuTW9udGgsXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGpRdWVyeSYmIWZ1bmN0aW9uKHQpe3QuZm4uZGF5cGlsb3RNb250aD1mdW5jdGlvbih0KXt2YXIgZT1udWxsLGk9dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIXRoaXMuZGF5cGlsb3Qpe3ZhciBpPW5ldyBEYXlQaWxvdC5Nb250aCh0aGlzLmlkKTt0aGlzLmRheXBpbG90PWk7Zm9yKG5hbWUgaW4gdClpW25hbWVdPXRbbmFtZV07aS5Jbml0KCksZXx8KGU9aSl9fSk7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD9lOml9fShqUXVlcnkpLGZ1bmN0aW9uKCl7dmFyIHQ9RGF5UGlsb3QuYW0oKTt0JiZ0LmRpcmVjdGl2ZShcImRheXBpbG90TW9udGhcIixbXCIkcGFyc2VcIixmdW5jdGlvbih0KXtyZXR1cm57XCJyZXN0cmljdFwiOlwiRVwiLFwidGVtcGxhdGVcIjpcIjxkaXY+PC9kaXY+XCIsXCJyZXBsYWNlXCI6ITAsXCJsaW5rXCI6ZnVuY3Rpb24oZSxpLG4pe3ZhciBzPW5ldyBEYXlQaWxvdC5Nb250aChpWzBdKTtzLmsuc2NvcGU9ZSxzLmluaXQoKTt2YXIgYT1uW1wiaWRcIl07YSYmKGVbYV09cyk7dmFyIGw9bltcInB1Ymxpc2hBc1wiXTtpZihsKXsoMCx0KGwpLmFzc2lnbikoZSxzKX1mb3IodmFyIG8gaW4gbikwPT09by5pbmRleE9mKFwib25cIikmJiFmdW5jdGlvbihpKXtzW2ldPWZ1bmN0aW9uKHMpe3ZhciBhPXQobltpXSk7ZVtcIiRhcHBseVwiXShmdW5jdGlvbigpe2EoZSx7XCJhcmdzXCI6c30pfSl9fShvKTt2YXIgcj1lW1wiJHdhdGNoXCJdLGg9bltcImNvbmZpZ1wiXXx8bltcImRheXBpbG90Q29uZmlnXCJdLGQ9bltcImV2ZW50c1wiXXx8bltcImRheXBpbG90RXZlbnRzXCJdO3IuY2FsbChlLGgsZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHQpc1tlXT10W2VdO3MudXBkYXRlKCl9LCEwKSxyLmNhbGwoZSxkLGZ1bmN0aW9uKHQpe3MuZXZlbnRzLmxpc3Q9dCxzLnVwZGF0ZSgpfSwhMCl9fX1dKX0oKSxcInVuZGVmaW5lZFwiIT10eXBlb2YgU3lzJiZTeXMuQXBwbGljYXRpb24mJlN5cy5BcHBsaWNhdGlvbi5ub3RpZnlTY3JpcHRMb2FkZWQmJlN5cy5BcHBsaWNhdGlvbi5ub3RpZnlTY3JpcHRMb2FkZWQoKX19KCk7aWYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIERheVBpbG90KXZhciBEYXlQaWxvdD17fTtcInVuZGVmaW5lZFwiPT10eXBlb2YgRGF5UGlsb3QuR2xvYmFsJiYoRGF5UGlsb3QuR2xvYmFsPXt9KSxmdW5jdGlvbigpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBEYXlQaWxvdC5OYXZpZ2F0b3J8fCFEYXlQaWxvdC5OYXZpZ2F0b3IubmF2KXtEYXlQaWxvdC5OYXZpZ2F0b3I9ZnVuY3Rpb24odCxlKXt0aGlzLnY9XCIyMDIxLjQuMzM4LWxpdGVcIjt2YXIgaT10aGlzO3RoaXMuaWQ9dCx0aGlzLmFwaT0yLHRoaXMuaXNOYXZpZ2F0b3I9ITAsdGhpcy5hdXRvRm9jdXNPbkNsaWNrPSEwLHRoaXMud2Vla1N0YXJ0cz1cIkF1dG9cIix0aGlzLnNlbGVjdE1vZGU9XCJkYXlcIix0aGlzLnRpdGxlSGVpZ2h0PTMwLHRoaXMuZGF5SGVhZGVySGVpZ2h0PTMwLHRoaXMuYm91bmQ9bnVsbCx0aGlzLmNlbGxXaWR0aD0zMCx0aGlzLmNlbGxIZWlnaHQ9MzAsdGhpcy5jc3NPbmx5PSEwLHRoaXMuY3NzQ2xhc3NQcmVmaXg9XCJuYXZpZ2F0b3JfZGVmYXVsdFwiLHRoaXMuZnJlZUhhbmRTZWxlY3Rpb25FbmFibGVkPSExLHRoaXMuc2VsZWN0aW9uU3RhcnQ9KG5ldyBEYXlQaWxvdC5EYXRlKS5nZXREYXRlUGFydCgpLHRoaXMuc2VsZWN0aW9uRW5kPW51bGwsdGhpcy5zZWxlY3Rpb25EYXk9bnVsbCx0aGlzLnNob3dNb250aHM9MSx0aGlzLnNraXBNb250aHM9MSx0aGlzLmNvbW1hbmQ9XCJuYXZpZ2F0ZVwiLHRoaXMueWVhcj0obmV3IERheVBpbG90LkRhdGUpLmdldFllYXIoKSx0aGlzLm1vbnRoPShuZXcgRGF5UGlsb3QuRGF0ZSkuZ2V0TW9udGgoKSsxLHRoaXMuc2hvd1dlZWtOdW1iZXJzPSExLHRoaXMud2Vla051bWJlckFsZ29yaXRobT1cIkF1dG9cIix0aGlzLnJvd3NQZXJNb250aD1cIlNpeFwiLHRoaXMub3JpZW50YXRpb249XCJWZXJ0aWNhbFwiLHRoaXMubG9jYWxlPVwiZW4tdXNcIix0aGlzLnJ0bD0hMSx0aGlzLnZpc2libGU9ITAsdGhpcy50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nPVwiQmluZFwiLHRoaXMudmlzaWJsZVJhbmdlQ2hhbmdlZEhhbmRsaW5nPVwiRW5hYmxlZFwiLHRoaXMub25WaXNpYmxlUmFuZ2VDaGFuZ2U9bnVsbCx0aGlzLm9uVmlzaWJsZVJhbmdlQ2hhbmdlZD1udWxsLHRoaXMub25UaW1lUmFuZ2VTZWxlY3Q9bnVsbCx0aGlzLm9uVGltZVJhbmdlU2VsZWN0ZWQ9bnVsbCx0aGlzLm5hdj17fSx0aGlzLmE9e30sdGhpcy5iPWZ1bmN0aW9uKCl7dGhpcy5yb290LmRwPXRoaXMsdGhpcy5jc3NPbmx5P3RoaXMucm9vdC5jbGFzc05hbWU9dGhpcy5jKFwiX21haW5cIik6dGhpcy5yb290LmNsYXNzTmFtZT10aGlzLmMoXCJtYWluXCIpLFwiSG9yaXpvbnRhbFwiPT09dGhpcy5vcmllbnRhdGlvbj8odGhpcy5yb290LnN0eWxlLndpZHRoPXRoaXMuc2hvd01vbnRocyooNyphLmNlbGxXaWR0aCgpK3RoaXMuZCgpKStcInB4XCIsdGhpcy5yb290LnN0eWxlLmhlaWdodD02KnRoaXMuY2VsbEhlaWdodCt0aGlzLnRpdGxlSGVpZ2h0K3RoaXMuZGF5SGVhZGVySGVpZ2h0K1wicHhcIik6dGhpcy5yb290LnN0eWxlLndpZHRoPTcqYS5jZWxsV2lkdGgoKSt0aGlzLmQoKStcInB4XCIsdGhpcy5ydGwmJih0aGlzLnJvb3Quc3R5bGUuZGlyZWN0aW9uPVwicnRsXCIpLHRoaXMucm9vdC5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCIsdGhpcy52aXNpYmxlfHwodGhpcy5yb290LnN0eWxlLmRpc3BsYXk9XCJub25lXCIpO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTt0LnR5cGU9XCJoaWRkZW5cIix0Lm5hbWU9aS5pZCtcIl9zdGF0ZVwiLHQuaWQ9dC5uYW1lLHRoaXMucm9vdC5hcHBlbmRDaGlsZCh0KSx0aGlzLnN0YXRlPXQsdGhpcy5zdGFydERhdGU/dGhpcy5zdGFydERhdGU9bmV3IERheVBpbG90LkRhdGUodGhpcy5zdGFydERhdGUpLmZpcnN0RGF5T2ZNb250aCgpOnRoaXMuc3RhcnREYXRlPURheVBpbG90LkRhdGUuZnJvbVllYXJNb250aERheSh0aGlzLnllYXIsdGhpcy5tb250aCksdGhpcy5jYWxlbmRhcnM9W10sdGhpcy5zZWxlY3RlZD1bXSx0aGlzLm1vbnRocz1bXX0sdGhpcy5lPWZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1pLmFwaX0sdGhpcy5mPWZ1bmN0aW9uKCl7dGhpcy5yb290LmlubmVySFRNTD1cIlwifSx0aGlzLmM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50aGVtZXx8dGhpcy5jc3NDbGFzc1ByZWZpeDtyZXR1cm4gZT9lK3Q6XCJcIn0sdGhpcy5nPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5jc3NPbmx5P3RoaXMuYyhcIl9cIitlKTp0aGlzLmMoZSk7RGF5UGlsb3QuVXRpbC5hZGRDbGFzcyh0LGkpfSx0aGlzLmg9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLmNzc09ubHk/dGhpcy5jKFwiX1wiK2UpOnRoaXMuYyhlKTtEYXlQaWxvdC5VdGlsLnJlbW92ZUNsYXNzKHQsaSl9LHRoaXMuaT1mdW5jdGlvbih0LGUpe3ZhciBzPXt9O3MuY2VsbHM9W10scy5kYXlzPVtdLHMud2Vla3M9W107dmFyIG49dGhpcy5zdGFydERhdGUuYWRkTW9udGhzKHQpLGw9ZS5iZWZvcmUsbz1lLmFmdGVyLGg9bi5maXJzdERheU9mTW9udGgoKSxyPWguZmlyc3REYXlPZldlZWsoYS53ZWVrU3RhcnRzKCkpLGM9aC5hZGRNb250aHMoMSksZD1EYXlQaWxvdC5EYXRlVXRpbC5kYXlzRGlmZihyLGMpLHU9XCJBdXRvXCI9PT10aGlzLnJvd3NQZXJNb250aD9NYXRoLmNlaWwoZC83KTo2O3Mucm93Q291bnQ9dTt2YXIgZj0obmV3IERheVBpbG90LkRhdGUpLmdldERhdGVQYXJ0KCkseT03KmEuY2VsbFdpZHRoKCkrdGhpcy5kKCk7cy53aWR0aD15O3ZhciBwPXRoaXMuY2VsbEhlaWdodCp1K3RoaXMudGl0bGVIZWlnaHQrdGhpcy5kYXlIZWFkZXJIZWlnaHQ7cy5oZWlnaHQ9cDt2YXIgdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2lmKHYuc3R5bGUud2lkdGg9eStcInB4XCIsdi5zdHlsZS5oZWlnaHQ9cCtcInB4XCIsXCJIb3Jpem9udGFsXCI9PT10aGlzLm9yaWVudGF0aW9uKXYuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHYuc3R5bGUubGVmdD15KnQrXCJweFwiLHYuc3R5bGUudG9wPVwiMHB4XCIscy50b3A9MCxzLmxlZnQ9eSp0O2Vsc2V7di5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCI7dmFyIG09dD4wP2kubW9udGhzW3QtMV0udG9wK2kubW9udGhzW3QtMV0uaGVpZ2h0OjA7cy50b3A9bSxzLmxlZnQ9MH10aGlzLmNzc09ubHk/di5jbGFzc05hbWU9dGhpcy5jKFwiX21vbnRoXCIpOnYuY2xhc3NOYW1lPXRoaXMuYyhcIm1vbnRoXCIpLHYuc3R5bGUuY3Vyc29yPVwiZGVmYXVsdFwiLHYuc3R5bGUuTW96VXNlclNlbGVjdD1cIm5vbmVcIix2LnN0eWxlLktodG1sVXNlclNlbGVjdD1cIm5vbmVcIix2LnN0eWxlLldlYmtpdFVzZXJTZWxlY3Q9XCJub25lXCIsdi5tb250aD1zLHRoaXMucm9vdC5hcHBlbmRDaGlsZCh2KTt2YXIgZz10aGlzLnRpdGxlSGVpZ2h0K3RoaXMuZGF5SGVhZGVySGVpZ2h0LGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtiLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixiLnN0eWxlLmxlZnQ9XCIwcHhcIixiLnN0eWxlLnJpZ2h0PVwiMHB4XCIsYi5zdHlsZS50b3A9XCIwcHhcIixiLnN0eWxlLndpZHRoPWEuY2VsbFdpZHRoKCkrXCJweFwiLGIuc3R5bGUuaGVpZ2h0PXRoaXMudGl0bGVIZWlnaHQrXCJweFwiLGIuc3R5bGUubGluZUhlaWdodD10aGlzLnRpdGxlSGVpZ2h0K1wicHhcIixiLnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksdGhpcy5jc3NPbmx5P2IuY2xhc3NOYW1lPXRoaXMuYyhcIl90aXRsZWxlZnRcIik6Yi5jbGFzc05hbWU9dGhpcy5jKFwidGl0bGVsZWZ0XCIpLGUubGVmdCYmKGIuc3R5bGUuY3Vyc29yPVwicG9pbnRlclwiLGIuaW5uZXJIVE1MPVwiPHNwYW4+Jmx0Ozwvc3Bhbj5cIixiLm9uY2xpY2s9dGhpcy5qKSx2LmFwcGVuZENoaWxkKGIpLHRoaXMudGw9Yjt2YXIgRD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO0Quc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLEQuc3R5bGUubGVmdD1hLmNlbGxXaWR0aCgpK1wicHhcIixELnN0eWxlLnRvcD1cIjBweFwiLEQuc3R5bGUud2lkdGg9NSphLmNlbGxXaWR0aCgpK3RoaXMuZCgpK1wicHhcIixELnN0eWxlLmhlaWdodD10aGlzLnRpdGxlSGVpZ2h0K1wicHhcIixELnN0eWxlLmxpbmVIZWlnaHQ9dGhpcy50aXRsZUhlaWdodCtcInB4XCIsRC5zZXRBdHRyaWJ1dGUoXCJ1bnNlbGVjdGFibGVcIixcIm9uXCIpLHRoaXMuY3NzT25seT9ELmNsYXNzTmFtZT10aGlzLmMoXCJfdGl0bGVcIik6RC5jbGFzc05hbWU9dGhpcy5jKFwidGl0bGVcIiksRC5pbm5lckhUTUw9YS5sb2NhbGUoKS5tb250aE5hbWVzW24uZ2V0TW9udGgoKV0rXCIgXCIrbi5nZXRZZWFyKCksdi5hcHBlbmRDaGlsZChEKSx0aGlzLnRpPUQ7dmFyIHg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt4LnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix4LnN0eWxlLmxlZnQ9NiphLmNlbGxXaWR0aCgpK3RoaXMuZCgpK1wicHhcIix4LnN0eWxlLnJpZ2h0PTYqYS5jZWxsV2lkdGgoKSt0aGlzLmQoKStcInB4XCIseC5zdHlsZS50b3A9XCIwcHhcIix4LnN0eWxlLndpZHRoPWEuY2VsbFdpZHRoKCkrXCJweFwiLHguc3R5bGUuaGVpZ2h0PXRoaXMudGl0bGVIZWlnaHQrXCJweFwiLHguc3R5bGUubGluZUhlaWdodD10aGlzLnRpdGxlSGVpZ2h0K1wicHhcIix4LnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksdGhpcy5jc3NPbmx5P3guY2xhc3NOYW1lPXRoaXMuYyhcIl90aXRsZXJpZ2h0XCIpOnguY2xhc3NOYW1lPXRoaXMuYyhcInRpdGxlcmlnaHRcIiksZS5yaWdodCYmKHguc3R5bGUuY3Vyc29yPVwicG9pbnRlclwiLHguaW5uZXJIVE1MPVwiPHNwYW4+Jmd0Ozwvc3Bhbj5cIix4Lm9uY2xpY2s9dGhpcy5rKSx2LmFwcGVuZENoaWxkKHgpLHRoaXMudHI9eDt2YXIgdz10aGlzLmQoKTtpZih0aGlzLnNob3dXZWVrTnVtYmVycylmb3IodmFyIGs9MDtrPHU7aysrKXt2YXIgUz1yLmFkZERheXMoNyprKSxDPW51bGw7c3dpdGNoKHRoaXMud2Vla051bWJlckFsZ29yaXRobSl7Y2FzZVwiQXV0b1wiOkM9MT09PWEud2Vla1N0YXJ0cygpP1Mud2Vla051bWJlcklTTygpOlMud2Vla051bWJlcigpO2JyZWFrO2Nhc2VcIlVTXCI6Qz1TLndlZWtOdW1iZXIoKTticmVhaztjYXNlXCJJU084NjAxXCI6Qz1TLndlZWtOdW1iZXJJU08oKTticmVhaztkZWZhdWx0OnRocm93XCJVbmtub3duIHdlZWtOdW1iZXJBbGdvcml0aG0gdmFsdWUuXCJ9dmFyIEg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtILnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixILnN0eWxlLmxlZnQ9XCIwcHhcIixILnN0eWxlLnJpZ2h0PVwiMHB4XCIsSC5zdHlsZS50b3A9ayp0aGlzLmNlbGxIZWlnaHQrZytcInB4XCIsSC5zdHlsZS53aWR0aD1hLmNlbGxXaWR0aCgpK1wicHhcIixILnN0eWxlLmhlaWdodD10aGlzLmNlbGxIZWlnaHQrXCJweFwiLEguc3R5bGUubGluZUhlaWdodD10aGlzLmNlbGxIZWlnaHQrXCJweFwiLEguc2V0QXR0cmlidXRlKFwidW5zZWxlY3RhYmxlXCIsXCJvblwiKSx0aGlzLmNzc09ubHk/SC5jbGFzc05hbWU9dGhpcy5jKFwiX3dlZWtudW1iZXJcIik6SC5jbGFzc05hbWU9dGhpcy5jKFwid2Vla251bWJlclwiKSxILmlubmVySFRNTD1cIjxzcGFuPlwiK0MrXCI8L3NwYW4+XCIsdi5hcHBlbmRDaGlsZChIKSxzLndlZWtzLnB1c2goSCl9Zm9yKHZhciBQPTA7UDw3O1ArKyl7cy5jZWxsc1tQXT1bXTt2YXIgSD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO0guc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLEguc3R5bGUubGVmdD1QKmEuY2VsbFdpZHRoKCkrdytcInB4XCIsSC5zdHlsZS5yaWdodD1QKmEuY2VsbFdpZHRoKCkrdytcInB4XCIsSC5zdHlsZS50b3A9dGhpcy50aXRsZUhlaWdodCtcInB4XCIsSC5zdHlsZS53aWR0aD1hLmNlbGxXaWR0aCgpK1wicHhcIixILnN0eWxlLmhlaWdodD10aGlzLmRheUhlYWRlckhlaWdodCtcInB4XCIsSC5zdHlsZS5saW5lSGVpZ2h0PXRoaXMuZGF5SGVhZGVySGVpZ2h0K1wicHhcIixILnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksdGhpcy5jc3NPbmx5P0guY2xhc3NOYW1lPXRoaXMuYyhcIl9kYXloZWFkZXJcIik6SC5jbGFzc05hbWU9dGhpcy5jKFwiZGF5aGVhZGVyXCIpLEguaW5uZXJIVE1MPVwiPHNwYW4+XCIrdGhpcy5sKFApK1wiPC9zcGFuPlwiLHYuYXBwZW5kQ2hpbGQoSCkscy5kYXlzLnB1c2goSCk7Zm9yKHZhciBrPTA7azx1O2srKyl7dmFyIFM9ci5hZGREYXlzKDcqaytQKSxNPXRoaXMubShTKSYmXCJub25lXCIhPT10aGlzLm4oKSxOPVMuZmlyc3REYXlPZk1vbnRoKCk9PT1uLE89UzxuLEU9Uz49bi5hZGRNb250aHMoMSk7aWYoXCJtb250aFwiPT09dGhpcy5uKCkpTT1NJiZOO2Vsc2UgaWYoXCJkYXlcIj09PXRoaXMubigpKU09TSYmKE58fGwmJk98fG8mJkUpO2Vsc2UgaWYoXCJ3ZWVrXCI9PT10aGlzLm4oKSl7dmFyIFc9Uy5maXJzdERheU9mTW9udGgoKT09PW47TT1NJiYoV3x8bCYmT3x8byYmRSl9dmFyIFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtzLmNlbGxzW1BdW2tdPVQ7dmFyIFI9aS5vKFAsayksQT1SLngsQj1SLnk7VC5kYXk9UyxULng9UCxULnk9ayxULmxlZnQ9QSxULnRvcD1CLFQuaXNDdXJyZW50TW9udGg9TixULmlzTmV4dE1vbnRoPUUsVC5pc1ByZXZNb250aD1PLFQuc2hvd0JlZm9yZT1sLFQuc2hvd0FmdGVyPW8sdGhpcy5jc3NPbmx5P1QuY2xhc3NOYW1lPXRoaXMuYyhOP1wiX2RheVwiOlwiX2RheW90aGVyXCIpOlQuY2xhc3NOYW1lPXRoaXMuYyhOP1wiZGF5XCI6XCJkYXlvdGhlclwiKSxpLmcoVCxcImNlbGxcIiksUy5nZXRUaW1lKCk9PT1mLmdldFRpbWUoKSYmTiYmdGhpcy5nKFQsXCJ0b2RheVwiKSwwIT09Uy5kYXlPZldlZWsoKSYmNiE9PVMuZGF5T2ZXZWVrKCl8fHRoaXMuZyhULFwid2Vla2VuZFwiKSxULnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixULnN0eWxlLmxlZnQ9QStcInB4XCIsVC5zdHlsZS5yaWdodD1BK1wicHhcIixULnN0eWxlLnRvcD1CK1wicHhcIixULnN0eWxlLndpZHRoPWEuY2VsbFdpZHRoKCkrXCJweFwiLFQuc3R5bGUuaGVpZ2h0PXRoaXMuY2VsbEhlaWdodCtcInB4XCIsVC5zdHlsZS5saW5lSGVpZ2h0PXRoaXMuY2VsbEhlaWdodCtcInB4XCI7dmFyIF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtfLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix0aGlzLmNzc09ubHk/Xy5jbGFzc05hbWU9Uy5nZXRUaW1lKCk9PT1mLmdldFRpbWUoKSYmTj90aGlzLmMoXCJfdG9kYXlib3hcIik6dGhpcy5jKFwiX2RheWJveFwiKTpfLmNsYXNzTmFtZT1TLmdldFRpbWUoKT09PWYuZ2V0VGltZSgpJiZOP3RoaXMuYyhcInRvZGF5Ym94XCIpOnRoaXMuYyhcImRheWJveFwiKSxpLmcoXyxcImNlbGxfYm94XCIpLF8uc3R5bGUubGVmdD1cIjBweFwiLF8uc3R5bGUudG9wPVwiMHB4XCIsXy5zdHlsZS5yaWdodD1cIjBweFwiLF8uc3R5bGUuYm90dG9tPVwiMHB4XCIsVC5hcHBlbmRDaGlsZChfKTt2YXIgVT1udWxsO2lmKHRoaXMuY2VsbHMmJnRoaXMuY2VsbHNbUy50b1N0cmluZ1NvcnRhYmxlKCldJiYoVT10aGlzLmNlbGxzW1MudG9TdHJpbmdTb3J0YWJsZSgpXSksXCJmdW5jdGlvblwiPT10eXBlb2YgaS5vbkJlZm9yZUNlbGxSZW5kZXIpe3ZhciBJPXt9O0kuY2VsbD1VfHx7fSxJLmNlbGwuZGF5PVMsSS5jZWxsLmlzQ3VycmVudE1vbnRoPU4sSS5jZWxsLmlzVG9kYXk9Uy5nZXRUaW1lKCk9PT1mLmdldFRpbWUoKSYmTixJLmNlbGwuaXNXZWVrZW5kPTA9PT1TLmRheU9mV2VlaygpfHw2PT09Uy5kYXlPZldlZWsoKSxVPyhJLmNlbGwuaHRtbD1VLmh0bWx8fFMuZ2V0RGF5KCksSS5jZWxsLmNzc0NsYXNzPVUuY3NzKTooSS5jZWxsLmh0bWw9Uy5nZXREYXkoKSxJLmNlbGwuY3NzQ2xhc3M9bnVsbCksaS5vbkJlZm9yZUNlbGxSZW5kZXIoSSksVT1JLmNlbGx9aWYoVSYmRGF5UGlsb3QuVXRpbC5hZGRDbGFzcyhULFUuY3NzQ2xhc3N8fFUuY3NzKSxOfHxsJiZPfHxvJiZFKXt2YXIgTD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO0wuaW5uZXJIVE1MPVMuZ2V0RGF5KCksTC5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsTC5zdHlsZS5sZWZ0PVwiMHB4XCIsTC5zdHlsZS50b3A9XCIwcHhcIixMLnN0eWxlLnJpZ2h0PVwiMHB4XCIsTC5zdHlsZS5ib3R0b209XCIwcHhcIixpLmcoTCxcImNlbGxfdGV4dFwiKSxULmlzQ2xpY2thYmxlPSEwLFUmJlUuaHRtbCYmKEwuaW5uZXJIVE1MPVUuaHRtbCksVC5hcHBlbmRDaGlsZChMKX1ULnNldEF0dHJpYnV0ZShcInVuc2VsZWN0YWJsZVwiLFwib25cIiksVC5vbmNsaWNrPXRoaXMucCx2LmFwcGVuZENoaWxkKFQpLE0mJihpLnEodixQLGspLHRoaXMuc2VsZWN0ZWQucHVzaChUKSl9fXZhciBWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Vi5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsVi5zdHlsZS5sZWZ0PVwiMHB4XCIsVi5zdHlsZS50b3A9Zy0yK1wicHhcIixWLnN0eWxlLndpZHRoPTcqYS5jZWxsV2lkdGgoKSt0aGlzLmQoKStcInB4XCIsVi5zdHlsZS5oZWlnaHQ9XCIxcHhcIixWLnN0eWxlLmZvbnRTaXplPVwiMXB4XCIsVi5zdHlsZS5saW5lSGVpZ2h0PVwiMXB4XCIsdGhpcy5jc3NPbmx5P1YuY2xhc3NOYW1lPXRoaXMuYyhcIl9saW5lXCIpOlYuY2xhc3NOYW1lPXRoaXMuYyhcImxpbmVcIiksdi5hcHBlbmRDaGlsZChWKSx0aGlzLm1vbnRocy5wdXNoKHMpfSx0aGlzLm89ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLnRpdGxlSGVpZ2h0K3RoaXMuZGF5SGVhZGVySGVpZ2h0LHM9dGhpcy5kKCk7cmV0dXJue1wieFwiOnQqYS5jZWxsV2lkdGgoKStzLFwieVwiOmUqdGhpcy5jZWxsSGVpZ2h0K2l9fSx0aGlzLnE9ZnVuY3Rpb24odCxlLHMpe3ZhciBuPXQubW9udGguY2VsbHNbZV1bc107aS5nKG4sXCJzZWxlY3RcIil9LHRoaXMucj1mdW5jdGlvbih0LGUscyl7dmFyIG49dC5tb250aC5jZWxsc1tlXVtzXTtpLmgobixcInNlbGVjdFwiKX0sdGhpcy5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hvd1dlZWtOdW1iZXJzP2EuY2VsbFdpZHRoKCk6MH0sdGhpcy5zPWZ1bmN0aW9uKCl7aWYodGhpcy5pdGVtcylmb3IodmFyIHQ9MDt0PHRoaXMuc2hvd01vbnRoczt0KyspZm9yKHZhciBlPTA7ZTw3O2UrKylmb3IodmFyIGk9MDtpPDY7aSsrKXt2YXIgcz10aGlzLm1vbnRoc1t0XS5jZWxsc1tlXVtpXTtzJiYoMT09PXRoaXMuaXRlbXNbcy5kYXkudG9TdHJpbmdTb3J0YWJsZSgpXT90aGlzLmcocyxcImJ1c3lcIik6dGhpcy5oKHMsXCJidXN5XCIpKX19LHRoaXMudD1mdW5jdGlvbigpe3ZhciB0PXt9O3Quc3RhcnREYXRlPWkuc3RhcnREYXRlLHQuc2VsZWN0aW9uU3RhcnQ9aS5zZWxlY3Rpb25TdGFydCx0LnNlbGVjdGlvbkVuZD1pLnNlbGVjdGlvbkVuZC5hZGREYXlzKDEpLGkuc3RhdGUudmFsdWU9SlNPTi5zdHJpbmdpZnkodCl9LHRoaXMubj1mdW5jdGlvbigpe3JldHVybih0aGlzLnNlbGVjdE1vZGV8fFwiXCIpLnRvTG93ZXJDYXNlKCl9LHRoaXMudT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc2VsZWN0aW9uRGF5fHx0aGlzLnNlbGVjdGlvblN0YXJ0O3R8fCh0PURheVBpbG90LkRhdGUudG9kYXkoKSk7dmFyIHQ9bmV3IERheVBpbG90LkRhdGUodCk7c3dpdGNoKHRoaXMubigpKXtjYXNlXCJkYXlcIjp0aGlzLnNlbGVjdGlvblN0YXJ0PXQsdGhpcy5zZWxlY3Rpb25EYXk9dCx0aGlzLnNlbGVjdGlvbkVuZD10O2JyZWFrO2Nhc2VcIndlZWtcIjp0aGlzLnNlbGVjdGlvbkRheT10LHRoaXMuc2VsZWN0aW9uU3RhcnQ9dC5maXJzdERheU9mV2VlayhhLndlZWtTdGFydHMoKSksdGhpcy5zZWxlY3Rpb25FbmQ9dGhpcy5zZWxlY3Rpb25TdGFydC5hZGREYXlzKDYpO2JyZWFrO2Nhc2VcIm1vbnRoXCI6dGhpcy5zZWxlY3Rpb25EYXk9dCx0aGlzLnNlbGVjdGlvblN0YXJ0PXQuZmlyc3REYXlPZk1vbnRoKCksdGhpcy5zZWxlY3Rpb25FbmQ9dGhpcy5zZWxlY3Rpb25TdGFydC5sYXN0RGF5T2ZNb250aCgpO2JyZWFrO2Nhc2VcIm5vbmVcIjp0aGlzLnNlbGVjdGlvbkVuZD10O2JyZWFrO2RlZmF1bHQ6dGhyb3dcIlVua25vd24gc2VsZWN0TW9kZSB2YWx1ZS5cIn19LHRoaXMudz1udWxsLHRoaXMuc2VsZWN0PWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMueilyZXR1cm4gdm9pZCh0aGlzLnc9e1wiZGF0ZVwiOnQsXCJvcHRpb25zXCI6ZX0pO3ZhciBpPSEwLHM9ITA7XCJvYmplY3RcIj09dHlwZW9mIGU/KGUuZG9udEZvY3VzJiYoaT0hMSksZS5kb250Tm90aWZ5JiYocz0hMSkpOlwiYm9vbGVhblwiPT10eXBlb2YgZSYmKGk9IWUpO3ZhciBuPXRoaXMuc2VsZWN0aW9uU3RhcnQsYT10aGlzLnNlbGVjdGlvbkVuZDt0aGlzLnNlbGVjdGlvblN0YXJ0PW5ldyBEYXlQaWxvdC5EYXRlKHQpLmdldERhdGVQYXJ0KCksdGhpcy5zZWxlY3Rpb25EYXk9dGhpcy5zZWxlY3Rpb25TdGFydDt2YXIgbD0hMTtpZihpKXt2YXIgbz10aGlzLnN0YXJ0RGF0ZTsodGhpcy5zZWxlY3Rpb25TdGFydDx0aGlzLkEoKXx8dGhpcy5zZWxlY3Rpb25TdGFydD49dGhpcy5CKCkpJiYobz10aGlzLnNlbGVjdGlvblN0YXJ0LmZpcnN0RGF5T2ZNb250aCgpKSxvLnRvU3RyaW5nU29ydGFibGUoKSE9PXRoaXMuc3RhcnREYXRlLnRvU3RyaW5nU29ydGFibGUoKSYmKGw9ITApLHRoaXMuc3RhcnREYXRlPW99dGhpcy51KCksdGhpcy5mKCksdGhpcy5iKCksdGhpcy5DKCksdGhpcy5zKCksdGhpcy50KCksIXN8fG4uZXF1YWxzKHRoaXMuc2VsZWN0aW9uU3RhcnQpJiZhLmVxdWFscyh0aGlzLnNlbGVjdGlvbkVuZCl8fHRoaXMuRCgpLGwmJnRoaXMuRSgpfSx0aGlzLnVwZGF0ZT1mdW5jdGlvbih0KXtpZighaS56KXRocm93IG5ldyBEYXlQaWxvdC5FeGNlcHRpb24oXCJZb3UgYXJlIHRyeWluZyB0byB1cGRhdGUgYSBEYXlQaWxvdC5OYXZpZ2F0b3IgaW5zdGFuY2UgdGhhdCBoYXNuJ3QgYmVlbiBpbml0aWFsaXplZCB5ZXQuXCIpO2lmKGkuRil0aHJvdyBuZXcgRGF5UGlsb3QuRXhjZXB0aW9uKFwiWW91IGFyZSB0cnlpbmcgdG8gdXBkYXRlIGEgRGF5UGlsb3QuTmF2aWdhdG9yIGluc3RhbmNlIHRoYXQgaGFzIGJlZW4gZGlzcG9zZWQuXCIpO2kuRygpLGkuSCh0KSxpLkkoKX0sdGhpcy5JPWZ1bmN0aW9uKCl7aS5jc3NPbmx5fHwoaS5jc3NPbmx5PSEwKSx0aGlzLmYoKSx0aGlzLmIoKSx0aGlzLnUoKSx0aGlzLkMoKSx0aGlzLkooKSx0aGlzLnMoKSx0aGlzLnQoKSx0aGlzLnZpc2libGU/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCl9LHRoaXMuRz1mdW5jdGlvbigpe2kuYT17fX0sdGhpcy5LPW51bGwsdGhpcy5IPWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBlPXtcImV2ZW50c1wiOntcInByZUluaXRcIjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuZGF0YTt0JiYoRGF5UGlsb3QuaXNBcnJheSh0Lmxpc3QpP2kuZXZlbnRzLmxpc3Q9dC5saXN0OmkuZXZlbnRzLmxpc3Q9dCl9fX07dGhpcy5LPWU7Zm9yKHZhciBzIGluIHQpaWYoZVtzXSl7dmFyIG49ZVtzXTtuLmRhdGE9dFtzXSxuLnByZUluaXQmJm4ucHJlSW5pdCgpfWVsc2UgaVtzXT10W3NdfX0sdGhpcy5MPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5LO2Zvcih2YXIgZSBpbiB0KXt2YXIgaT10W2VdO2kucG9zdEluaXQmJmkucG9zdEluaXQoKX19LHRoaXMuTT1mdW5jdGlvbih0LGUsaSl7dmFyIHM9e307cy5hY3Rpb249dCxzLnBhcmFtZXRlcnM9aSxzLmRhdGE9ZSxzLmhlYWRlcj10aGlzLk4oKTt2YXIgbj1cIkpTT05cIitKU09OLnN0cmluZ2lmeShzKTt0aGlzLmJhY2tlbmRVcmw/RGF5UGlsb3QucmVxdWVzdCh0aGlzLmJhY2tlbmRVcmwsdGhpcy5PLG4sdGhpcy5QKTpXZWJGb3JtX0RvQ2FsbGJhY2sodGhpcy51bmlxdWVJRCxuLHRoaXMuUSxudWxsLHRoaXMuY2FsbGJhY2tFcnJvciwhMCl9LHRoaXMuUD1mdW5jdGlvbih0KXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBpLm9uQWpheEVycm9yKXt2YXIgZT17fTtlLnJlcXVlc3Q9dCxpLm9uQWpheEVycm9yKGUpfWVsc2VcImZ1bmN0aW9uXCI9PXR5cGVvZiBpLmFqYXhFcnJvciYmaS5hamF4RXJyb3IodCl9LHRoaXMuTz1mdW5jdGlvbih0KXtpLlEodC5yZXNwb25zZVRleHQpfSx0aGlzLlI9ZnVuY3Rpb24odCxlLHMpe3ZhciBuPXt9O24uYWN0aW9uPXQsbi5wYXJhbWV0ZXJzPXMsbi5kYXRhPWUsbi5oZWFkZXI9dGhpcy5OKCk7dmFyIGE9XCJKU09OXCIrSlNPTi5zdHJpbmdpZnkobik7X19kb1Bvc3RCYWNrKGkudW5pcXVlSUQsYSl9LHRoaXMuTj1mdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0LnY9dGhpcy52LHQuc3RhcnREYXRlPXRoaXMuc3RhcnREYXRlLHQuc2VsZWN0aW9uU3RhcnQ9dGhpcy5zZWxlY3Rpb25TdGFydCx0LnNob3dNb250aHM9dGhpcy5zaG93TW9udGhzLHR9LHRoaXMuUz1mdW5jdGlvbih0LGUpe1wicmVmcmVzaFwiPT09dCYmdGhpcy5FKCl9LHRoaXMubD1mdW5jdGlvbih0KXt2YXIgZT10K2Eud2Vla1N0YXJ0cygpO3JldHVybiBlPjYmJihlLT03KSxhLmxvY2FsZSgpLmRheU5hbWVzU2hvcnRbZV19LHRoaXMubT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PXRoaXMuc2VsZWN0aW9uU3RhcnQmJm51bGwhPT10aGlzLnNlbGVjdGlvbkVuZCYmKHRoaXMuc2VsZWN0aW9uU3RhcnQuZ2V0VGltZSgpPD10LmdldFRpbWUoKSYmdC5nZXRUaW1lKCk8PXRoaXMuc2VsZWN0aW9uRW5kLmdldFRpbWUoKSl9LHRoaXMuVD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPGkubW9udGhzLmxlbmd0aDtlKyspe3ZhciBzPWkubW9udGhzW2VdO2lmKCFzKXJldHVybiBudWxsO2lmKHQueDxzLmxlZnR8fHMud2lkdGg8dC54KXJldHVybiBudWxsO2kubW9udGhzW2VdLmhlaWdodDtpZihzLnRvcDw9dC55JiZ0Lnk8cy50b3Arcy5oZWlnaHQpcmV0dXJuIGV9cmV0dXJuIG51bGx9LHRoaXMuVT1mdW5jdGlvbih0KXt2YXIgZT1EYXlQaWxvdC5tbzMoaS5uYXYudG9wLHQpLHM9aS5UKGUpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO3ZhciBuPWkubW9udGhzW3NdLGE9dGhpcy50aXRsZUhlaWdodCt0aGlzLmRheUhlYWRlckhlaWdodDtpZihuLnRvcDw9ZS55JiZlLnk8bi50b3ArYSlyZXR1cm57XCJtb250aFwiOnMsXCJ4XCI6MCxcInlcIjowLFwiY29vcmRzXCI6ZSxcImhlYWRlclwiOiEwfTtmb3IodmFyIGw9MDtsPG4uY2VsbHMubGVuZ3RoO2wrKylmb3IodmFyIG89MDtvPG4uY2VsbHNbbF0ubGVuZ3RoO28rKyl7dmFyIGg9bi5jZWxsc1tsXVtvXSxyPWgudG9wK24udG9wLGM9aC5sZWZ0K24ubGVmdDtpZihjPD1lLngmJmUueDxjK2kuY2VsbFdpZHRoJiZyPD1lLnkmJmUueTxyK2kuY2VsbEhlaWdodClyZXR1cm57XCJtb250aFwiOnMsXCJ4XCI6bCxcInlcIjpvLFwiY29vcmRzXCI6ZX19cmV0dXJuIG51bGx9LHRoaXMuVj1mdW5jdGlvbih0KXtpZihpLmZyZWVIYW5kU2VsZWN0aW9uRW5hYmxlZCl7dmFyIGU9aS5VKHQpO2UmJiFlLmhlYWRlciYmKHMuc3RhcnQ9ZSksaS5tb250aHNbZS5tb250aF0uY2VsbHNbZS54XVtlLnldLHQucHJldmVudERlZmF1bHQoKX19LHRoaXMuVz1mdW5jdGlvbih0KXtpZihzLnN0YXJ0KXt2YXIgZT1pLlUodCk7aWYocy5lbmQpcy5lbmQ9ZTtlbHNlIGlmKGUpe3ZhciBuPTMsYT1EYXlQaWxvdC5kaXN0YW5jZShzLnN0YXJ0LmNvb3JkcyxlLmNvb3Jkcyk7YT5uJiYocy5lbmQ9ZSl9cy5lbmQmJihzLmNsZWFyKCkscy5kcmF3KCkpfX0sdGhpcy5YPXt9O3ZhciBzPXRoaXMuWDtzLnN0YXJ0PW51bGwscy5kcmF3Q2VsbD1mdW5jdGlvbih0KXt2YXIgZT1pLm1vbnRoc1t0Lm1vbnRoXSxuPWkubyh0LngsdC55KSxhPWUudG9wK24ueSxsPWUubGVmdCtuLngsbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO28uc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLG8uc3R5bGUubGVmdD1sK1wicHhcIixvLnN0eWxlLnRvcD1hK1wicHhcIixvLnN0eWxlLmhlaWdodD1pLmNlbGxIZWlnaHQrXCJweFwiLG8uc3R5bGUud2lkdGg9aS5jZWxsV2lkdGgrXCJweFwiLG8uc3R5bGUuYmFja2dyb3VuZENvbG9yPVwiI2NjY1wiLG8uc3R5bGUub3BhY2l0eT0uNSxvLnN0eWxlLmN1cnNvcj1cImRlZmF1bHRcIixpLm5hdi5wcmVzZWxlY3Rpb24uYXBwZW5kQ2hpbGQobykscy5jZWxscy5wdXNoKG8pfSxzLmNsZWFyPWZ1bmN0aW9uKCl7aWYocy5jZWxscyl7Zm9yKHZhciB0PTA7dDxzLmNlbGxzLmxlbmd0aDt0KyspaS5uYXYucHJlc2VsZWN0aW9uLnJlbW92ZUNoaWxkKHMuY2VsbHNbdF0pO3MuY2VsbHM9W119fSxzLmRyYXc9ZnVuY3Rpb24oKXt2YXIgdD1zLm9yZGVyZWQoKSxlPW5ldyBuKHQuc3RhcnQpLGE9dC5lbmQ7aWYoYSl7aWYoYT09PXMuZW5kJiZhLmhlYWRlciYmYS5tb250aD4wKXthLm1vbnRoLT0xO3ZhciBsPWkubW9udGhzW2EubW9udGhdO2EueD02LGEueT1sLnJvd0NvdW50LTF9Zm9yKHMuY2VsbHM9W107IWUuaXMoYSk7KXtzLmRyYXdDZWxsKGUpO3ZhciBvPW5ldyBuKGUpLm5leHQoKTtpZighbylyZXR1cm47ZS5tb250aD1vLm1vbnRoLGUueD1vLngsZS55PW8ueX1zLmRyYXdDZWxsKGUpfX0scy5vcmRlcmVkPWZ1bmN0aW9uKCl7dmFyIHQ9cy5zdGFydCxlPXMuZW5kLGk9e307cmV0dXJuIWV8fG5ldyBuKHQpLmJlZm9yZShlKT8oaS5zdGFydD10LGkuZW5kPWUpOihpLnN0YXJ0PWUsaS5lbmQ9dCksaX07dmFyIG49ZnVuY3Rpb24odCxlLHMpe2lmKHQgaW5zdGFuY2VvZiBuKXJldHVybiB0O2lmKFwib2JqZWN0XCI9PXR5cGVvZiB0KXt2YXIgYT10O3RoaXMubW9udGg9YS5tb250aCx0aGlzLng9YS54LHRoaXMueT1hLnl9ZWxzZSB0aGlzLm1vbnRoPXQsdGhpcy54PWUsdGhpcy55PXM7dGhpcy5pcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tb250aD09PXQubW9udGgmJnRoaXMueD09PXQueCYmdGhpcy55PT09dC55fSx0aGlzLm5leHQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHQueDw2KXJldHVybntcIm1vbnRoXCI6dC5tb250aCxcInhcIjp0LngrMSxcInlcIjp0Lnl9O3ZhciBlPWkubW9udGhzW3QubW9udGhdO3JldHVybiB0Lnk8ZS5yb3dDb3VudC0xP3tcIm1vbnRoXCI6dC5tb250aCxcInhcIjowLFwieVwiOnQueSsxfTp0Lm1vbnRoPGkubW9udGhzLmxlbmd0aC0xP3tcIm1vbnRoXCI6dC5tb250aCsxLFwieFwiOjAsXCJ5XCI6MH06bnVsbH0sdGhpcy52aXNpYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jZWxsKCk7cmV0dXJuISF0LmlzQ3VycmVudE1vbnRofHwoISghdC5pc1ByZXZNb250aHx8IXQuc2hvd0JlZm9yZSl8fCEoIXQuaXNOZXh0TW9udGh8fCF0LnNob3dBZnRlcikpfSx0aGlzLm5leHRWaXNpYmxlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXM7IXQudmlzaWJsZSgpOyl7dmFyIGU9dC5uZXh0KCk7aWYoIWUpcmV0dXJuIG51bGw7dD1uZXcgbihlKX1yZXR1cm4gdH0sdGhpcy5wcmV2aW91cz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYodC54PjApcmV0dXJue1wibW9udGhcIjp0Lm1vbnRoLFwieFwiOnQueC0xLFwieVwiOnQueX07aS5tb250aHNbdC5tb250aF07aWYodC55PjApcmV0dXJue1wibW9udGhcIjp0Lm1vbnRoLFwieFwiOjYsXCJ5XCI6dC55LTF9O2lmKHQubW9udGg+MCl7dmFyIGU9aS5tb250aHNbdC5tb250aC0xXTtyZXR1cm57XCJtb250aFwiOnQubW9udGgtMSxcInhcIjo2LFwieVwiOmUucm93Q291bnQtMX19cmV0dXJuIG51bGx9LHRoaXMucHJldmlvdXNWaXNpYmxlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXM7IXQudmlzaWJsZSgpOyl7dmFyIGU9dC5wcmV2aW91cygpO2lmKCFlKXJldHVybiBudWxsO3Q9bmV3IG4oZSl9cmV0dXJuIHR9LHRoaXMuY2VsbD1mdW5jdGlvbigpe3JldHVybiBpLm1vbnRoc1t0aGlzLm1vbnRoXS5jZWxsc1t0aGlzLnhdW3RoaXMueV19LHRoaXMuZGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNlbGwoKS5kYXl9LHRoaXMuYmVmb3JlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRhdGUoKTxuZXcgbih0KS5kYXRlKCl9fTt0aGlzLnA9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJlbnROb2RlLHM9dGhpcy5wYXJlbnROb2RlLm1vbnRoLG49dGhpcy54LGE9dGhpcy55LGw9cy5jZWxsc1tuXVthXS5kYXk7aWYocy5jZWxsc1tuXVthXS5pc0NsaWNrYWJsZSl7aS5jbGVhclNlbGVjdGlvbigpLGkuc2VsZWN0aW9uRGF5PWw7dmFyIGw9aS5zZWxlY3Rpb25EYXk7c3dpdGNoKGkubigpKXtjYXNlXCJub25lXCI6aS5zZWxlY3Rpb25TdGFydD1sLGkuc2VsZWN0aW9uRW5kPWw7YnJlYWs7Y2FzZVwiZGF5XCI6aWYoaS5hdXRvRm9jdXNPbkNsaWNrKXt2YXIgbz1sO2lmKGw8aS5BKCl8fGw+PWkuQigpKXJldHVybiB2b2lkIGkuc2VsZWN0KGwpfXZhciBoPXMuY2VsbHNbbl1bYV07aS5xKGUsbixhKSxpLnNlbGVjdGVkLnB1c2goaCksaS5zZWxlY3Rpb25TdGFydD1oLmRheSxpLnNlbGVjdGlvbkVuZD1oLmRheTticmVhaztjYXNlXCJ3ZWVrXCI6aWYoaS5hdXRvRm9jdXNPbkNsaWNrKXt2YXIgbz1zLmNlbGxzWzBdW2FdLmRheSxyPXMuY2VsbHNbNl1bYV0uZGF5O2lmKG8uZmlyc3REYXlPZk1vbnRoKCk9PT1yLmZpcnN0RGF5T2ZNb250aCgpJiYobzxpLkEoKXx8cj49aS5CKCkpKXJldHVybiB2b2lkIGkuc2VsZWN0KGwpfWZvcih2YXIgYz0wO2M8NztjKyspaS5xKGUsYyxhKSxpLnNlbGVjdGVkLnB1c2gocy5jZWxsc1tjXVthXSk7aS5zZWxlY3Rpb25TdGFydD1zLmNlbGxzWzBdW2FdLmRheSxpLnNlbGVjdGlvbkVuZD1zLmNlbGxzWzZdW2FdLmRheTticmVhaztjYXNlXCJtb250aFwiOmlmKGkuYXV0b0ZvY3VzT25DbGljayl7dmFyIG89bDtpZihsPGkuQSgpfHxsPj1pLkIoKSlyZXR1cm4gdm9pZCBpLnNlbGVjdChsKX1mb3IodmFyIG89bnVsbCxyPW51bGwsYT0wO2E8NjthKyspZm9yKHZhciBuPTA7bjw3O24rKyl7dmFyIGg9cy5jZWxsc1tuXVthXTtoJiZoLmRheS5nZXRZZWFyKCk9PT1sLmdldFllYXIoKSYmaC5kYXkuZ2V0TW9udGgoKT09PWwuZ2V0TW9udGgoKSYmKGkucShlLG4sYSksaS5zZWxlY3RlZC5wdXNoKGgpLG51bGw9PT1vJiYobz1oLmRheSkscj1oLmRheSl9aS5zZWxlY3Rpb25TdGFydD1vLGkuc2VsZWN0aW9uRW5kPXI7YnJlYWs7ZGVmYXVsdDp0aHJvd1widW5rbm93biBzZWxlY3RNb2RlXCJ9aS50KCksaS5EKCl9fSx0aGlzLkQ9ZnVuY3Rpb24odCl7dmFyIGU9aS5zZWxlY3Rpb25TdGFydCxzPWkuc2VsZWN0aW9uRW5kLmFkZERheXMoMSksbj1EYXlQaWxvdC5EYXRlVXRpbC5kYXlzRGlmZihlLHMpLGE9aS5zZWxlY3Rpb25EYXk7aWYodD10fHx7fSxpLmUoKSl7dmFyIGw9e307aWYobC5zdGFydD1lLGwuZW5kPXMsbC5kYXk9YSxsLmRheXM9bixsLm1vZGU9dC5tb2RlfHxpLnNlbGVjdE1vZGUsbC5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMucHJldmVudERlZmF1bHQudmFsdWU9ITB9LFwiZnVuY3Rpb25cIj09dHlwZW9mIGkub25UaW1lUmFuZ2VTZWxlY3QmJihpLm9uVGltZVJhbmdlU2VsZWN0KGwpLGwucHJldmVudERlZmF1bHQudmFsdWUpKXJldHVybjtzd2l0Y2goaS50aW1lUmFuZ2VTZWxlY3RlZEhhbmRsaW5nKXtjYXNlXCJCaW5kXCI6aWYoXCJvYmplY3RcIj09dHlwZW9mIGJvdW5kKXt2YXIgbz17fTtvLnN0YXJ0PWUsby5lbmQ9cyxvLmRheXM9bixvLmRheT1hLGJvdW5kLmNvbW1hbmRDYWxsQmFjayhpLmNvbW1hbmQsbyl9YnJlYWs7Y2FzZVwiTm9uZVwiOmJyZWFrO2Nhc2VcIlBvc3RCYWNrXCI6aS50aW1lUmFuZ2VTZWxlY3RlZFBvc3RCYWNrKGUscyxhKX1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpLm9uVGltZVJhbmdlU2VsZWN0ZWQmJmkub25UaW1lUmFuZ2VTZWxlY3RlZChsKX1lbHNlIHN3aXRjaChpLnRpbWVSYW5nZVNlbGVjdGVkSGFuZGxpbmcpe2Nhc2VcIkJpbmRcIjppZihcIm9iamVjdFwiPT10eXBlb2YgYm91bmQpe3ZhciBvPXt9O28uc3RhcnQ9ZSxvLmVuZD1zLG8uZGF5cz1uLG8uZGF5PWEsYm91bmQuY29tbWFuZENhbGxCYWNrKGkuY29tbWFuZCxvKX1icmVhaztjYXNlXCJKYXZhU2NyaXB0XCI6aS5vblRpbWVSYW5nZVNlbGVjdGVkKGUscyxhKTticmVhaztjYXNlXCJOb25lXCI6YnJlYWs7Y2FzZVwiUG9zdEJhY2tcIjppLnRpbWVSYW5nZVNlbGVjdGVkUG9zdEJhY2soZSxzLGEpfX0sdGhpcy50aW1lUmFuZ2VTZWxlY3RlZFBvc3RCYWNrPWZ1bmN0aW9uKHQsZSxpLHMpe3ZhciBuPXt9O24uc3RhcnQ9dCxuLmVuZD1lLG4uZGF5PXMsdGhpcy5SKFwiVGltZVJhbmdlU2VsZWN0ZWRcIixpLG4pfSx0aGlzLms9ZnVuY3Rpb24odCl7aS5ZKGkuc2tpcE1vbnRocyl9LHRoaXMuaj1mdW5jdGlvbih0KXtpLlkoLWkuc2tpcE1vbnRocyl9LHRoaXMuWT1mdW5jdGlvbih0KXt0aGlzLnN0YXJ0RGF0ZT10aGlzLnN0YXJ0RGF0ZS5hZGRNb250aHModCksdGhpcy5mKCksdGhpcy5iKCksdGhpcy5DKCksdGhpcy50KCksdGhpcy5FKCksdGhpcy5zKCl9LHRoaXMuQT1mdW5jdGlvbigpe3JldHVybiBpLnN0YXJ0RGF0ZS5maXJzdERheU9mTW9udGgoKX0sdGhpcy5CPWZ1bmN0aW9uKCl7cmV0dXJuIGkuc3RhcnREYXRlLmZpcnN0RGF5T2ZNb250aCgpLmFkZE1vbnRocyh0aGlzLnNob3dNb250aHMpfSx0aGlzLnZpc2libGVTdGFydD1mdW5jdGlvbigpe3JldHVybiBpLnN0YXJ0RGF0ZS5maXJzdERheU9mTW9udGgoKS5maXJzdERheU9mV2VlayhhLndlZWtTdGFydHMoKSl9LHRoaXMudmlzaWJsZUVuZD1mdW5jdGlvbigpe3JldHVybiBpLnN0YXJ0RGF0ZS5maXJzdERheU9mTW9udGgoKS5hZGRNb250aHModGhpcy5zaG93TW9udGhzLTEpLmZpcnN0RGF5T2ZXZWVrKGEud2Vla1N0YXJ0cygpKS5hZGREYXlzKDQyKX0sdGhpcy5FPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52aXNpYmxlU3RhcnQoKSxlPXRoaXMudmlzaWJsZUVuZCgpO2lmKGkuZSgpKXt2YXIgcz17fTtpZihzLnN0YXJ0PXQscy5lbmQ9ZSxzLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5wcmV2ZW50RGVmYXVsdC52YWx1ZT0hMH0sXCJmdW5jdGlvblwiPT10eXBlb2YgaS5vblZpc2libGVSYW5nZUNoYW5nZSYmKGkub25WaXNpYmxlUmFuZ2VDaGFuZ2Uocykscy5wcmV2ZW50RGVmYXVsdC52YWx1ZSkpcmV0dXJuO3N3aXRjaCh0aGlzLnZpc2libGVSYW5nZUNoYW5nZWRIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjp0aGlzLnZpc2libGVSYW5nZUNoYW5nZWRDYWxsQmFjayhudWxsKTticmVhaztjYXNlXCJQb3N0QmFja1wiOnRoaXMudmlzaWJsZVJhbmdlQ2hhbmdlZFBvc3RCYWNrKG51bGwpO2JyZWFrO2Nhc2VcIkRpc2FibGVkXCI6fVwiZnVuY3Rpb25cIj09dHlwZW9mIGkub25WaXNpYmxlUmFuZ2VDaGFuZ2VkJiZpLm9uVmlzaWJsZVJhbmdlQ2hhbmdlZChzKX1lbHNlIHN3aXRjaCh0aGlzLnZpc2libGVSYW5nZUNoYW5nZWRIYW5kbGluZyl7Y2FzZVwiQ2FsbEJhY2tcIjp0aGlzLnZpc2libGVSYW5nZUNoYW5nZWRDYWxsQmFjayhudWxsKTticmVhaztjYXNlXCJQb3N0QmFja1wiOnRoaXMudmlzaWJsZVJhbmdlQ2hhbmdlZFBvc3RCYWNrKG51bGwpO2JyZWFrO2Nhc2VcIkphdmFTY3JpcHRcIjp0aGlzLm9uVmlzaWJsZVJhbmdlQ2hhbmdlZCh0LGUpO2JyZWFrO2Nhc2VcIkRpc2FibGVkXCI6fX0sdGhpcy52aXNpYmxlUmFuZ2VDaGFuZ2VkQ2FsbEJhY2s9ZnVuY3Rpb24odCl7dmFyIGU9e307dGhpcy5NKFwiVmlzaWJsZVwiLHQsZSl9LHRoaXMudmlzaWJsZVJhbmdlQ2hhbmdlZFBvc3RCYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXt9O3RoaXMuUihcIlZpc2libGVcIix0LGUpfSx0aGlzLlE9ZnVuY3Rpb24odCxlKXt2YXIgdD1KU09OLnBhcnNlKHQpO2kuaXRlbXM9dC5JdGVtcyxpLmNlbGxzPXQuQ2VsbHMsaS5jZWxscz9pLnVwZGF0ZSgpOmkucygpfSx0aGlzLkM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMuc2hvd01vbnRoczt0Kyspe3ZhciBlPXRoaXMuWih0KTt0aGlzLmkodCxlKX10aGlzLnJvb3Quc3R5bGUuaGVpZ2h0PXRoaXMuJCgpK1wicHhcIix0aGlzLm5hdi5wcmVzZWxlY3Rpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0aGlzLm5hdi5wcmVzZWxlY3Rpb24uc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHRoaXMubmF2LnByZXNlbGVjdGlvbi5zdHlsZS5sZWZ0PVwiMHB4XCIsdGhpcy5uYXYucHJlc2VsZWN0aW9uLnN0eWxlLnRvcD1cIjBweFwiLHRoaXMucm9vdC5hcHBlbmRDaGlsZCh0aGlzLm5hdi5wcmVzZWxlY3Rpb24pfSx0aGlzLiQ9ZnVuY3Rpb24oKXtpZihcIkhvcml6b250YWxcIj09PXRoaXMub3JpZW50YXRpb24pe2Zvcih2YXIgdD0wLGU9MDtlPHRoaXMubW9udGhzLmxlbmd0aDtlKyspe3ZhciBpPXRoaXMubW9udGhzW2VdO2kuaGVpZ2h0PnQmJih0PWkuaGVpZ2h0KX1yZXR1cm4gdH1mb3IodmFyIHM9MCxlPTA7ZTx0aGlzLm1vbnRocy5sZW5ndGg7ZSsrKXt2YXIgaT10aGlzLm1vbnRoc1tlXTtzKz1pLmhlaWdodH1yZXR1cm4gc30sdGhpcy5aPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaW50ZXJuYWwuc2hvd0xpbmtzKXJldHVybiB0aGlzLmludGVybmFsLnNob3dMaW5rczt2YXIgZT17fTtyZXR1cm4gZS5sZWZ0PTA9PT10LGUucmlnaHQ9MD09PXQsZS5iZWZvcmU9MD09PXQsZS5hZnRlcj10PT09dGhpcy5zaG93TW9udGhzLTEsXCJIb3Jpem9udGFsXCI9PT10aGlzLm9yaWVudGF0aW9uJiYoZS5yaWdodD10PT09dGhpcy5zaG93TW9udGhzLTEpLGV9LHRoaXMuXz17fSx0aGlzLl8uc2NvcGU9bnVsbCx0aGlzLl8ubm90aWZ5PWZ1bmN0aW9uKCl7aS5fLnNjb3BlJiZpLl8uc2NvcGVbXCIkYXBwbHlcIl0oKX0sdGhpcy5pbnRlcm5hbD17fSx0aGlzLmludGVybmFsLmluaXRpYWxpemVkPWZ1bmN0aW9uKCl7cmV0dXJuIGkuen0sdGhpcy5hYT17fTt2YXIgYT10aGlzLmFhO2EubG9jYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIERheVBpbG90LkxvY2FsZS5maW5kKGkubG9jYWxlKX0sYS53ZWVrU3RhcnRzPWZ1bmN0aW9uKCl7aWYoXCJBdXRvXCI9PT1pLndlZWtTdGFydHMpe3ZhciB0PWEubG9jYWxlKCk7cmV0dXJuIHQ/dC53ZWVrU3RhcnRzOjB9cmV0dXJuIGkud2Vla1N0YXJ0c30sYS5jZWxsV2lkdGg9ZnVuY3Rpb24oKXtpZihpLmEuY2VsbFdpZHRoKXJldHVybiBpLmEuY2VsbFdpZHRoO3ZhciB0PWkuYmEoXCJfY2VsbF9kaW1lbnNpb25zXCIpLndpZHRoO3JldHVybiB0fHwodD1pLmNlbGxXaWR0aCksaS5hLmNlbGxXaWR0aD10LHR9LHRoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMuc2VsZWN0ZWQubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5zZWxlY3RlZFt0XTtpLnIoZS5wYXJlbnROb2RlLGUueCxlLnkpfXRoaXMuc2VsZWN0ZWQ9W119LHRoaXMuY2E9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuYmFja2VuZFVybCYmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBpLml0ZW1zfHwhaS5pdGVtcyl9LHRoaXMuZXZlbnRzPXt9LHRoaXMuSj1mdW5jdGlvbigpe2lmKERheVBpbG90LmlzQXJyYXkodGhpcy5ldmVudHMubGlzdCkpe3RoaXMuaXRlbXM9e307Zm9yKHZhciB0PTA7dDx0aGlzLmV2ZW50cy5saXN0Lmxlbmd0aDt0Kyspe3ZhciBlPXRoaXMuZXZlbnRzLmxpc3RbdF07aWYoIWUuaGlkZGVuKXt2YXIgaT10aGlzLmRhKGUpO2Zvcih2YXIgcyBpbiBpKXRoaXMuaXRlbXNbc109MX19fX0sdGhpcy5iYT1mdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Uuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGUuc3R5bGUudG9wPVwiLTIwMDBweFwiLGUuc3R5bGUubGVmdD1cIi0yMDAwcHhcIixlLmNsYXNzTmFtZT10aGlzLmModCk7dmFyIHM9aS5yb290fHxkb2N1bWVudC5ib2R5O3MuYXBwZW5kQ2hpbGQoZSk7dmFyIG49ZS5vZmZzZXRIZWlnaHQsYT1lLm9mZnNldFdpZHRoO3MucmVtb3ZlQ2hpbGQoZSk7dmFyIGw9e307cmV0dXJuIGwuaGVpZ2h0PW4sbC53aWR0aD1hLGx9LHRoaXMuZGE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBEYXlQaWxvdC5EYXRlKHQuc3RhcnQpLGk9bmV3IERheVBpbG90LkRhdGUodC5lbmQpLHM9e30sbj1lLmdldERhdGVQYXJ0KCk7bi5nZXRUaW1lKCk8aS5nZXRUaW1lKCk7KXNbbi50b1N0cmluZ1NvcnRhYmxlKCldPTEsbj1uLmFkZERheXMoMSk7cmV0dXJuIHN9LHRoaXMuc2hvdz1mdW5jdGlvbigpe2kudmlzaWJsZT0hMCxpLnJvb3Quc3R5bGUuZGlzcGxheT1cIlwifSx0aGlzLmhpZGU9ZnVuY3Rpb24oKXtpLnZpc2libGU9ITEsaS5yb290LnN0eWxlLmRpc3BsYXk9XCJub25lXCJ9LHRoaXMuZWE9ZnVuY3Rpb24oKXtpZih0aGlzLmlkJiZ0aGlzLmlkLnRhZ05hbWUpdGhpcy5uYXYudG9wPXRoaXMuaWQ7ZWxzZXtpZihcInN0cmluZ1wiIT10eXBlb2YgdGhpcy5pZCl0aHJvd1wiRGF5UGlsb3QuTmF2aWdhdG9yKCkgY29uc3RydWN0b3IgcmVxdWlyZXMgdGhlIHRhcmdldCBlbGVtZW50IG9yIGl0cyBJRCBhcyBhIHBhcmFtZXRlclwiO2lmKHRoaXMubmF2LnRvcD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSwhdGhpcy5uYXYudG9wKXRocm93XCJEYXlQaWxvdC5OYXZpZ2F0b3I6IFRoZSBwbGFjZWhvbGRlciBlbGVtZW50IG5vdCBmb3VuZDogJ1wiK3QrXCInLlwifXRoaXMucm9vdD10aGlzLm5hdi50b3B9LHRoaXMuaW5pdD1mdW5jdGlvbigpe2lmKHRoaXMuZWEoKSwhdGhpcy5yb290LmRwKXtpLmNzc09ubHl8fChpLmNzc09ubHk9ITAsRGF5UGlsb3QuVXRpbC5sb2coXCJEYXlQaWxvdDogY3NzT25seSA9IGZhbHNlIG1vZGUgaXMgbm90IHN1cHBvcnRlZCBzaW5jZSBEYXlQaWxvdCBQcm8gOC4wLlwiKSksdGhpcy51KCksdGhpcy5iKCksdGhpcy5DKCksdGhpcy5KKCksdGhpcy5zKCksdGhpcy5mYSgpLHRoaXMuZ2EoKSx0aGlzLmhhKCk7cmV0dXJuIHRoaXMuY2EoKSYmdGhpcy5FKCksdGhpcy56PSEwLHRoaXMuTCgpLHRoaXMudyYmKHRoaXMuc2VsZWN0KHRoaXMudy5kYXRlLHRoaXMudy5vcHRpb25zKSx0aGlzLnc9bnVsbCksdGhpc319LHRoaXMuZ2E9ZnVuY3Rpb24oKXtpLm5hdi50b3Aub25tb3VzZWRvd249dGhpcy5WLGkubmF2LnRvcC5vbm1vdXNlbW92ZT10aGlzLld9LHRoaXMuaGE9ZnVuY3Rpb24oKXtEYXlQaWxvdC5yZShkb2N1bWVudCxcIm1vdXNldXBcIixpLmlhKX0sdGhpcy5pYT1mdW5jdGlvbih0KXtpZihzLnN0YXJ0JiZzLmVuZCl7dmFyIGU9RGF5UGlsb3QubW8zKGkubmF2LnRvcCx0KTtpZihlLng9PT1zLnN0YXJ0LmNvb3Jkcy54JiZlLnk9PT1zLnN0YXJ0LmNvb3Jkcy55KXJldHVybiBzLnN0YXJ0PW51bGwsdm9pZCBzLmNsZWFyKCk7cy5jbGVhcigpO3ZhciBhPXMub3JkZXJlZCgpO2Euc3RhcnQ9bmV3IG4oYS5zdGFydCkubmV4dFZpc2libGUoKSxhLmVuZD1uZXcgbihhLmVuZCkucHJldmlvdXNWaXNpYmxlKCksaS5zZWxlY3Rpb25EYXk9bmV3IG4oYS5zdGFydCkuZGF0ZSgpLGkuc2VsZWN0aW9uU3RhcnQ9aS5zZWxlY3Rpb25EYXksaS5zZWxlY3Rpb25FbmQ9bmV3IG4oYS5lbmQpLmRhdGUoKSxzLnN0YXJ0PW51bGwscy5lbmQ9bnVsbCxpLmYoKSxpLmIoKSxpLkMoKSxpLnMoKSxpLnQoKTtpLkQoe1wibW9kZVwiOlwiRnJlZUhhbmRcIn0pfXMuc3RhcnQ9bnVsbCxzLmVuZD1udWxsfSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD1pO3Qucm9vdCYmKHQucm9vdC5yZW1vdmVBdHRyaWJ1dGUoXCJzdHlsZVwiKSx0LnJvb3QucmVtb3ZlQXR0cmlidXRlKFwiY2xhc3NcIiksdC5yb290LmRwPW51bGwsdC5yb290LmlubmVySFRNTD1udWxsLHQucm9vdD1udWxsKX0sdGhpcy5mYT1mdW5jdGlvbigpe3RoaXMucm9vdC5kaXNwb3NlPXRoaXMuZGlzcG9zZX0sdGhpcy5Jbml0PXRoaXMuaW5pdCx0aGlzLkgoZSl9LFwidW5kZWZpbmVkXCIhPXR5cGVvZiBqUXVlcnkmJiFmdW5jdGlvbih0KXt0LmZuLmRheXBpbG90TmF2aWdhdG9yPWZ1bmN0aW9uKHQpe3ZhciBlPW51bGwsaT10aGlzLmVhY2goZnVuY3Rpb24oKXtpZighdGhpcy5kYXlwaWxvdCl7dmFyIGk9bmV3IERheVBpbG90Lk5hdmlnYXRvcih0aGlzLmlkKTt0aGlzLmRheXBpbG90PWk7Zm9yKHZhciBzIGluIHQpaVtzXT10W3NdO2kuSW5pdCgpLGV8fChlPWkpfX0pO3JldHVybiAxPT09dGhpcy5sZW5ndGg/ZTppfX0oalF1ZXJ5KSxmdW5jdGlvbigpe3ZhciB0PURheVBpbG90LmFtKCk7dCYmdC5kaXJlY3RpdmUoXCJkYXlwaWxvdE5hdmlnYXRvclwiLFtcIiRwYXJzZVwiLGZ1bmN0aW9uKHQpe3JldHVybntcInJlc3RyaWN0XCI6XCJFXCIsXCJ0ZW1wbGF0ZVwiOlwiPGRpdiBpZD0ne3tpZH19Jz48L2Rpdj5cIixcImNvbXBpbGVcIjpmdW5jdGlvbihlLGkpe3JldHVybiBlLnJlcGxhY2VXaXRoKHRoaXNbXCJ0ZW1wbGF0ZVwiXS5yZXBsYWNlKFwie3tpZH19XCIsaVtcImlkXCJdKSksZnVuY3Rpb24oZSxpLHMpe3ZhciBuPW5ldyBEYXlQaWxvdC5OYXZpZ2F0b3IoaVswXSk7bi5fLnNjb3BlPWUsbi5pbml0KCk7dmFyIGE9c1tcImlkXCJdO2EmJihlW2FdPW4pO3ZhciBsPXNbXCJwdWJsaXNoQXNcIl07aWYobCl7KDAsdChsKS5hc3NpZ24pKGUsbil9Zm9yKHZhciBvIGluIHMpaWYoMD09PW8uaW5kZXhPZihcIm9uXCIpKXt2YXIgaD1EYXlQaWxvdC5VdGlsLnNob3VsZEFwcGx5KG8pO2g/IWZ1bmN0aW9uKGkpe25baV09ZnVuY3Rpb24obil7dmFyIGE9dChzW2ldKTtlW1wiJGFwcGx5XCJdKGZ1bmN0aW9uKCl7YShlLHtcImFyZ3NcIjpufSl9KX19KG8pOiFmdW5jdGlvbihpKXtuW2ldPWZ1bmN0aW9uKG4pe3Qoc1tpXSkoZSx7XCJhcmdzXCI6bn0pfX0obyl9dmFyIHI9ZVtcIiR3YXRjaFwiXSxjPXNbXCJjb25maWdcIl18fHNbXCJkYXlwaWxvdENvbmZpZ1wiXSxkPXNbXCJldmVudHNcIl18fHNbXCJkYXlwaWxvdEV2ZW50c1wiXTtyLmNhbGwoZSxjLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIHQpbltpXT10W2ldO24udXBkYXRlKCl9LCEwKSxyLmNhbGwoZSxkLGZ1bmN0aW9uKHQpe24uZXZlbnRzLmxpc3Q9dCxuLkooKSxuLnMoKX0sITApfX19fV0pfSgpLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeXMmJlN5cy5BcHBsaWNhdGlvbiYmU3lzLkFwcGxpY2F0aW9uLm5vdGlmeVNjcmlwdExvYWRlZCYmU3lzLkFwcGxpY2F0aW9uLm5vdGlmeVNjcmlwdExvYWRlZCgpfX0oKTsiXX0=
|